pavia писал(а):
Цитата:
Ведь как известно, виртуальная машина скрывает детали отдельной платформы (что обеспечивает переносимость)
Это только в теории, а напрактике нет.
Угу, Pavia прав. Например, Жаба благополучно виртуализирует процессор и память, но не способна по-настоящему виртуализировать реальные характеристики дисплея, и вменяемый разработчик приложения должен это учитывать.
Цитата:
Цитата:
из-за интерпретации программы выполняются медленнее.
Не намного. Тем более есть экспресс и оперативная компиляция.
Чистая, классическая интерпретация медленнее во много раз. Однако современные ВМ работают не как интерпретаторы, а как двойные компиляторы: сначала из исходного языка в промежуточное представление, а потом, уже после запуска программы, из промежуточного -- в машинный код. Поэтому линейные алгоритмы выполняются в общем случае медленнее, чем традиционным образом скомпилированный аналог, а вот циклические могут и пошустрей работать (например, ВМ Жабы от Сан нередко вчистую уделывает ГЦЦ: сановский оптимизатор куда лучше, чем то опенсорцное убожество).
Цитата:
О производительности надо думать в последнюю очередь. Сначала проектируешь, и делаешь рабочий отлаженный макет, а вот после уже и оптимизацией можно заниматься.
Слишком решительно сказано. О ней никогда забывать не следует, просто не стоит стремиться сразу обеспечить наивысшую производительность. Пример -- всё та же Колибри. Да, написание системы на ассемблере позволяет выжать максимум из процессора (оставим пока вопрос об оптимизирующих компиляторах), но в реале на
основной массе современных ЦП не шибко хорошо сделанные в плане эффективности Винда и Линух порвут эту самую Колибри -- хотя б за счёт того, что поддерживают SMP, коей в ней не пахнет и которой не будет без полного переписывания всей системы.
Цитата:
Вообще-то этого материала хватает. Вот практики не всем хватает. Да и откуда она возьмётся? Надо выполнить 2-4 проекта чтобы говорить о граммотном проектирование. То есть нужен ведущий инженер который уже прошёл этапы проектирования не одного проекта.
А у опенсорца и другая проблема есть: там же всё добровольно. Это в коммерческой фирме, если тебя взяли быдлокодером, ты должен быдлокодить спущенный сверху проект (который может быть и быдло, и не быдло -- это уж какие архитекторы наверху сидят). А в случае с опенсорцом каждый сам себе хозяин, никакой централизации и т.п. Вот и получается, что мелкие программы, которые по силам сделать одному-двум программистам, нередко превосходят по качеству коммерческие аналоги, а в серьёзных проектах ничего путного, по большому счёту, не выходит. Ну нету сколько-нибудь
полноценной открытой замены МС Офису, Фотошопу и прочим адобовским инструментам, САПРам и т.д. и т.п.
Пы.Сы. Под "опенсорцом" я практически всегда понимаю свободно разрабатываемое ПО, а не сам факт открытости исходников. Грубо говоря, если завтра МС откроет все исходники Винды, опенсорцом я это всё равно не назову: как была коммерческая разработка, так и осталась.