Здравствуйте, alex_public, Вы писали:
_>Здравствуйте, lpd, Вы писали:
lpd>>Более значительным преимуществом является безопасность кода по сравнению с C, однако эту проблему можно решить и без байткода.
_>Эээ что? Как вообще пересекается безопасность и байт-код? Ты вообще о чём? )
В Java/C# не может быть ошибки переполнения буфера, которая встречается в коде на C.
_>Ну и если тебе всё же не интересно читать, а ты хочешь сам додумываться до правильных ответов, то могу дать один простой совет по данному вопросу. Попробуй взглянуть на ситуацию не глазами программиста, а глазами владельца бизнеса (которому надо решить конкретную задачу минимальным вложением денег).
Вот причины меньших затрат бизнеса при использовании C# я и анализирую. И думаю, что дело не только круге знаний программистов.
lpd>>Хотя идея перенести часть процесса компиляции в рантайм или на этап инсталляции интересна. Однако портабельность сужает круг задача, которые код может решить.
_>Все проблемы портабельности обычно связаны с ОС и т.п., а не с архитектурой процессора. )))
lpd>>А портабельность как раз больше нужна в embedded системах.
_>Ээээ что? )
Я имею ввиду портабельность не банально между Windows и Linux, а возможность скомпилировать какую-то библиотеку для embedded системы(например, сжатие, обработку или распознавание видео). C++ код, как известно, по большей части процессоро-независим.
Итого: причинами популярности C#/Java ты называешь портабельность и большую сложность C++. К этому списку я бы добавил наличие проработанных фреймворков веб-приложений. Единственное принципиальное преимущество байт-кода в этом списке — только переносимость между разными ОС. Однако C++ код тоже может быть переносимым при перекомпиляции. У нас по сути всего 2 ОС, поэтому отсутствие перекомпиляции — не столь большое преимущество. Возникает вопрос(единственный существенный в данном случае), стоит ли ради этого вносить промежуточный уровень байткода между бинарником и исполнением программы? Именно к этому вопросу, как я считаю, выбор между C#/Java и C++ и сводится.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)