The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Первый выпуск RoboVM, компилятора байткода Java в машинный код"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Первый выпуск RoboVM, компилятора байткода Java в машинный код"  +/
Сообщение от opennews (??) on 24-Янв-13, 22:12 
Представлен (http://blog.robovm.org/2013/01/robovm-001-released.html) первый выпуск проекта RoboVM (http://www.robovm.org/), в рамках которого развивается реализации системы AOT-компиляции (http://ru.wikipedia.org/wiki/AOT-%D0%BA%D0�...) байткода Java в машинный код платформ ARM или x86, позволяющей преобразовывать Java-программы в исполняемые файлы, выполняемые без использования виртуальной машины Java и без интерпретации байткода. Дополнительно проектом развивается набор runtime-библиотек для обеспечения выполнения Java-программ в окружениях iOS, Mac OS X и Linux. Код компилятора (https://github.com/robovm/robovm) распространяется под лицензией  GPLv2, а код runtime-компонентов под лицензией Apache 2.0.


Изначальной целью разработки проекта является намерение предоставить разработчикам возможность разработки программ, написанных на языке Java, в виде обычных приложений для платформы iOS, имеющих доступ к Cocoa Touch API (https://developer.apple.com/technologies/ios/cocoa-touch.html) и другим программным интерфейсам iOS. Доступ к API осуществляется благодаря созданию прослойки Objective-C Bridge, позволяющей обращаться к объектам Objective-C  из кода на языке Java. В настоящее время большинство вызовов UIKit уже оттранслированы для использования в Java. Тем не менее, кроме iOS система в равной мере поддерживает генерацию исполняемых файлов для Mac OS X и Linux.

В runtime-библиотеках использована реализация классов java.lang, java.util, java.io и т.п., развиваемая платформой Android. В библиотеках RoboVM по возможности используется как можно больше стандартных классов Android, а также поддержка  OpenGL ES API, что позволяет создавать RoboVM-программы для iOS на основе уже существующих приложений для платформы Android, совместно используя код в обоих вариантах приложения. Для трансляции байткода Java в машинный код используются наработки проекта LLVM. Для разработки программ допускается использование стандартного интегрированного окружения Eclipse Java IDE, для которого подготовлен специальный плагин (http://download.robovm.org/eclipse/).

URL: http://blog.robovm.org/2013/01/robovm-001-released.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=35919

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –11 +/
Сообщение от Аноним (??) on 24-Янв-13, 22:12 
Главная проблема жавы - это не jit, а gc. И его это не исправит.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –12 +/
Сообщение от kuku on 24-Янв-13, 22:21 
+1
Программа - это дополнение ума машины умом человека.
А вот дополнение ума человека умом машины - это деградация.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +15 +/
Сообщение от Аноним (??) on 24-Янв-13, 22:30 
> Программа - это дополнение ума машины умом человека.
> А вот дополнение ума человека умом машины - это деградация.

Это человек должен машине прислуживать, что ли? Заговариваешься.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

13. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +6 +/
Сообщение от pavlinux (ok) on 24-Янв-13, 23:03 
> +1
> Программа - это дополнение ума машины умом человека.
> А вот дополнение ума человека умом машины - это деградация.

Я чё-то пропустил, когда у машины ум появился?

Intel Core i7 Extreme Edition, могёт смоделировать как бы Пьер Безухов охарактеризовал
работы ранних Германских мастеров изобразивших квантовую неопределённость и кота Шреденгера.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

22. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от Tav (ok) on 24-Янв-13, 23:18 
Куда уж там. Еще даже не разобрались толком, что это вообще такое — ум.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

30. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от Аноним (??) on 24-Янв-13, 23:50 
Это скорее к религии)
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

40. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –4 +/
Сообщение от BratSinot (ok) on 25-Янв-13, 01:18 
Ум это нечто, что может само-обучаться, все. Ни больше, ни меньше.
P.S. Про нейросети и бла-бла-бла можете не упоминать, оно один черт по заранее заданным алгоритмам работает.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

45. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от Пересмешник on 25-Янв-13, 01:50 
А то, что по заранее заданным алгоритмам работает внезапно не может самообучаться? О_о
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

56. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –4 +/
Сообщение от pavlinux (ok) on 25-Янв-13, 05:39 
> А то, что по заранее заданным алгоритмам работает внезапно не может самообучаться?

Внезапно - нет.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

84. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Anonim (??) on 25-Янв-13, 16:20 
Внезапно в мозгу заложены необходимые механизмы для самообучения.
Внезапно ни один человек без обучения не научился говорить
Внезапно эта способность стремительно теряется после 6 лет и у некоторых почти равна нулю лев 40-50
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

93. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от pavlinux (ok) on 25-Янв-13, 18:16 
Способность к обучению, и уж тем более способность говорить, не является признаком ума.
Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

105. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от К.О. on 28-Янв-13, 10:21 
Ну уж Вы хватили. Способность говорить, как раз и является.
Правда, надо иметь ввиду, что способонсть иммитировать речь - нет.
Ответить | Правка | ^ к родителю #93 | Наверх | Cообщить модератору

107. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от pavlinux (ok) on 30-Янв-13, 20:31 
> Ну уж Вы хватили. Способность говорить, как раз и является.

Ум - это способность формировать задачу так, что непонятным остаётся только решение.
Ум - это способность давать ответ так, что не возникает дополнительных вопросов.

Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

83. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от К.О. on 25-Янв-13, 15:49 
>Ум это нечто, что может само-обучаться, все.

Вы на самом деле считаете, что дополнение аксиоматики сделанными из нее выводами хоть как-то тянет на определение ума?

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

101. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от XoRe (ok) on 26-Янв-13, 14:45 
> Ум это нечто, что может само-обучаться, все. Ни больше, ни меньше.

Смотря чему обучаться.
Можно взять лабиринт, программа путем подбора найдет путь в этом лабиринте, и запомнит.
Потом натравить программу на этот же лабиринт - программа сразу его пройдет по старому пути.
Уже можно кричать "вау, оно самообучается!".

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

68. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от ДяДя on 25-Янв-13, 10:09 
С умом проще - тест Тьюринга и вперёд ;-)

А вот с сознанием гораздо сложнее. Эти вещи почему-то путают, но они существуют отдельно.
Сама возможность эмуляции сознания вообще под большим вопросом.

P.S.
А многие философы(не западные конечно) считают, что сознание может существовать только в единственном экземпляре. Типа синглтона ;-)

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

85. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Anonim (??) on 25-Янв-13, 16:23 

> Сама возможность эмуляции сознания вообще под большим вопросом.

Сознание эмулируется у всех животных с мозгом, но разной степени слоности. Кто сказал, что собака не считает себя разумной?

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

100. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Led (ok) on 26-Янв-13, 02:54 
> Кто сказал, что собака не считает себя разумной?

Как это "кто"? Собака и сказала.


Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

104. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от ДяДя on 27-Янв-13, 18:59 
На текущий момент ПРЯМОЙ связи между мозгом и сознанием не установлено.
Мозг - это самый важный орган центральной нервной системы, что ничего не говорит о сознании.
Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

106. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Просто Филя on 30-Янв-13, 16:01 
Нет мозга - нет сознания.
Ответить | Правка | ^ к родителю #104 | Наверх | Cообщить модератору

17. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Xasd (ok) on 24-Янв-13, 23:13 
> Программа - это дополнение ума машины умом человека.
> А вот дополнение ума человека умом машины - это деградация.

"Властилин" Пожинателей (#MassEffect) порабащает комментаторов OpenNET :)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

34. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Аноним (??) on 25-Янв-13, 00:53 
Какой еще пластилин-пожиратель? :)
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

31. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от energia (ok) on 24-Янв-13, 23:58 
сам хоть понял, что сказал?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +8 +/
Сообщение от Аноним (??) on 24-Янв-13, 22:29 
Иногда GC это главная проблема C++, оттого что там его нет.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

15. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –4 +/
Сообщение от Аноним (??) on 24-Янв-13, 23:11 
> Иногда GC это главная проблема C++, оттого что там его нет.

man boehm-gc. Однако факт в том что на C++ можно писать без gc, без (даже потенциальных) утечек и не испытывая никакого дискомфорта, так что gc не нyжен.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

20. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Аноним (??) on 24-Янв-13, 23:17 
> Иногда GC это главная проблема C++, оттого что там его нет.

А игроделы например не в курсе и именно поэтому им и пользуются. Потому что медвежьи услуги - не рулят.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

25. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от iZEN (ok) on 24-Янв-13, 23:29 
> А игроделы например не в курсе и именно поэтому им и пользуются.

Особенно на Android, создавая казуальные игры, ага.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

35. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +3 +/
Сообщение от Аноним (??) on 25-Янв-13, 00:55 
> Особенно на Android, создавая казуальные игры, ага.

На то и казуальщина чтобы писаться кем попало, на чем попало, на коленке. А как только надо что-то похожее на производительность и реалтаймность - ява сразу идет нафиг.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

51. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от ананим on 25-Янв-13, 03:05 
>Особенно на Android, создавая казуальные игры, ага.

которые умудряются тормозить там, где к примеру гта летает.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

6. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от myhand (ok) on 24-Янв-13, 22:31 
Вы что-то имеете против gc вообще - или только gc конкретно в Java?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

14. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Аноним (??) on 24-Янв-13, 23:09 
Новость о вообще или о java?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

24. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Tav (ok) on 24-Янв-13, 23:22 
Если так, тогда о какой из реализаций GC в Java речь? В HotSpot (виртуальная машина, используемая в OpenJDK и Oracle JDK) их несколько на выбор.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

54. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –3 +/
Сообщение от Аноним (??) on 25-Янв-13, 05:17 
Спасибо, я в курсе. Ты это зачем-то сказал или так, поддержать разговор?
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

67. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от myhand (ok) on 25-Янв-13, 08:40 
> Новость о вообще или о java?

ok, значит только в java.  Тогда вы против какого gc в java конкретно?  Почему?  Или тоже против всех? - Почему?

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

12. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +13 +/
Сообщение от pavlinux (ok) on 24-Янв-13, 22:58 
Главная проблема жавы - это Oracle :)
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

69. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от ДяДя on 25-Янв-13, 10:16 
Главная проблема Oracle - это жава ;-)
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

80. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от p5er6 on 25-Янв-13, 14:56 
Гравная проблема- это факт наличия самой java и оракла... так и по отдельности
Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

29. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от all_glory_to_the_hypnotoad (ok) on 24-Янв-13, 23:43 
JIT тоже создаёт немалую нагрузку, причем на память тоже.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

36. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от Аноним (??) on 25-Янв-13, 00:59 
> JIT тоже создаёт немалую нагрузку, причем на память тоже.

Он генерит довольно пухлый и не сильно оптимизированный код. Сильно оптимизировать он не может - требования по памяти и времени работы напрягут. Если gcc на момент компила может выжрать несколько гиг для глобальной оптимизации - всем пофигу. А вот на телефоне скушать столько в рантайме - уже не вариант...

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

50. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Tav (ok) on 25-Янв-13, 03:04 
> Он генерит довольно пухлый и не сильно оптимизированный код.

Не обязательно. В JVM HotSpot есть две реализации JIT: client и server. Client генерирует менее оптимальный код, но быстро. Server работает дольше, но зато хорошо оптимизирует. В любом случае, компилируются только те методы, которые вызываются достаточно часто (остальные интерпретируются). С некоторых пор появился еще режим многоуровневой компиляции, в котором выполняется сначала быстрая компиляция, после чего наиболее часто выполняемые части кода перекомпилируются с полной оптимизацией. В любом варианте есть эффект "разогрева": приложение достигает максимальной производительности только через некоторое время работы.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

58. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от iZEN (ok) on 25-Янв-13, 07:24 
> Главная проблема жавы - это не jit, а gc. И его это не исправит.

GC старается как может, на то он и GC. А вот новоявленные Java-программисты из бывших C++ и VBA-программистов не хотят знать то, что для создаваемых в программе объектов нужно растягивать жизненные циклы в идеале на всё время жизни программы и не плодить лишних. Тогда и память не будет потребляться и у GC работы почти не будет. А то привыкли всё списывать на кривую архитектуру, а сами не бельмеса не понимают.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

66. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +3 +/
Сообщение от Аноним (??) on 25-Янв-13, 08:25 
> GC старается как может, на то он и GC. А вот новоявленные Java-программисты из бывших C++ и VBA-программистов не хотят знать то, что для создаваемых в программе объектов нужно растягивать жизненные циклы в идеале на всё время жизни программы и не плодить лишних

Активнее использовать глобальные объекты, что ли? Потрясающая архитектура, да.
GC сделан для удобства программиста, а не наоборот, и если это удобство оборачивается тем, что его нужно особо ублажать - это уж слишком.

"If Java had true garbage collection, most programs would delete themselves upon execution."

Проблема в том, что жабный сборщик мусора ужасен, есть значительно лучшие реализации. Например, сборщики мусора в питоне или некоторых реализациях лиспа.

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

77. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от CT (??) on 25-Янв-13, 14:27 
> Активнее использовать глобальные объекты, что ли? Потрясающая архитектура, да.

Нахрена глобальные-то? Достаточно кэшировать использованные объекты и когда нужно переиницилизировать и использовать их опять вместо создания новых.

Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

82. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Аноним (??) on 25-Янв-13, 15:34 
> Достаточно кэшировать использованные объекты и когда нужно переиницилизировать и использовать их опять вместо создания новых

Отличная работа для человека, которому нечем заняться. Почему бы не научить жабовский GC этому?

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

89. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от iZEN (ok) on 25-Янв-13, 16:53 
>> Достаточно кэшировать использованные объекты и когда нужно переиницилизировать и использовать их опять вместо создания новых
> Отличная работа для человека, которому нечем заняться. Почему бы не научить жабовский
> GC этому?

В  JetBrains один раз научили: http://habrahabr.ru/post/147552/

Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

95. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от CT (??) on 25-Янв-13, 18:48 
Вы, вероятно, из тех "программистов", которые мечтают об IDE с большой красной (или синей - по вкусу) кнопкой посередине: "Сгенерировать программу которую я только что придумал!" ;-)

А остальным "нечем заняться" и они сами программы пишут :-)

Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

99. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Аноним (??) on 26-Янв-13, 00:41 
Я люблю творческую работу, а не рутинную, которая шаблонна, повторяет себя и поддается алгоритмизации, отчасти оттого, что человек выполняет ее неоптимально и с кучей ошибок.
Повторная инициализация объектов без их разрушения - один из видов такой работы, которая реально делается сборщиками мусора в Лиспе. Такие низкоуровневые, по сути, вещи iZEN предлагает делать руками - и это в языке Java с претензией на ООП и высокие абстракции.
Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

79. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Avator (ok) on 25-Янв-13, 14:51 
у Java есть разные сборщики мусора. Например есть G1. Раз Вы так бодро рассуждаете на эту тему, я так понимаю вы попробовали разные? =)
Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

90. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от iZEN (ok) on 25-Янв-13, 16:59 
>> GC старается как может, на то он и GC. А вот новоявленные Java-программисты из бывших C++ и VBA-программистов не хотят знать то, что для создаваемых в программе объектов нужно растягивать жизненные циклы в идеале на всё время жизни программы и не плодить лишних
> Активнее использовать глобальные объекты, что ли? Потрясающая архитектура, да.

"Глобальные объекты"? Это что ещё за "глобальные объекты"?
> "If Java had true garbage collection, most programs would delete themselves upon
> execution."
> Проблема в том, что жабный сборщик мусора ужасен

Какой из? Для какой задачи? Конкретнее, пожалуйста. В JRE есть несколько GC с разными стратегиями работы.

> , есть значительно лучшие реализации. Например, сборщики мусора в питоне или некоторых реализациях лиспа.

Опять ни слова о конкретной реализации. Какие именно сборщики мусора занчительно лучше жавовских, в чём конкретно и почему?

Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

2. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от 12309 (ok) on 24-Янв-13, 22:17 
Интересно, сможет ли он так Scala скомпилировать. Теоретически, сможет.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

65. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Аноним (??) on 25-Янв-13, 08:16 
естественно сможет - оно же не с самим языком работает, а с байт-кодом. Вообще, насколько я понимаю, это полный аналог майкрософтовского NGEN
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Tav (ok) on 24-Янв-13, 22:43 
Только не следует ожидать, что это будет работать быстрее, чем JIT. Сильная сторона Java (HotSpot VM) — динамические оптимизации, зависящие от поведения программы во время выполнения. Например, HotSpot может связать напрямую или даже встроить вызов виртуального метода, если обнаружится, что во время выполнения обычно используется одна и та же реализация. Встраивание метода, в свою очередь, делает возможными дальнейшие оптимизации. На случай "не как обычно" добавляется быстрая проверка. Таким образом, виртуальный вызов в Java может быть быстрее, чем в C++, и возможно это только за счет компиляции во время выполнения.

Подробнее про оптимизации в HotSpot JVM: https://wikis.oracle.com/display/HotSpotInternals/Performanc...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от iZEN (ok) on 24-Янв-13, 23:11 
> виртуальный вызов в Java может быть быстрее, чем в C++, и возможно это только за счет компиляции во время выполнения.

Интересно, таблица виртуальных методов в C++ поддерживается в рантайме? И насколько часто C++ программисты пользуются возможностью позднего связывания кода (на стадии выполнения)?

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

21. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от Аноним (??) on 24-Янв-13, 23:18 
> C++ программисты пользуются возможностью позднего связывания кода (на стадии выполнения)?

Это ты dlopen() так умно обозвал? :)


Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

26. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от XPEH email on 24-Янв-13, 23:32 
A кто вам сказал что он знает что такое dlopen() ?
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

37. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +5 +/
Сообщение от Аноним (??) on 25-Янв-13, 01:02 
> [XPEH 23:32] A кто вам сказал что он знает что такое dlopen() ?

И тут не прошло и 2 часов как...

> [iZEN 00:45] А что такое dlopen()?

XPEH получает +5 к скиллу телепатии! Эпично!

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

33. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от iZEN (ok) on 25-Янв-13, 00:45 
А что такое dlopen()?
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

41. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от ананим on 25-Янв-13, 01:25 
http://www.freebsd.org/cgi/man.cgi?query=dlopen

я так понимаю что ты freebsd упоминаешь чтобы умнее казаться и не более.

зыж
азен, запомни, чтобы дотянуть хотя бы до средненького специалиста в java, нужно быть также и специалистом в С/С++.
иначе ты просто не сможешь знать как именно работает твоя программа (не говоря уже про jni, nmi,…итд)

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

59. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от iZEN (ok) on 25-Янв-13, 07:31 
> http://www.freebsd.org/cgi/man.cgi?query=dlopen

Это не то "позднее связывание", которое есть в ООП-программе.

> я так понимаю что ты freebsd упоминаешь чтобы умнее казаться и не более.

Не только. Я ей ещё и пользуюсь. Правда дома. На работе у меня Windows XP.

> зыж
> азен, запомни, чтобы дотянуть хотя бы до средненького специалиста в java, нужно
> быть также и специалистом в С/С++.

Про C ещё куда ни шло, но знание C++ прививает отвратительные практики программирования, часто вредные, чем полезные, для Java-программистов.

> иначе ты просто не сможешь знать как именно работает твоя программа (не говоря уже про jni, nmi,…итд)

JNI использовал и буду использовать (если ещё раз доведётся) совместно с программированием в/на Delphi под Windows. В C++ я не считаю себя специалистом и не хочу им быть.


Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

70. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от ананим on 25-Янв-13, 10:32 
>> http://www.freebsd.org/cgi/man.cgi?query=dlopen
>Это не то "позднее связывание", которое есть в ООП-программе.

это то связывание, которое есть в freebsd. более того, в posix.
>Не только. Я ей ещё и пользуюсь. Правда дома. На работе у меня Windows XP.

no comments
>Про C ещё куда ни шло, но знание C++ прививает отвратительные практики программирования, часто вредные, чем полезные, для Java-программистов.
>JNI использовал и буду использовать (если ещё раз доведётся) совместно с программированием в/на Delphi под Windows. В C++ я не считаю себя специалистом и не хочу им быть.

ты извини конечно, но только что ты упал ниже трухина.
хочешь ты того или нет, но С/С++ — это стандарт. без них нельзя даже рассуждать о посикс, юникс, фс и тд.
зыж
а вообще ты даже не выпадаешь из статистики, т.к. хуже дельфийных программистов образованы только программеры на жабе и бейсике.

Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

91. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от iZEN (ok) on 25-Янв-13, 17:08 
>>> http://www.freebsd.org/cgi/man.cgi?query=dlopen
>>Это не то "позднее связывание", которое есть в ООП-программе.
> это то связывание, которое есть в freebsd. более того, в posix.

Это не то связывание и к ООП, в частности к таблице виртуальных методов, не имеет никакого отношения.

>>Про C ещё куда ни шло, но знание C++ прививает отвратительные практики программирования, часто вредные, чем полезные, для Java-программистов.
>>JNI использовал и буду использовать (если ещё раз доведётся) совместно с программированием в/на Delphi под Windows. В C++ я не считаю себя специалистом и не хочу им быть.
> ты извини конечно, но только что ты упал ниже трухина.

Спасибо, капитан Очевидность. Я и так в аду. Повсюду мерзкий глючный код на C++. :))

> хочешь ты того или нет, но С/С++ — это стандарт.

Стандарт это C. C++ — это эмулятор ООП в те времена, когда не было достойных быстрых альтернатив с понятным синтаксисом и семантикой. C++ призван унаследовать всё ПО, которое когда либо было написано на C.

> без них нельзя даже рассуждать о посикс, юникс, фс и тд.

Они реализованы не на C++, к счастью. Да и JNI обеспечивает связь только с плоским С API, но никак не с C++. Для задействования C++ объектов в Java требуется писать обёртку на C.

> зыж
> а вообще ты даже не выпадаешь из статистики, т.к. хуже дельфийных программистов образованы только программеры на жабе и бейсике.

Хороший Delphi- или VB-программист гораздо лучше посредственного C++ программиста.

Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

39. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от ананим on 25-Янв-13, 01:17 
>Интересно, таблица виртуальных методов в C++ поддерживается в рантайме?

ха, и оно ещё критикует С++. с такими то знаниями. почитай хоть для начала то http://en.wikipedia.org/wiki/Virtual_method_table
зыж
2Tav
>> виртуальный вызов в Java может быть быстрее, чем в C++, и возможно это только за счет компиляции во время выполнения.

во-первых это брехня, т.к. vtable в С++ строится на этапе компиляции, конкретный адрес проставляется уже на этапе выполнения. http://www.intuit.ru/department/pl/plintro/12/2.html
и это никак не может быть медленнее, когда vtable строится житом, а потом ещё и подставляется.
во-вторых, (для дальнейшего развития) для уменьшения зависимости от дорогостоящих вызовов из vtable придумали различные методики, чтобы отказаться от vtable и подставлять конкретный адрес на этапе линковки. пример (чтоб было понятно и вантузятнику) — ATL, где классы объявляются с declspec(novtable) http://msdn.microsoft.com/ru-ru/library/w4baz6ss.aspx
И ЕСЛИ ВЫ ПОДУМАЕТЕ (не много ли я прошу от жабиста?), то поймёте почему выбор позднего связывания абсолютно избыточен в рантайме.
просто быдлокодить безусловно легче использования шаблонов.
ну а ставить подобные «достижения» в заслугу — это просто ханжество и лицимерие. быдлокодте себе на здоровье, но без фанатизма (хотя это может быть просто недостаток системных знаний, тогда пока(!!!) сори).

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

42. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от ананим on 25-Янв-13, 01:29 
у минусующего кроме эмоций сказать было нечего?
понимаю.
только это не закроет брешь в ваших знаниях.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

87. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от linux must _RIP_ on 25-Янв-13, 16:39 
а они у тебя есть? или только понты, оскорбления и преходы на личности, и не желание слушать других ?
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

48. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от Tav (ok) on 25-Янв-13, 02:15 
Нервный стиль вашего комментария и переход на личности (позволю себе тоже) создает впечатление, что вы ощущаете со стороны обсуждаемой технологии угрозу обесценивания накопленных вами знаний и опыта.

> во-первых это брехня, т.к. vtable в С++ строится на этапе компиляции, конкретный адрес проставляется уже на этапе выполнения.

Речь же шла о возможности автоматически встроить (inline) вызываемый виртуальный метод, и, как следствие, еще и выполнить более глубокие оптимизации, пересекающие границы изначальных процедур.

>  подставлять конкретный адрес на этапе линковки.

Для этого на этапе линковки этот адрес должен быть известен. Смысл же полиморфизма типов и позднего связывания (основы ООП) в том, что конкретная реализация вызываемого метода зависит от типа объекта-получателя и (в общем случае) известна только во время выполнения.

> просто быдлокодить безусловно легче использования шаблонов.

Можете называть это так, но я предпочитаю больше думать об алгоритмической корректности кода и меньше отвлекаться на рутинные технические детали. А вам рекомендую для всего использовать ассемблер.

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

60. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от iZEN (ok) on 25-Янв-13, 07:37 
>[оверквотинг удален]
> во-первых это брехня, т.к. vtable в С++ строится на этапе компиляции, конкретный
> адрес проставляется уже на этапе выполнения. http://www.intuit.ru/department/pl/plintro/12/2.html
> и это никак не может быть медленнее, когда vtable строится житом, а
> потом ещё и подставляется.
> во-вторых, (для дальнейшего развития) для уменьшения зависимости от дорогостоящих вызовов
> из vtable придумали различные методики, чтобы отказаться от vtable и подставлять
> конкретный адрес на этапе линковки. пример (чтоб было понятно и вантузятнику)
> — ATL, где классы объявляются с declspec(novtable) http://msdn.microsoft.com/ru-ru/library/w4baz6ss.aspx
> И ЕСЛИ ВЫ ПОДУМАЕТЕ (не много ли я прошу от жабиста?), то
> поймёте почему выбор позднего связывания абсолютно избыточен в рантайме.

Ну вот и ответ: "От таблицы виртуальных методов _и_позднего_связывания_кода_ в программе на C++ ПРИНЯТО_ОТКАЗЫВАТЬСЯ". Тогда о чём вообще речь? "В C++ на самом деле в работе ненастоящий полиморфизм, иначе вас ждут жестокие тормозааааа".

> просто быдлокодить безусловно легче использования шаблонов.
> ну а ставить подобные «достижения» в заслугу — это просто ханжество и
> лицимерие.

А вот это уже обсирание ОСНОВ ООП, а не только языков ООП-программирования.

> быдлокодте себе на здоровье, но без фанатизма (хотя это может
> быть просто недостаток системных знаний, тогда пока(!!!) сори).

Ну а вы, так и быть, пишите на своём недо- ООП-языке C++. (Чем это отличается от программирования на C, только вот, неясно.)

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

72. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от ананим on 25-Янв-13, 10:45 
>Ну вот и ответ: "От таблицы виртуальных методов _и_позднего_связывания_кода_ в программе на C++ ПРИНЯТО_ОТКАЗЫВАТЬСЯ".

ты дурак? или в принципе плохо-обучаем?
vtable создаётся ля любого класса, содержащего хоть один виртуальный метод.
азы. см. тут http://www.intuit.ru/department/pl/plintro/12/2.html
>На этапе компиляции строится таблица виртуальных методов, а конкретный адрес проставляется уже на этапе выполнения.
>Тогда о чём вообще речь?

речь о том, что при помощи шаблонов и множественного наследования можно получить ВСЕ преимущества позднего связывания на этапе линковки, при этом значительно уменьшив код и увеличив производительность до уровня голого С.
зыж
>> ну а ставить подобные «достижения» в заслугу — это просто ханжество и лицимерие.
>А вот это уже обсирание ОСНОВ ООП, а не только языков ООП-программирования.

это обсирание невеж, которые не зная С++ (а ты уже признался что не знаешь выше в #59) каким-то боком претендуют на его сравнивание с чем либо.
ты невежа, айзен. при чём это не оскорбление, это голый факт.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

18. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от Аноним (??) on 24-Янв-13, 23:13 
> Только не следует ожидать, что это будет работать быстрее, чем JIT. Сильная
> сторона Java (HotSpot VM) — динамические оптимизации, зависящие от поведения программы
> во время выполнения

Как показывает практика, никакой магии там нет - java почти всегда проигрывает нативному коду. Фанбои жавы ой как любям всюду тыкать вот этим:

> Например, HotSpot может связать напрямую или даже встроить вызов виртуального метода

Однако толку от этого ноль без палочки, зато лишний расход CPU в рантайме, вместо однократного при сборке как в нормальных языках.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

27. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Tav (ok) on 24-Янв-13, 23:39 
Магия начинается, когда вы пишите какую-то вычислительную функцию, использующую, например, геометрические абстракции из java.awt.geom и не беспокоитесь о том, что создаете много локальных объектов и используете позднее связывание, поскольку JIT разберет объекты в стек и встроит их методы, превратив полиморфный код, написанный в терминах точек, прямоугольников и т. п. в примитивную арифметику. Т. е., можно спокойно сосредоточиться на алгоритме и на ясности кода.

> зато лишний расход CPU в рантайме, вместо однократного при сборке как в нормальных языках.

Это мешает для часто запускаемых и относительно недолго работающих приложений, но совершенно не является проблемой на серверах.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

43. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от ананим on 25-Янв-13, 01:35 
>Магия начинается, когда вы пишите какую-то вычислительную функцию, использующую, например, геометрические абстракции из java.awt.geom и не беспокоитесь о том, что создаете много локальных объектов и используете позднее связывание, поскольку JIT разберет объекты в стек и встроит их методы, превратив полиморфный код, написанный в терминах точек, прямоугольников и т. п. в примитивную арифметику. Т. е., можно спокойно сосредоточиться на алгоритме и на ясности кода.

это идиотизм.
и начинается он тогда, когда кто-то на тематическом форуме пишет это и думает что я буду рад использовать тормоза его программы каждый раз, когда JIT разбирает его объекты на моих вычислительных системах только потому, что ему не хотелось думать.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

46. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Tav (ok) on 25-Янв-13, 01:51 
Во-первых, я уже написал, что это проблема для десктопных приложений, но не проблема на серверах, где JVM довольно успешно используется. Во-вторых, время программиста дороже. В-третьих, не "не хотелось думать", а хотелось больше думать об алгоритмической корректности кода и меньше отвлекаться на рутинные технические детали.
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

47. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от ананим on 25-Янв-13, 02:12 
всё это глупость чистой воды.
это на вашу подготовку как жабиста было затрачено меньше средств, это да.
а вот процесс реализации алгоритмов что в С++, что в java одинаков. при условии что вы владеете знаниями этих языков одинаково.
уменьшение расходов на подготовку и распространение ПО — вот всё что бралось в расчёт при проектировании подобных систем.

зыж
>Во-первых, я уже написал, что это проблема для десктопных приложений, но не проблема на серверах, где JVM довольно успешно используется.

на серверах ещё и не такой крап увидишь… особенно в застенках ынтырпрайза.
что абсолютно не делает из халтуры что-то более ценное.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

49. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от Tav (ok) on 25-Янв-13, 02:35 
Не соглашусь. Я не "жабист", я просто знаю преимущества и недостатки технологии и имею какие-то представления о принципах работы JVM.

А разработка одного и того же на (говоря только об объектно-ориентированных языках) C++, Java или на чем-то уровня Smalltalk (например, Ruby) — разное дело. Конечно, если речь идет о сортировке целых чисел, разницы не будет. Но если разрабатываемая программа предполагает различные уровни абстракции, разница становится существенной. Вообще, способность выражать абстракции — очень важное качество языка.

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

53. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от ананим on 25-Янв-13, 03:52 
>Не соглашусь.

как будет угодно.
>Я не "жабист", я просто знаю преимущества и недостатки технологии и имею какие-то представления о принципах работы JVM.

вы не можете знать преимущества и недостатки не имея более-менее полных системных знаний.
это видно по вашим ответам. вы ни разу не видели как именно логика вашего приложения проецируется в машинное представление.
да вы даже не в курсе выше были vtable и принципов её формирования
(дам пруф на базовые знания ещё раз http://www.intuit.ru/department/pl/plintro/12/2.html
На этапе компиляции строится таблица виртуальных методов, а конкретный адрес проставляется уже на этапе выполнения.)
а когда я завёл речь, что при помощи шаблонов можно отказаться от vtable и её оверхеда, при этом оставив и функциональность, и уменьшив размер кода, вы вообще не поняли о чём речь.

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

73. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от другой аноним on 25-Янв-13, 12:58 
> На этапе компиляции строится таблица виртуальных методов,
> а конкретный адрес проставляется уже на этапе выполнения.)

Там плохо и упрощенно описано. Адрес не "не проставляется уже на этапе выполнения". Там сложнее. В википедии лучше описано:
"... Для каждого класса, имеющего хотя бы один виртуальный метод, создаётся таблица виртуальных методов. Каждый объект хранит указатель на таблицу своего класса. Для вызова виртуального метода используется такой механизм: из объекта берётся указатель на соответствующую таблицу виртуальных методов, а из неё, по фиксированному смещению, — указатель на реализацию метода, используемого для данного класса. При использовании множественного наследования или интерфейсов ситуация несколько усложняется за счёт того, что таблица виртуальных методов становится нелинейной..."
а в большинстве случаев и используются всякие интерфейсы. Так что все еще усложняется и я не удивлюсь если Вы не поймете, что могут существовать такие методы и приемы оптимизации, которые можно провести только анализируя непосредственное исполнение программы и которые невозможно вычислить на этапе обычной компиляции.

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

75. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от ананим on 25-Янв-13, 13:13 
>Так что все еще усложняется и я не удивлюсь если Вы не поймете, что могут существовать такие методы и приемы оптимизации, которые

которые начинают вызывать те методы, которые вам не требуются? :D

я как раз очень много этим занимался.
более того как раз по-этой причине и привёл (народ вообще не понял о чём речь :D) выше одну из методик (множественное наследование плюс шаблоны классов), которые позволяют уменьшить vtables или отказаться от них полностью.

запомните, нет никакой оптимизации в процессе позднего связывания. этот вид шаманства придумали неучи. есть только выбор необходимого (и достаточного) типа/объекта.
если этот процесс нуждается в оптимизации в жабе, то это только говорит о саксбайдезигн и не более.

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

98. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от mahairod (ok) on 25-Янв-13, 23:35 
"нет никакой оптимизации в процессе позднего связывания" - расскажите это разработчикам Явы и процессоров Itanium & Elbrus. Думаю, они вправят вам мозги, уж они то всяко лучше вас разбираются и в Яве и в плюсах
Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

81. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Crazy Alex (ok) on 25-Янв-13, 15:25 
Вы, конечно, извините, но какие в джаве свойства выражать абстракции, которых нет в плюсах? Насколько я помню, там как раз наоборот - длинные многословные вызовы, явно описывающие всё в делалях. Это на плюсах можно библиотекой паттерн-матчинг сделать :-)
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

88. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от iZEN (ok) on 25-Янв-13, 16:51 
> Вы, конечно, извините, но какие в джаве свойства выражать абстракции, которых нет
> в плюсах? Насколько я помню, там как раз наоборот - длинные
> многословные вызовы, явно описывающие всё в делалях. Это на плюсах можно
> библиотекой паттерн-матчинг сделать :-)

Например, в Java есть дженерики (generics, настраиваемые типы), которые не есть шаблоны (как в C++), обеспечивают то же самое "обобщённое программирование" плюс ещё проверку на типовую безопасность (type safety) на стадии компиляции.


Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

61. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от iZEN (ok) on 25-Янв-13, 07:44 
> всё это глупость чистой воды.
> это на вашу подготовку как жабиста было затрачено меньше средств, это да.
> а вот процесс реализации алгоритмов что в С++, что в java одинаков.
> при условии что вы владеете знаниями этих языков одинаково.
> уменьшение расходов на подготовку и распространение ПО — вот всё что бралось
> в расчёт при проектировании подобных систем.

Вы не считаете затрат на компилирование проекта на C++ и Java. Для Java компиляция будет в несколько раз быстрее, программист получит результат быстрее, сможет отлаживать, исправлять код быстрее. Достаточно сравнить время компиляции таких равноценных по объёму строк исходных текстов проектов, как OpenOffice и Eclipse Classic, чтобы заплакать от горя, почему OOo такой монстр.

> что абсолютно не делает из халтуры что-то более ценное.

Пока что на C++ лучше, чем на Java, не написали то, что требуется бизнесу.


Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

71. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от ананим on 25-Янв-13, 10:35 
извини айзен, но после вот этого https://www.opennet.ru/openforum/vsluhforumID3/88358.html#59 — практически признания тобой своего невежества, я даже нихочу тратить на твои рекламные лозунги своё время.
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

86. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от iZEN (ok) on 25-Янв-13, 16:38 
> извини айзен, но после вот этого https://www.opennet.ru/openforum/vsluhforumID3/88358.html#59
> — практически признания тобой своего невежества, я даже нихочу тратить на
> твои рекламные лозунги своё время.

Новых знаний в C++ нету. Рекламными лозунгами не разбрасываюсь.


Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

74. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Nimo on 25-Янв-13, 13:08 
Смешно читать про то как какой то студент хочет чтоб ему на яве чет там написали нетормозное, хотя сам только что еле выбрался из главы про сортировки. Ему бы рассказать про распределенные гриды на яве и почему большая проблема сделать это на плюсах, но даю 100% что этот студент даже поленится глянуть в гугле что это такое - он же уже все знает, а "профессор лопух"
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

76. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от ананим on 25-Янв-13, 13:30 
набор ничего не значащих терминов, начитавшегося сми школьника.
хорошо что вы не были моим студентом, никогда бы не доучились.


зыж
>Ему бы рассказать про распределенные гриды на яве и почему большая проблема сделать это на плюсах, но даю 100% что этот студент даже поленится глянуть в гугле что это такое - он же уже все знает, а "профессор лопух"

BIONIC это расскажите https://boinc.berkeley.edu/trac/wiki/DevProjects
перед потерей лица и своих 100%.

Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

96. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –1 +/
Сообщение от Nimo on 25-Янв-13, 19:04 
набор ничего не значащих терминов :) - я рад что учился не у Вас

может ваши студенты напишут на ++ что нибудь типа http://www.oracle.com/technetwork/middleware/coherence/overv... ?
или http://www.slideshare.net/buzdin/gemfire-in-memory-data-grid ?

тогда возможно я озабочусь Биоником ;)

Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

55. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от Аноним (??) on 25-Янв-13, 05:26 
> Магия начинается ... поскольку JIT разберет объекты в стек и встроит их методы

Смешно, как вы даже не оптимизации, а стандартное поведение компилятора C/C++ считаете магией. Я в свое время переписывал модули для одной GIS с жавы на C++ - там этой геометрии завались было. Получил прирост 3.5x на ровном месте, такие дела.

> Это мешает для часто запускаемых и относительно недолго работающих
> приложений, но совершенно не является проблемой на серверах.

Для идиотов никакие генетические проблемы платформы не являются проблемой. Для решения задачи нужно 10 серверов вместо двух? Пожалуйста, главное что мы наслушались какая жава ынтерпрайз. Студенты на плюсах пишут более эффективные приложения и быстрее, чем бородатые дядьки с кучей сертификатов на жаве, пытаясь обогнуть все ее косяки и тормоза? Да не может быть, нам же сказали что java экономит время программистов.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

62. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от iZEN (ok) on 25-Янв-13, 07:50 
>> Магия начинается ... поскольку JIT разберет объекты в стек и встроит их методы
> Смешно, как вы даже не оптимизации, а стандартное поведение компилятора C/C++ считаете
> магией. Я в свое время переписывал модули для одной GIS с
> жавы на C++ - там этой геометрии завались было. Получил прирост
> 3.5x на ровном месте, такие дела.

Простой компиляцией в нэйтив?

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

103. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Tav (ok) on 27-Янв-13, 01:21 
Вы не понимаете, что такое позднее связывание? Если на этапе компиляции не известно, какая именно реализация абстрактного метода может быть вызвана, компилятор C++ не сможет этот вызов соптимизировать и тем более встроить. В примере с функцией, выполняющей высисления с абстрактными геометрическими объектаими, конкретные типы этих объектов могут быть определены клиентским кодом и могут быть известны только во время выполнения.
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

23. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +4 +/
Сообщение от pavlinux (ok) on 24-Янв-13, 23:19 
> динамические оптимизации, зависящие от поведения программы во время выполнения.

предсказание предсказаний! :)

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

44. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от kosha on 25-Янв-13, 01:35 
Refal, 1967, Валентин Турчин, суперкомпиляция
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

57. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от pavlinux (ok) on 25-Янв-13, 06:15 
> Refal, 1967, Валентин Турчин, суперкомпиляция

О да, вместо того, что посчитать сколько будет два яблока плюс два яблока,
они там начнут считать молекулярную массу каждого, потом посчитают ср. кв. отклонение,
потенциал заряженности эл.-магнт. поля и выведут через разность потенциалов на
поле Галуа, что получилось 3.8131415 яблок. И спишут 18% как погрешность вычислений,
на естественное испарение жидкости.
    

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

64. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от tipa_admin on 25-Янв-13, 08:05 
Всё верно. Только вместо "эл.-магнт." надо было "торсионного" писать.
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

8. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +4 +/
Сообщение от tanmatra (ok) on 24-Янв-13, 22:44 
Динамическую загрузку (и выгрузку) классов куда дели? Reflection? Без этих важных фич - это не Java, а некоторое слабое подобие.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от добрый дядя on 24-Янв-13, 22:46 
вау, интересны бенчмарки - неужели быстрее будет? сомневаюсь, ибо GC

но если так, если быстрее - то неужели можно будет писать быстрые программы на жабке без потребление памяти GCшкой??? тогда однозначно эпик вин

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от Tav (ok) on 24-Янв-13, 22:50 
>  вау, интересны бенчмарки - неужели быстрее будет? сомневаюсь, ибо GC

В лучшем случае, сократится время запуска приложений. Все остальное будет хуже (объяснил выше).

> но если так, если быстрее - то неужели можно будет писать быстрые программы на жабке без потребление памяти GCшкой??? тогда однозначно эпик вин

AOT-компиляция не отменяет необходимости в сборке мусора.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +4 +/
Сообщение от Tav (ok) on 24-Янв-13, 22:51 
Есть еще GCJ (AOT-компилятор Java в составе GCC).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от Xasd (ok) on 24-Янв-13, 23:15 
> Есть еще GCJ (AOT-компилятор Java в составе GCC).

он не молодёжный

[по сравнению с тем что сделали в Subject]

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

32. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от umbr (ok) on 25-Янв-13, 00:11 
А ещё есть Excelsior JET
http://en.wikipedia.org/wiki/Excelsior_JET
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

28. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  –2 +/
Сообщение от Аноним (??) on 24-Янв-13, 23:40 
Ура! Ура! Ура! Теперь можно откомпилить i2p и после бинарник встраивать в ботнеты, предварительно краптанув и навесив прот!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от Аноним (??) on 25-Янв-13, 01:06 
> Ура! Ура! Ура! Теперь можно откомпилить i2p и после бинарник встраивать в
> ботнеты, предварительно краптанув и навесив прот!

Я думаю что если у вас не хватало за столько лет умишка запустить gcj - ботнетом являетесь разве что вы сами :)

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

94. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +/
Сообщение от lucentcode email(ok) on 25-Янв-13, 18:47 
Годное начинание. Я бы NetBeans с удовольствием собрал в виде native-программы с родным для линя интерфейсом.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

97. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +2 +/
Сообщение от forsy on 25-Янв-13, 20:36 
Главная проблема Явы в том, что она глупая и поощряет глупых программистов чувствовать себя программистами
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

102. "Первый выпуск RoboVM, компилятора байткода Java в машинный к..."  +1 +/
Сообщение от anonymous (??) on 26-Янв-13, 21:07 
какая глупость
Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру