Вышла новая версия LLVM (http://llvm.org/releases/2.1/docs/ReleaseNotes.html) (Low Level Virtual Machine), - GCC совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего Си/С++ программы в промежуточный байткод RISC подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации).
Наиболее интересное применение - создание JIT (Just-in-time compilation) компиляторов, транслирующих платформонезависимый псевдокод в машинные инструкции непосредственно в момент выполнения программы.
В релизе LLVM 2.1 представлено два новых фронтэнда:
- llvm-gcc-42 - совместимый с GCC 4.2;
- clang (http://clang.llvm.org/) - C/C++/ObjC фронтэнд с возможностью "source-to-source" (с одного языка на другой) трансляции.URL: http://llvm.org/releases/2.1/docs/ReleaseNotes.html
Новость: http://www.opennet.me/opennews/art.shtml?num=12256
Чето как то это на Java смахивает. Или я ошибаюсь ? Там тоже есть перевод в промежуточный код, который потом и выполняется где угодно. Только вот здесь все на RISC транслируется. штука конечно интересная, но не в ту сторону звгнутая. Я бы сделал все по другому. Более перпендикулярно.
Ну так сделай, умник.
Ну естественно. Как сказал Башлачев - "... нету мотива без коллектива, а какой коллектив, такой выходит и мотив ...". А на счет умника - дипломчик у меня красненький.
Под цвет глаз, кто бы сомневался :)
Если не понимаешь о чем люди говорят (даже если увидел пару знакомых слов!) - ну молчи же, оспыдя, хоть ржать над тобой не будут.
IT индустрия существует достаточно давно. За это время придумали очень многое.
Ява имеет в основе идею P-кода, которую выдвинул Н. Вирт в 1975 году. P-кодом даже в Microsoft одно время пользовались и имели реальную переносимость.Ява - это виртуальная машина со сборщиком мусора и т.д. Она обладает средствами JIT, но всё-равно необходима для запуска приложений. Здесь же просто происходит перетрансляция из одного кода в другой.
P.S.
Помнится просили ссылку про учеников Вирта.
одна из них: http://www.oberon2005.ru/paper/obe_fate.html
>[оверквотинг удален]
>году. P-кодом даже в Microsoft одно время пользовались и имели реальную
>переносимость.
>
>Ява - это виртуальная машина со сборщиком мусора и т.д. Она обладает
>средствами JIT, но всё-равно необходима для запуска приложений. Здесь же просто
>происходит перетрансляция из одного кода в другой.
>
>P.S.
>Помнится просили ссылку про учеников Вирта.
>одна из них: http://www.oberon2005.ru/paper/obe_fate.htmlНасколько я понимаю, позднее наработки оберона и модулы-3 нашли применение в limba(inferno/plan9)
http://itc.ua/article.phtml?ID=9367
Мда, не убили его вовремя - во младенчестве...
Поклонникам Джабы стоит рассмотреть и другие технологии, расширять кругозор. В мире существует не только Джаба и перл. Успех Джаба - это талант маркетологов Sun, а вовсе не безупречная технология. Доходят до того, что Страунструпу на презентации задают вопрос: "А не надо ли перевести C++ в байткод, наша любимая Джаба - вона как весь мир захватила?!" Да переводите хоть в команды рабам на галерах, чудаки, C++ то от этого не изменится!Да и вообще виртуальная стэковая машина - плохая идея. Она была выбрана из-за простоты реализации компилятора для неё, а вовсе не из-за того, что генерирует оптимальный код. Виртуальная машина с регистрами, как на железном процессоре - это очевидная глупость. Есть ЛУЧШИЙ вриант, разработаный создателями UNIX (в их авторитете не станете сомневаться?), подробнее можно прочитать вот здесь
http://www.vitanuova.com/inferno/papers/hotchips.html
http://www.vitanuova.com/inferno/papers/dis.htmlМашина работает в IE, попробуй - очень советую.
> Или я ошибаюсь ?Ошибаетесь. Это набор библиотек и инструментов для написания оптимизирующих компиляторов (в том числе JIT-компиляторов). Смысл такой: программа "компилируется" в высокоуровневый "RISC-ассемблер" (с сохранением типов данных и другой высокоуровневой информации), после чего над результатом проводится рад оптимизирующих трансформаций (вроде constant propagation и т.д.). Затем из оптимизированного результата делается машинный код для целевой архитектуры.
Вкусность в том, что вообще-то нетривиальные трансформации не нужно переписывать заново для компилятора нового языка.
Может, имеет смысл, когда этот "высокоуровневый "RISC-ассемблер" устаканится, делать и железный процессор с этим набором инструкций?
Мне мерещится, или GCC со своими фронтэндами/бакэндами нечто подобное же делает?
/* Доходят до того, что Страунструпу */Ну конечно, Стауструп - гуру. Куда до него всяким
там Пайкам да Керниганам
Кто-нить пробовал subj?
Сходил по ссылке. Ни чего не написано, зачем нужен этот инструментарий. Ради чего он создан. Как правило все производители софтверного продукста объясняют зачем ипочему они это сделали. Тут по хоже на just for fan.
V Opennet to i slushu otritcatcelnii otzivii o Java, interesno vixodit injeneri SUN, IBM, BEA, Oracle and etc na stolko glupi chto vkldivayu v etu texnologiyu stolko usilii i deneg??? Ili pochemu Redhat kupila JBoss, chisto Java solution za 300 mln$ ili oni toje glupi?? Konechno Java ne panatcea, i dlya opredelennix reshenii ne podoidet nu govoritc tolko otritcatcelnoe i ne priznavatc faktov eto ehse glupee.
>V Opennet to i slushu otritcatcelnii otzivii o Java, interesno vixodit injeneri
>SUN, IBM, BEA, Oracle and etc na stolko glupi chto vkldivayu
>v etu texnologiyu stolko usilii i deneg??? Ili pochemu Redhat kupila
>JBoss, chisto Java solution za 300 mln$ ili oni toje glupi??
>Konechno Java ne panatcea, i dlya opredelennix reshenii ne podoidet nu
>govoritc tolko otritcatcelnoe i ne priznavatc faktov eto ehse glupee.Более того. Взять пример промышленную автоматику. Во всех контроллерах крутиться виртуальная машина. На хосте разрабатывается алгоритм, который компилируется в аппаратно не зависимы код. Если у в промышленной автоматике такое проходит, то на десктопе аналогичные решения просто обязаны работать.
Ругать технологию дело вкуса -кроме неё есть реальная жизнь.
>V Opennet to i slushu otritcatcelnii otzivii o Java, interesno vixodit injeneri
>SUN, IBM, BEA, Oracle and etc na stolko glupi chto vkldivayu
>v etu texnologiyu stolko usilii i deneg??? Ili pochemu Redhat kupila
>JBoss, chisto Java solution za 300 mln$ ili oni toje glupi??
>Konechno Java ne panatcea, i dlya opredelennix reshenii ne podoidet nu
>govoritc tolko otritcatcelnoe i ne priznavatc faktov eto ehse glupee.Деньгами ворочают не инженеры. Если бы их слушали, тогда у нас не PC на столах стояли а графические терминалы всё равно с чем внутри и в корпорациях всю КИС крутили на одной машине размером с тумбочку для стола а не на зоопарке из калькуляторов и почта работала на X.400 и спама бы не было и т.д. .
Именно. Но, понимаешь, рынок требует изобретения велосипедов... А для большого количества велосипедов хороших программистов не хватает. А на Java легче написать, чтоб но хоть как-то ползало, не падая. Embedded - хороший пример, кстати. Часто там подход "упало - автоматом перезапустили - ползет дальше". Если внятного реалтайма нет - сходит. Тенденция идиотская, конечно - чисто экстенсивный путь. Вместо обучения специалистов и написания небольшого количества высококачественного универсального софта расходуются ресурсы на поддержание большого количества обезьянок, поддерживающих кучу разных велосипедов, а чтоб эти велосипеды хоть как-то ездили - тратятся ресурсы систем на защиту не от дурака даже, а от полного дебилизма разработчиков... Потом валятся ресурсы на маркетинг, чтобы объяснить, что так и должно быть... Вон, вспомнить сказки Microsoft о TCO виндовых "решений".Рыночная экономика, пережившая свое время и непонятно как корчащаяся, во всей красе. Есть, кстати, некий шанс,что Open Source эту ерунду подрежет на сколько-то. Все-таки интеграция усилий...