Сообщение от :
Если Sun выстоит и начнет антимонополистическую программу разработки мультиязыковой платформы (кстати, это сделать можно было ого-го когда)
Имеется возможность писать на любом языке для JVM. Нужен только компилятор, который генерирует bytecode для запуска на JVM. Существуют реализации таких компиляторов для С и С++. Другое дело, что JVM сильно уклонена в пользу Java. Java - не есть кросплатформенная, это платформа. Коммерческая платформа находящаяся в собственности Sun, так же, как и платформа Windows (а сейчас и .Net), находящаяся в собственности Microsoft. Мы можем писать код для Windows/Intel(IA32, IA64) или для Java/JVM. В обоих случая мы пишем код для платформы находящейся в собственности одной корпорации и находимся в зависимости от комерческих интересов этой корпорации (Все помним судебное разбирательство между Sun и Microsoft, когда последние отказались включать их более эфективную реализацию JVM в состав ОС). Однако Java ни в коей мере не является общеприемлимой языково-нейтральной VM\OS.
viper
Сообщение от :
С единственной реализацией под теже Windows
Дай ей время, она только появилась. Сейчас CLR запускается на Windows, FreeBSD и Mac OS X.
Сообщение от :
в то время как JVM реализована для более чем 20 ОС...
Отсутствие большого числа реализаций CLR, как и наличие большого числа реализаций JVM связана с коммерческими интересами собственников, но никак не ущербностью или преимуществами объекта реализации. С трудом верится, что большинству разработчиков на Java требуется выполнять код более чем на 3 платформах. Java - новый язык, поэтому он невелик и неполон. Со временем он вырастет в два или более раз (см. Java 1.5), тогда и появятся платформо-зависимые расширения и библиотеки. Так эволюционирует каждый коммерчески успешный язык.
[Ответ]
Alex__G 13:31 18.01.2005
relusion
Как правильно сказал ficher, нет никакой проблемы написать компилятор с любого языка в байт код - и сан здесь не причем. Другое дело что сан сам не стал это делать сам - но это уже его право.
То что виртуальная машина java уклонена в пользу ява - то же самое можно сказать про машину в дотнете - не все языки гладко на нее переносятся. Например вбнет был значительно изменен чтобы работать в виртуальной машине.
Что же касается проектов по компиляции в явакод кода на других языках - они есть, но широкого распростанения не получили. Может быть потому что реально это не очень нужно?
Сейчас я думаю 90% дотнетовских проектов будет писаться под c# и со временем этот язык станет де факто стандартом для написания дотнетовскиъх проектов
Сообщение от :
С единственной реализацией под теже Windows
Я бы сказал с единственной полноценной реализацией под виндоуз. Enterprise services в Mono нет и не планируется (по понятным причинам)
Сообщение от :
Коммерческая платформа находящаяся в собственности Sun,
"Своя" ява есть у IBM, BEA И oracle. Начиная от JVM и JDK (частично) и заканчивая сервером приложений.
Не вижу, кстати, ничего плохого в том, что платформа коммерческая. Скорее наоборот.
[Ответ]
Fisher 17:16 18.01.2005
Alex__G
Сообщение от :
То что виртуальная машина java уклонена в пользу ява - то же самое можно сказать про машину в дотнете
Не согласен, это совершенно не то же самое, Java VM не проектировалась для работы с другими языками.
Сообщение от :
- не все языки гладко на нее переносятся. Например вбнет был значительно изменен чтобы работать в виртуальной машине.
Это же утопия - полагать, что эффективность независима от языка.
Сообщение от :
Что же касается проектов по компиляции в явакод кода на других языках - они есть, но широкого распростанения не получили. Может быть потому что реально это не очень нужно?
Думается, что это применяется, если требуется использовать инородный код (например С++ класс) в Java, или же, где отсутствует компилятор с родного языка для целевой платформы.
Сообщение от :
"Своя" ява есть у IBM, BEA И oracle. Начиная от JVM и JDK (частично) и заканчивая сервером приложений.
Что далее? Все упомянутые купили лицензию у Sun. На Java они могут влиять только косвенно. Sun собирается более не стандартизировать Java в ISO, а выкладывать стандарт де-факто.
Сообщение от :
Не вижу, кстати, ничего плохого в том, что платформа коммерческая.
Соглашусь с тем, что плохого мало. Но если вспомнить, как Microsoft поступила с С++ при переходе на .Net, становится очевидно, что внутренние интересы корпорации превалируют над интересами сообщества. Справедливости ради следует сказать, что они все же уступили и почти вернули Managed C++ в русло стандартного С++.
[Ответ]
Alex__G 12:08 19.01.2005
Сообщение от :
Это же утопия - полагать, что эффективность независима от языка.
Не очень тебя понял. Поясни пожалуйста.
Сообщение от :
На Java они могут влиять только косвенно.
Через JCP еще как могут влиять. Сан лишь один из поставщиков реализации стандартизованных апи, пусть и главную играющий роль в Яве.
Сообщение от :
Думается, что это применяется, если требуется использовать инородный код
Есть в яве способ взывать C++ код - java native interfaces. Хотя не знаю как он работает и насколько эффективен и удобен в использовании
[Ответ]
Fisher 19:59 19.01.2005
Сообщение от :
Не очень тебя понял. Поясни пожалуйста.
Оптимальность генерируемого кода зависит от эффективных языковых конструкций. Конструкции старого VB создавались из соображений простоты использования пользователями самого VB (никто не собирался использовать их извне).
Сообщение от :
Сан лишь один из поставщиков реализации стандартизованных апи, пусть и главную играющий роль в Яве.
Java является интеллектуальной собственностью Sun. Пользователи Microsoft тоже могут влиять на Windows... через техподдержку, а насколько серьезно следует отнестись к их предложениям, решает Microsoft, но не члены MSDN.
Сообщение от :
Есть в яве способ взывать C++ код - java native interfaces. Хотя не знаю как он работает и насколько эффективен и удобен в использовании
Не только С++ код. Но вообще, писать сопряженные интерфейсы - занятие утомительное.
[Ответ]
andr 09:34 21.01.2005
нуу вы вообще сильно от реальности абстрагировались.
Возьмем пример: нужно написать приложение (c GUI) которое бы работало на винде, линухе, солярке(и SPARC, и x86). Причем сверхскорость не важна. Как решить такую проблему в настоящее время? Что взять за основу?
[Ответ]
aerin 09:59 21.01.2005
andr GNU C + оконная библиотека на выбор. И никаких нет и джав. ;-)
[Ответ]
zic 15:14 21.01.2005
viper К тому же, смешно заявлять, что .NET - кросплатформенная.
Ну а как же, мультиплатформенная Windows 98 , Me , даже 2k Xp :-)