Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2012, 01:13   #21
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
Я внимательно прочитал то, что вы написали, и так-же повторюсь, что при "конвертации" (назовем это так) из команд интерпретируемого языка простейшего действия - сложения переменной с константой понадобится раза в два больше ассемблерных инструкций процессора, чем если бы эта же операция производилась на ассемблере (си) без всякой виртуализации. Завтра (сегодня уже ночь у нас в Москве), скорее всего смогу вам доказать это на примере - покажу листинг с обычного Си и обычного Си# в момент, когда уже исполняется бинарный код (после JIt).
Ну а кто спорит с этим? Вам уже не только я говорим, что после этой самой конвертации никаких потерь, а конвертация происходит ничтожное количество раз, т.е. выйгрыш на лицо.

Что касается
Цитата:
А что это объясняет, если не секрет?
Объясняет то, что
Цитата:
-Вы еще не работали в компании софтверной, не так ли?
- Нет, не работал. Я грузчиком работаю.
BOBAH13 вне форума Ответить с цитированием
Старый 05.09.2012, 01:13   #22
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
вы не понимаете, как распределяется память, как она выделяется и как она освобождается. Вы пишите алгоритм, не понимая базовых принципов работы процессора
Это еще не ужас. Ужас когда каменьщик ложит кирпичи, а из какой местности глина из которой сделан кирпичь не знает. Это даже не ужас - катастрофа.
Цитата:
Все то, что интерпретируется, или вызывает процедуру, которая вызывает процедуру - это снижение скорости. В случае интерпретатора - сильное снижение скорости, поскольку это можно сравнить с эмуляцией. Ну разве это не так?
Это не просто не так, это дааалеко как не так.
Цитата:
Зачем вы заставляете нас (пользователей) все время апгрейдить компы?
Селяви такое, и производителей машин тоже людиподдерживают, постоянно заставляя покупать все навороченнее тачки, а ведь на дачу можно и на москвиче 412(например) доехать и по скорости будет тоже самое, ан нет, подавай им вишь мерседес, тфу ты..
eval вне форума Ответить с цитированием
Старый 05.09.2012, 01:24   #23
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

PS: Да, добавлю: мне вот мерседес не нравится, мне pagani zonda ближе..
eval вне форума Ответить с цитированием
Старый 05.09.2012, 09:27   #24
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
Зачем, ну зачем вы используете различные фреймворки (что, по сути, является надстройками, процедурами в красивой обертке над стандартными процедурами языка) и различные интерпретируемые языки в программировании (ява, C#, PHP, Perl, Tcl, да тысячи их)??? Многие говорят, что тем самым они оберегают код от возникновения непредвиденной ошибки, как то, к примеру, - утечка памяти.
Скорость и цена разработки. Если бы всё писалось на С или тем более на асме, простые проекты делались бы годами и стоили бы огромных денег. При таком раскладе, надо было бы платить за электронную почту так как она встала бы разработчику в целое состояние!

Цитата:
Но ведь, если вы не можете контролировать ошибки - вы что-то не понимаете в программировании, вы не понимаете, как распределяется память, как она выделяется и как она освобождается. Вы пишите алгоритм, не понимая базовых принципов работы процессора, да и вашего алгоритма в целом, если вы не можете контролировать, что будет происходить с памятью в результате его (алгоритма) выполнения.
Вы не понимаете БАЗОВЫХ принципов инженерного дела!
Вы думаете главный конструктор самолёта, знает о том как функционирует всё? Нет. Каждый инженер выполняет свою часть работы в общей задаче, имея только нужные ему входные данные.

Цитата:
Имхо, вы тем самым, поддерживаете производителей процессоров, которым выгодно увеличивать скорость пускай хоть на сотню мегагерц быстрее. Заставляете конечного потребителя покупать все новые и новые процессоры.
У меня как у конечного потребителя, сейчас Р4 3Hz и видео карта ATI на AGP. У меня есть мысль поменять его на моноблок, тк этот занимает много места. Недостатка производительности я не ощущаю.

Опять же пловина перечисленных вами языков внезапно выполняется на сервере и к потребителю никакго отношения не имеет.

Цитата:
Хотя задача, которую вы написали, для примера, на PHP с использованием двух-трех сторонних библиотек и подключив пару другую модулей, отдельный SQL-сервер и прочее, могла была быть решена на обычном четвертом пне будь она написана на си с самодельной простенькой БД.
Десткий сад. PHP не выполняется на стороне клиента.
Сколько вы будете писать БД, которая поддерживает стандарт SQL92?
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 05.09.2012, 10:24   #25
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Кроме того, интерпретируемые языки не такие уже и интерпретируемые. Ява компилится, c# компилится (под линь), Руби местами компилится (под линь, через трансляцию в Ява и Си), Scheme компилится, Бейсик и то сплошь компилится. Как говорится было бы желание.
А вообще видение вопроса неправильное. Знание всяких мелочей, не связанных с решаемой задачей это зло порождающее бесконечное число ошибок. Если я пишу калькулятор я не должен знать как выделяется память, потому что это не связано с моей задачей. Лишняя информация наоборот только вредит и мешает работе. Сейчас вообще идет тенденция ухода от прямого использования ссылок, прямого выделения памяти и т.д..

Цитата:
Я внимательно прочитал то, что вы написали, и так-же повторюсь, что при "конвертации" (назовем это так) из команд интерпретируемого языка простейшего действия - сложения переменной с константой понадобится раза в два больше ассемблерных инструкций процессора, чем если бы эта же операция производилась на ассемблере (си) без всякой виртуализации. Завтра (сегодня уже ночь у нас в Москве), скорее всего смогу вам доказать это на примере - покажу листинг с обычного Си и обычного Си# в момент, когда уже исполняется бинарный код (после JIt).
Большинство задач прикладного значения (а не задачи порожденные программистами для решения программистами) не требуют максимальной производительности. Например, тот же калькулятор, даже если он будет работать на тысячу наносекунд быстрей, человек этого все равно не увидит. Ну а драйвера и оси (хотя ядра сейчас тоже вроде машинонезависимые) обычно пишут не на интерпретируемых языках.
Цитата:
Вы пишите алгоритм, не понимая базовых принципов работы процессора, да и вашего алгоритма в целом, если вы не можете контролировать, что будет происходить с памятью в результате его (алгоритма) выполнения.
Про это Вам тоже правильно написали. Бил Гейтс тоже не знает каждую строчку кода винды, однако винда работает (хотя и с косяками), хотя я думаю что даже если под его руководством и существует мелкософт он при разработке винды фирмой пальцем о пробел ни разу не ударил. Также как Вы программируете команды процессора, но можете ли Вы сказать за что отвечает каждый из 30 млн. транзисторов, из которых он состоит?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 05.09.2012 в 10:45.
Utkin вне форума Ответить с цитированием
Старый 05.09.2012, 10:48   #26
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
А что это объясняет, если не секрет?

Я внимательно прочитал то, что вы написали, и так-же повторюсь, что при "конвертации" (назовем это так) из команд интерпретируемого языка простейшего действия - сложения переменной с константой понадобится раза в два больше ассемблерных инструкций процессора, чем если бы эта же операция производилась на ассемблере (си) без всякой виртуализации. Завтра (сегодня уже ночь у нас в Москве), скорее всего смогу вам доказать это на примере - покажу листинг с обычного Си и обычного Си# в момент, когда уже исполняется бинарный код (после JIt).
На ассемблере правда выполняется все быстрее. И что? Кто увидит эти микросекунды? А вот потраченное время разработчика увидят все. На мой взгляд большинству программ хватает вычислительных мощностей, хотя некоторое ПО не мешало бы оптимизировать получше. Можно долго спорить что лучше, когда программа быстрее работает или быстрее создается. Для разработчика важно второе, а для пользователя с современным ПК разницы особой не будет на ассемблере ли написана программа или на си шарп, например. Но вот на ассемблере обновлений программы придется ждать годы
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 05.09.2012, 10:55   #27
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

На чем угодно можно написать тормоза..
eval вне форума Ответить с цитированием
Старый 05.09.2012, 12:57   #28
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Да и языки программирования возникают и используются не с пустого места, а из-за необходимости. Конечно есть любительские разработки, лабораторные исследования, но c#, ява и прочие есть как раз языки используемые массово. То есть в них нуждаются. В свое время язык Си и С++ были актуальны - не было удобных и эффективных инструментов. Алгол был не так распространен (и на тот момент не так эффективен), Фортран имел откровенные недостатки. Теперь их время (и время когда были необходимы прямые операции с железом) постепенно уходит. Конечно такой класс задач будет существовать всегда, но это небольшой процент потребностей, да и никто не заставляет использовать для этого интерпретируемый язык. Каждая задача должна решаться наиболее удобным инструментом.
Цитата:
Однако, разница все-таки есть. Если смотреть с нативной точки зрения - я прибавляю к регистру число 5 за одну команду и потом этот же регистр заношу куда-то в память, то с точки зрения интерпретации я сначала говорю, что нужно регистр ТАКОЙТО является виртуальным регистром R1 (к примеру), далее прибавляю к регистру ТАКОМУТО пять, далее полученный результат заношу в виртуальный массив памяти. Итого, как минимум на одну команду больше, как максимум - на десяток, ибо виртуальная память не есть свободно адресуемая в текущий момент.
К вопросу эффективности - серебро и золото лучше проводит ток, однако их не используют для транспортировки электроэнергии. А это вызывает огромный расход тока по всей стране. Даже в рамках крупной организации это сотни и тысячи киловат, идущих на нагрев проводов.

Цитата:
Зачем вы заставляете нас (пользователей) все время апгрейдить компы?
Не апргейдь, ни кто не заставляет. Вин 3.11 имеет широкий набор софта, ну остальное напишите сами на ассемблере. Многие популярные продукты обычно имеют несколько версий. Берите самые ранние и радуйтесь скорости.

Цитата:
Имхо, вы тем самым, поддерживаете производителей процессоров, которым выгодно увеличивать скорость пускай хоть на сотню мегагерц быстрее. Заставляете конечного потребителя покупать все новые и новые процессоры.
90 процентов времени процессор находится в ожидании действий пользователя и занимается тем, что обогревает помещение в котором он находится.

Цитата:
Почему не пишут? Пишут и еще как ого-го. Ну, конечно не буду скромничать и начну с себя , и скажу, что, например, я пишу. А потом продолжим хотя-бы каким-нибудь там небольшим проектом типа Firefox или Chrome. Ну, это то, что мы можем созерцать в исходниках. Показать вам, что конкретно из мною выше озвученных проектов написано на ассемблере?
Хром написан не на чистом ассемблере, а в паре с С++. Огнелис - C++, XUL, XBL, JavaScript
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 05.09.2012 в 15:27.
Utkin вне форума Ответить с цитированием
Старый 05.09.2012, 18:26   #29
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Зачем вы используете фреймворки и интерпретируемыя языки программирования?
Потому что они эффективны.
Цитата:
Хотя задача, которую вы написали, для примера, на PHP с использованием двух-трех сторонних библиотек и подключив пару другую модулей, отдельный SQL-сервер и прочее, могла была быть решена на обычном четвертом пне будь она написана на си с самодельной простенькой БД.
Я PHP с пакетом библиотек запускаю на 2 пне и он, о чудо, летает.
И ещё попробуйте запустить приложение, написанное на Си, на четвёртом пне с 300 одновременными подключениями, тогда поймёте почему используются интерпретируемые ЯП.
Виталий Желтяков вне форума Ответить с цитированием
Старый 05.09.2012, 18:33   #30
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
Зачем вы используете фреймворки и интерпретируемыя языки программирования?
Во мне нет чувства меры) Код растет быстро, а функционал медленно, да так что потом одумавшись понимаю, что очень трудно будет его поддерживать одному. Сейчас даже не представляю, как бы я писал на JS без jQuery, Underscore и Backbone. На глухом html/css тоже писать перестал... Теперь html kickstart использую, до этого был Bootstrap.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Языки программирования Jony217 PHP 7 08.05.2011 19:18
Языки программирования xNIGA Свободное общение 20 10.09.2010 22:25
Языки Программирования..Прошу Помочь. ThreeX Помощь студентам 20 12.01.2010 11:29
Языки программирования doniyor Свободное общение 6 20.12.2009 21:42