Принято решение (http://markmail.org/message/sxjtefpayanbqfe5) о закрытии проекта Apache Harmony (http://harmony.apache.org/), в рамках которого развивалась альтернативная открытая реализация Java SE (J2SE 5 и 6), распространяемая под лицензией Apache и являвшаяся камнем преткновения в конфликте с компанией Sun Microsystems и в последствии с Oracle. Большинством голосов (20 - "за" и 2 - "против") разработчики проголосовали за перемещение всех связанных с проектом наработок в репозиторий устаревших проектов Apache Attic (http://attic.apache.org/).
Проект Apache Harmony был основан (http://www.opennet.me/opennews/art.shtml?num=5440) за несколько лет до открытия (http://www.opennet.me/opennews/art.shtml?num=10723) под лицензией GPLv2 кода JDK и добился отличной совместимости с Java SE. Тем не менее, нежелание Sun и Oracle пойти на отмену ограничений (http://www.opennet.me/opennews/art.shtml?num=30829) на сферу использования продуктов, протестированных в JCK (Java Compatibility Kit), п...URL: http://www.h-online.com/open/news/item/The-end-of-Apache-Har...
Новость: http://www.opennet.me/opennews/art.shtml?num=32230
Что они следующее туда отправят? Опенофис?
gcj.
> gcj.Только это к java отношения не имеет ;)
> gcj.А он не опачем вроде пилится.
// Apache. Кладбище высоких технологий.
Откуда же теперь Google будет брать код ?!
Нет, ООо туда не отправят.. Просто придержали конкурента. Просто Апачи на несколько лет раньше создали реализацию явы. Причем такого качества и на таких условиях распространения, что пустили бы многие коммерческие конторы по миру с протянутой рукой.. Вот и были приняты меры по недопущению.. А кому ООо конкурент?
> Нет, ООо туда не отправят..Учтя что все программисты сбежали на LO, OOo имеет все шансы проследовать за этим проектом.
Ну так уж и все ...В октябре месяце целых 9 человек коммитили что-то в AOOo, целых ДВОЕ! новых "присоединились" к проекту. В среднем ТЫЩА С ФИГОМ строк добавляется и аж ДВЕ С ХВОСТОМ удаляются.
Так что ещё двадцать лет работать над тем, чтоб весь код удалить =)
> В среднем(в день, в октябре месяце)
> Так что ещё двадцать лет работать над тем, чтоб весь код удалить =)Ну им не привыкать. Сколько лет они 1.х без особых изменений выдавали на гора?
Скажите танкисту, на tomcat это влияет?
> Скажите танкисту, на tomcat это влияет?Нет.
> но реализация Apache Harmony распространяется под лицензией Apache 2.0.А был бы он под GPL/LGPL, то все было бы иначе.
Фонд Free Software Foundation объявил все версии лицензии Apache несовместимыми со второй версией GPL.
Apache Software Foundation, начиная с 2004 года, настаивает на своём праве решать вопрос совместимости Apache лицензии с GPL.
Согласно Free Software Foundation, GPLv3 совместима с Apache License v2.0. Как следствие, разработчики всегда имеют возможность свои программы под Apache License v2.0 перевести под GPL v3.0, чтобы быть уверенными в том, что производные их разработок (форки) останутся свободными. Однако, смена лицензии с GPL на Apache невозможна, поэтому совместимость односторонняя.-------
Никто не мешал перейти на GPL.
> Никто не мешал перейти на GPL.А смысл ? Конечный продукт зависит от JCK, а JCK как бы кто ни говорил - не совместим с GPL, потому как не допускает сторонние GPL реализации.
> А был бы он под GPL/LGPL, то все было бы иначе.Читал бы весь тред, сладенький.
ты что думаешь что если бы возникла угроза монополии sun/oracle на жабу со стороны gpl продуктов - они бы не придумали как это придушить?
Самое простое решение с апачем они сделали - кто мешает такое же для gpl и назвать OpenJDK единственно рассово верным.
Ну, вот, свободная Java умерла окончательно. Развивайте дальше свой проприетарный OpenJDK.
Так ведь яву развивают только проприетарщики. 99% всех коммитеров опенждк, это работники оракла, ибм, редхаха и прочих корпораций зла и добра.Как такового сообщества у опенждк нет. Вернее оно есть, но состоит не из людей, а из корпораций. И это хорошо, потому как в таких сложных проектах важна слаженность и единство движений всех разработчиков. А опенсоср сообщество склонно к излишнему фрагментированию и постоянному форканию на пустом месте. Если бы не жесткая позиция сан/оракла по вопросу сертификации, то сегодня мы бы имели сотни несовместимых между собой версий ява машин.
> Если бы не жесткая позиция сан/оракла...то мы бы могли иметь хотя бы одну свободную версию, и могли бы выбирать, и большинство бы выбрало одну, как известный вебсервер
>> Если бы не жесткая позиция сан/оракла...
> то мы бы могли иметь хотя бы одну свободную версию, и могли
> бы выбирать, и большинство бы выбрало одну, как известный вебсерверхм... вы кажется не понимаете. Нахрен не нужна такая свобода если код на который потрачено сотни тон нефти не будет работать под оазными вебсерверами и под разными ява машинами. И о какой свободе мы тогда могли бы говорить? Получилось бы еще хуже чем с МС когда код был бы рабочим только под одним конкретным вебсервером, а под другими нет. Но сегодня у нас есть вобода запускать ява код под любыми ОС и под любыми серверами приложений. Это ли не настоящая свобода для программиста?
Но даже если вы разработчик собственной оригинальной JVM, то вы можете свободно форкнутся от OpenJDK ведь лицензия позволяет.
Не первый десяток лет за этим слежу и все прекрасно понимаю. Давным давно есть код который работает под разными серверами, другое дело что есть сервера под которыми работает только тот код который разрешат, и самое поганое что есть такие как вы, которые считают что это нормально, и меряют свободу сотнями нефти.У нас есть свобода запускать яву, но нет возможности ее свободно использовать, ибо в случае форка и дальнейшего развития теряются права, что неоднократно доказано на практике.
> Не первый десяток лет за этим слежу и все прекрасно понимаю. Давным
> давно есть код который работает под разными серверами, другое дело что
> есть сервера под которыми работает только тот код который разрешат, и
> самое поганое что есть такие как вы, которые считают что это
> нормально, и меряют свободу сотнями нефти.
> У нас есть свобода запускать яву, но нет возможности ее свободно использовать,
> ибо в случае форка и дальнейшего развития теряются права, что неоднократно
> доказано на практике.Не нужно смешивать универсальны код и код специфичный. В яве есть платформнозависимые библиотеки от сторонних производителей и если вы ими пользуетесь, то вы делаете это на свой страх риск. По крайней мере вас всегда предупреждают в документации какой код и где будет работать, а где нет. Но к java это не имеет никакого отношения.
В случае форка кода под GPL то каким образом вы потеряете свои авторские права? Если вы не будете менять лицензию, а это запрещено самой лицензией, то ваши права останутся при вас. Другой вопрос, что если вы захотите внести свои правки в основную ветку OpenJDK, то оракл потребует от вас передать им права, так как авторские права на OpenJDK они хотят полностью оставить себе. У них такая политика. Но это полностью добровольное решение,вы имеете права и не отдавать авторство.
Например есть icedtea сборка openjdk от редхата, они дописывают частично код, но при этом не передают его ораклу. Он развиваются как часть одного проекта ибо потерять взаимную совместимость для явы намного страшнее, чем лишиться свободы.
Абсолютной свободы в реальном мире не бывает. Свобода это когда границы дозволенного так широки, что позволяют их не замечать. И ява достаточно свободна что бы не чуствовать ограничений со стороны оракла. Ява кроссплатформна, открытые исходные коды, свободная опенсорс лицензия. Что еще нужно?
Я не смешиваю а говорю именно о базовом коде. Он несвободен потому как не позволяет добавлять другой свободный код, ибо требуется чтобы продукт был основан именно на OJDK. Он также не свободен т.к. не позволяет менять лицензию. Также несвободен т.к. оракл требует передачи прав.Пример со шляпой не показателен, ибо это коммерсы, они договорились и делятся тем что настригут. Приводите примеры крупных сообществ отдающих свой код без каких либо зажимов. Бздуны, апач, не ?
> потерять взаимную совместимость для явы намного страшнее, чем лишиться свободы
и именно по этому она не свободна, она не ставит свободу в ряд высших приоритетов, коммерсы впяливают свое и потом никуда, они важнее, в т.ч. совместимости с открытыми реализациями. Коммерческий продукт, так что не надо тут впаривать, не в пример даже дремучим сям.
> ява достаточно свободна
Она не достаточно свободна, она не позволяет себя использовать массе людей несогласных с этим глядством.
> Он также не свободен т.к. не позволяет менять лицензиюGPL также не позволяет изменять лицензию.
> Приводите примеры крупных сообществ отдающих свой код без каких либо зажимов
А FSF делится со всеми безо всяких зажимов?
> она не позволяет себя использовать массе людей несогласных
Ну сделайте своё такое же. Гугл вон взял и сделал Darts, который на 90% Java, кто лично вам мешает? Ну будет вместо Оракла Гугл или Аноним мешать другим альтернативщикам - невелика разница. А альтернативщики будут срать вам в тапки.
> GPL также не позволяет изменять лицензиюВ т.ч. и поэтому многие говорят что GPL несвободен. Дело не столько в смене сколько в самой лицензии - какую она предоставляет защиту и какие накладывает ограничения, захочется ли ее сменить.
> А FSF делится со всеми безо всяких зажимов?
Разговор был про яву, FSF ее не делает так что это другая басня. Аналогия также неуместна т.к. FSF при этом не давит конкурентов и не стрижет купоны. Она защищает реализацию конкретной версии, а не свое исключительное право на реализацию.
> Ну сделайте своё такое же
Угу, щас прям, апачи вот попробовали. Darts не ява, как бы ни был похож. Ощутите разницу - С и Java, вы можете сделать свой C компилятор и это будет C, а вот если вы задумаете сделать свою яву то это уже не может быть Java, или оно будет не вашим :)
> FSF при этом не давит конкурентов и не стрижет купоныОна запрещает развитие, а это гораздо хуже. Новое средневековье - ну его на***, лучше уж пусть "стрижет купоны".
> Darts не ява, как бы ни был похож
Если что-то выглядит как собака и лает как собака, это называют "собакой".
> Она запрещает развитиеВнутри себя и со своими продуктами пусть делает что хочет, это ее дело а не наше. Главное она не запрещает взять их продукт, форкнуть и развивать как заблагорассудится, так что запрета на развитие нет
> Если что-то выглядит как собака и лает как собака, это называют "собакой".
Но при этом всеже подразумевают что вот эта собака настоящая, а вот эта - нет.
>Главное она не запрещает взять их продукт, форкнуть и развивать как заблагорассудится, так что запрета на развитие нетВключая перелецензирование?
Конечно нет. Тем не менее я бы не стал говорить что FSF прям уж запрещает развитие. Есть разные позиции, например есть много людей которые не хотят развивать коммерческое, считают это неправильным, но ведь это не говорит о том что коммерческие лицензии запрещают развитие, также и тут.
> Например есть icedtea сборка openjdk от редхата, они дописывают частично код, но
> при этом не передают его ораклу.Неточность: передают. Одной из основных задач IcedTea изначально была замена несвободных компонентов платформы (кажется, там работа со звуком велась через закрытые компоненты, и ещё что-то; кто знает, пусть поправит). И как минимум часть этих наработок ушла в OpenJDK.
В остальном более-менее согласен. Хотя я бы предпочёл всё-таки лицензию Apache. :)
> Неточность: передают. Одной из основных задач IcedTea изначально была замена несвободных
> компонентов платформы (кажется, там работа со звуком велась через закрытые компоненты,
> и ещё что-то; кто знает, пусть поправит). И как минимум часть
> этих наработок ушла в OpenJDK.Добавлю что переписывались подсистемы криптографии. К сожалению довольно большая часть крипто-подсистемы не описана в стандартах JCP, потому криптопровайдеры специфичны для каждой JDK. Насколько они продвинулись - ХЗ, уже более года не слежу за темой.
> В остальном более-менее согласен. Хотя я бы предпочёл всё-таки лицензию Apache. :)Тогда иди срочно спасай опенофис. Иначе сдохнет он, в пользу GPLного форка, заметим.
// Да, оракл сам себя нае...л своей неуемной жабой :))
>> В остальном более-менее согласен. Хотя я бы предпочёл всё-таки лицензию Apache. :)
> Тогда иди срочно спасай опенофис. Иначе сдохнет он, в пользу GPLного форка,
> заметим.
> // Да, оракл сам себя нае...л своей неуемной жабой :))Вот даже если по теме сказать нечего - надо со стороны что-нибудь приплести. GPL-проекты загибаются точно так же, как и любые другие. В случае с OOo и LO дело было не в лицензии, как минимум потому, что форк LO произошёл до передачи прав фонду Apache и смены лицензии OOo.
А на "ты" будете разговаривать со своей собакой. Или мне в свою очередь предположить, что фанаты GPL сами гавкают на слово "культура"? Не хотелось бы так разочаровываться
(можете не трудиться выливать полтонны дежурного бреда, с вашим приходом я ухожу - здесь стало плохо пахнуть)
> Вот даже если по теме сказать нечего - надо со стороны что-нибудь
> приплести. GPL-проекты загибаются точно так же, как и любые другие.Особенно заметно на примере развития linux vs bsd ;)
> В случае с OOo и LO дело было не в лицензии, как минимум потому, что форк
> LO произошёл до передачи прав фонду Apache и смены лицензии OOo.Правильно. Но смешно здесь то что оракл за счет такого хитросплетения причин и следствий сам себя обманул. И им не только пришлось отдать руль, но еще и лицензия теперь исключает проприетарные закрытые форки. Красиво они себя обдурили :)
> А на "ты" будете разговаривать со своей собакой. Или мне в свою
> очередь предположить, что фанаты GPL сами гавкают на слово "культура"? Не
> хотелось бы так разочаровыватьсяНа самом деле, например в фидо обращение на "вы" было признаком крайнего неуважения и применялось для подчеркивания что оппонент настолько г-но, что с ним можно вести беседу только в враждебно-официальных тонах. Тоже вариант.
> На самом деле, например в фидо обращение на «вы» было признаком крайнего
> неуважения и применялось для подчеркивания что оппонент настолько г-но, что с
> ним можно вести беседу только в враждебно-официальных тонах. Тоже вариант.в юзнете тоже. а потом пришли вот эти вот «ревнители морали и вежливости», которые сделать ничего не сделали, зато сразу начали свои правила насаждать. они меня умиляют.ю
> в юзнете тоже. а потом пришли вот эти вот «ревнители морали и
> вежливости», которые сделать ничего не сделали, зато сразу начали свои правила
> насаждать. они меня умиляют.юДа почему-то все эти новоиспеченные бсдшники сплошные лолы, как на подбор. ЧСВ до небес, считают себя уникальными что пипец, по жизни пытаются доказать что круче только яйца, но при этом ничего не представляют из себя как системщики/программисты.
Внезапно, FSF ТОЖЕ требует передачу себе всех прав на изменения в gcc. Таки шо, Столлман тоже вошел в число душителей свободы?
> Внезапно, FSF ТОЖЕ требует передачу
>Столлман тоже вошел в число душителей свободы?Как-нибудь на досуге сравните условия передачи Ракелу и ФСФу.
Обязательно поделитесь выводами!!
Тут GPL - и там GPL, тут передача всех прав - и там передача всех прав. Будем с микроскопом искать разницу?
> Тут GPL - и там GPL, тут передача всех прав - и там передача всех прав.Блин, даже обидно. Такой Пламенный Борец, а так бездарно слил. Слова "договор о передаче прав" г-ну Пламенному ничего не говорит? Ну, ничего-ничего-ничего!!
> Тут GPL - и там GPL...FSF не запрещает сторонние реализации, сторонний компилятор сей остается С компилятором, а вот стороннюю реализацию Java вы сделать не можете, ибо торговая марка, и даже если назовете по другому то всеравно как показывает новость будут вставлять палки в колеса.
Очень даже может быть. Но OpenJDK, также как и JIT продолжают оставаться открытыми и свободными. Может, права на слово "Java" и остаются у Оракла, но это не должно мешать Вам сделать свой IcedTea.
Заодно, вспомните, как FSF не давал встроить в gcc поддержку D...
> не должно мешать Вам сделать свой IcedTeaи не мешает, если вы проприетарщик или будете ходить только там где разрешат, а вот если захотите сделать полностью свободную реализацию то получится как с апачами.
> FSF не давал встроить в gcc поддержку D
но и не запрещал ее форкнуть и встраивайте что хотите, потому как сама идея коллекции не хомячится, яву же форкнуть нельзя, ибо она захомячена, а OpenJDK всего лишь компонент и ваша свобода в яве ограничивается его рамками, причем как это уже бывало, завтра может выясниться что OpenJDK это вовсе и не Java, не интерпрайзно, имеет такие и такие ограничения применимости и т.п, и даже если этого не будет, то эта карта будет разыгрываться.
Хватает ли мне свободы внутри OpenJDK ? Да. Но гнилой сути постановки сообщества под контроль коммерческих корпораций это не меняет. Вы тут развивайтесь, а мы будем сидеть в уголке и стричь с этого купоны.
> гнилой сути постановки сообщества под контроль коммерческих корпорацийВообще-то, здесь происходит обратный процесс :) Насквозь проприентарная ява из года в год становится все более свободной.
А какая свобода Ван еще нужна? BSD-лицензия? Вы обладаете свободой делать все, что не запрещает GPL-лицензия. Вам никто не может запретить форкать хоть OpenJDK, хоть JIT. Другое дело, что решение о включение в майнстрим принимается (внезапно не одним Ораклом) а советом корпораций - ну, так и ява, сама по себе, инструмент энтерпрайзный, прежде всего. Так какой свободы еще не хватает?
Ну, обратный процесс конечно происходит :) слава богу, ваша правда. Какой свободы мне не хватает ? А вот как у сей, я хочу чтобы сам продукт, а не одна его зависимая реализация был свободным, чтобы например все те же апачи могли свободно выпустить свою FreeJava, а я бы потом выбрал что использовать и развивать. Замечания по поводу что мол получится зоопарк версий - отмазки, как мы видим никакого зоопарка с сями нет, точнее он есть конечно, но подавляющая часть накрывается тремя-четырьмя реализациями, а большая и вовсе двумя, так что по факту проблемы нет, что же касается всяческих расширений стандарта, ну так и в яве это есть.Было бы так - можно было бы взяться, но к сожалению я наблюдаю постоянное захомячивание явы под одного хозяина, в попытке в перспективе срубить на ней бабла, поиметь контроль над всем сегментом и т.п, даже несмотря на то что теперь уже сложно. Не правильно это, не по человечи, поэтому я не хочу это поддерживать.
Вообще время то "товарищи" уже пожалуй упустили, но бодаться еще будут, вопрос сейчас мне кажется уже лишь в том какая виртуальная машина и среда станут первыми по настоящему свободными и массовыми, за ними и будет победа. Ява с такой политикой рискует таки пролететь полностью.
кстати, если эта ниша вообще в ближайшее время не будет основательно подожрана вебом
>> Тут GPL - и там GPL...
> FSF не запрещает сторонние реализации, сторонний компилятор сей остается С компилятором,
> а вот стороннюю реализацию Java вы сделать не можете, ибо торговая
> марка, и даже если назовете по другому то всеравно как показывает
> новость будут вставлять палки в колеса.Очень даже запрещает. Вы бы почитали что запрещается делать с gcc - и как господин Столман накладывает ограничения на промежуточный код который генерирует компилятор.
Если не в теме - то вы бы не позорились лучше.
FSF это такая мерзкая контора где за словами о свободе скрывается жажда наживы и требование отдавай ей все права на код.
> FSF это такая мерзкая контора где за словами о свободе скрывается жажда
> наживы и требование отдавай ей все права на код.И в чем состоит нажива FSF? Ну вот у оракла я вижу миллиарды. А где они у FSF? :)
> Очень даже запрещает.Нука пример как FSF запретил стороннюю реализацию набора компиляторов, иначе пук.
>In 1997, a group of developers formed EGCS (Experimental/Enhanced GNU Compiler System),[14] to merge several experimental forks into a single project. The basis of the merger was a GCC development snapshot taken between the 2.7 and 2.81 releases. Projects merged included g77 (FORTRAN), PGCC (P5 Pentium-optimized GCC), many C++ improvements, and many new architectures and operating system variants.[15][16]
>EGCS development proved considerably more vigorous than GCC development, so much so that the FSF officially halted development on their GCC 2.x compiler, "blessed" EGCS as the official version of GCC and appointed the EGCS project as the GCC maintainers in April 1999. Furthermore, the project explicitly adopted the "bazaar" model over the "cathedral" model. With the release of GCC 2.95 in July 1999, the two projects were once again united.Внезапно, пример. Только не тот, что Вы просили, а пример обратного — существования форка, причем оказавшегося настолько лучше официального, что официальный забросили, а новым официальным обьявили форк.
>Внезапно, пример. Только не тот, что Вы просили, а пример обратного — существования
>форка, причем оказавшегося настолько лучше официального, что официальный забросили, а
>новым официальным обьявили форк.Анон, вот ты мне объясни что стало с этого? Обществу стало хуже? Или же стало хуже паразитам общества?
>> Что бы я вас правильно понял, то вы считаете что ява -говно,
>> а gw-basic не говно? так?
> угу. людей, которые после gw-basic'а начинали нормально писать я мало, но видел.
> а вот чтобы после жабы — ни одного. разве что совсем
> в похапэ уходили.ну так вы же на чем-то программируете, что дает гарантированный результат, что программист будет супер спецом?... Что-то вы не хотите просвещать нас неучей в чем пишут тру кодеры.
> проприетарный OpenJDKне под GPL ли он?
или это частная логика и GPL - несвободен?---
> Ну, вот, свободная Java умерла окончательно.Однакож недавн, незадолго до этих новостей гуглоиды начали помогать портировать байндинги библиотек VMkit/J3 (это JVM из стека LLVM) с GNU Classpath на OpenJDK, в то время как сам VMkit/LLVM под BSDL.
> Ну, вот, свободная Java умерла окончательно. Развивайте дальше свой проприетарный OpenJDK.Так это ты вроде дро^W на яву? Тебе и развивать.
Интереса ради, у java кроме .net есть аналоги?
Много. Только по полноте реализации пока слабо.
У java нету аналогов. .NET - не конкурент, проблемы с совместимостью версий и кроссплатформенностью.
> Интереса ради, у java кроме .net есть аналоги?.net не полный аналог - нет кроссплатформенности, нет поддержки разных ОС, нет поддержки различных АппСерверов от различных производителей. Плюс java АппСервера тоже различаются между собой даже от одного производителя - нужен полный стек JavaEE - пользуйся (Apache Geronimo, RedHat JBoss, etc), нужен только web-container - есть такой (Apache Tomcat, Eclipse Jetty, etc), и множество промежуточных вариантов.
хотя .net имеет свои локальные преимущества при программировании только под Win.
>> Интереса ради, у java кроме .net есть аналоги?
> .net не полный аналог - нет кроссплатформенности, нет поддержки разных ОС,Да там даже совместимости между версиями нет. Для перехода с dotnet N на (N+1) надо код переписывать. Как минимум для N = 1 .. 4 это было именно так. Written once, does not runs anywhere unless you'll patch it.
>>> Интереса ради, у java кроме .net есть аналоги?
>> .net не полный аналог - нет кроссплатформенности, нет поддержки разных ОС,
> Да там даже совместимости между версиями нет. Для перехода с dotnet N
> на (N+1) надо код переписывать. Как минимум для N = 1
> .. 4 это было именно так. Written once, does not runs
> anywhere unless you'll patch it.Не путайте две вещи:
1. Запуск программы, скомпилированной под версию платформы N в платформе версии N+1;
2. Компиляцию программы, изначально созданной под платформу версии N, с SDK платформы версии N+1.
Первое в дотнете (с точки зрения пользователя) не проблема, так как несколько версий дотнета ставятся параллельно. В случае с Java такой жёсткой привязки нет, но и гарантий никто не даст; простое приложение запустится, скорее всего, без проблем, а что-то серьёзное - уже вряд ли.
Второе же может вызывать проблемы в любой платформе. Это тогда надо хитрый слой обратной совместимости заранее предусматривать, который, в общем-то, не особо и востребован, пока можно запускать старые программы в старом окружении.
Так что в этом плане дотнет не особо отличается от других платформ. А "runs anywhere" - это уже про кросс-платформенность, и вот это действительно то, чем он не стал.
Сначала Sun, а теперь и Oracle гарантируют полную совместимость всех прежних версий с текущей, как на уровне исходных кодов, так и бинарников. У меня никогда не было ни малейших проблем с переходом с 5 на 6 и с 6 на 7 версии.
> Первое в дотнете (с точки зрения пользователя) не проблема, так как несколько
> версий дотнета ставятся параллельно. В случае с Java такой жёсткой привязки
> нет, но и гарантий никто не даст; простое приложение запустится, скорее
> всего, без проблем, а что-то серьёзное - уже вряд ли.Сложные обычно тоже запускаются. Если не работают, то это баг платформы и он фиксается.
> Второе же может вызывать проблемы в любой платформе. Это тогда надо хитрый
> слой обратной совместимости заранее предусматривать, который, в общем-то, не особо и
> востребован, пока можно запускать старые программы в старом окружении.Это обязытельное условие для java. Валидный код для N компилируется (бывает с предупреждениями) на N+1.
> Не путайте две вещи:
> 1. Запуск программы, скомпилированной под версию платформы N в платформе версии N+1;
> 2. Компиляцию программы, изначально созданной под платформу версии N, с SDK платформы
> версии N+1.
> Первое в дотнете (с точки зрения пользователя) не проблема, так как несколько
> версий дотнета ставятся параллельно.Или не ставится. Приколитесь?! Некоторые версии дотнета себя такой ерундой не утруждают. И при этом заодно еще и несовместмы с прошлой версией. MS имеет специфичное чувство юмора.
Если имеется в виду язык - вряд ли. Если энтерпрайзная экосистема, позволяющая надежно писать, деплоить, апгрейдить и т.п. - то Erlang/OTP в помощь, если GUI не критичен. На редкость добротная и продуманная штука. Опять же - при необходимости тривиально интегрируется с кодом, написанным на других языках, так что наваять node-числодробилку, скажем, на сях - элементарно, и OTP будет контролировать, не умер ли он, в случае необходиомсти - перезапускать и т.п.
не хочу чтоб мои код исполнял JVM.
есть ли способ получить бинарный код напрямую???
у MS JAVA был такои способ, но это было давно :(
gcj
спасибо.
но это в *nix, а как в Win?
Есть коммерческие инструменты. Стоят не так уж и дорого.
exe'шники им тоже можно собирать
> спасибо.
> но это в *nix, а как в Win?гнутый си и его утилси не привязаны к системам, под винды есть его порт mingw. Там вроде и gcj был.
> gcjтолько это не java и довольно хреново исполняет валидные java проекты. возможно под gcj нужно писать на своем собственном языке слегка похожем на java :)))
> gcjПроект уже умер. Формально еще открыт, но последние правки кода там были года 3 назад.
> Хочу писать на Java но не для виртуальной машиныХочу есть, но не ртом
+1.
Тот "бинарный код" будет состоять из кастрированной JVM, выполняющей весь остальной "бинарный код". То, что это будет одним exe-шником, только усугубит кривизну ситуации.
> +1.
> Тот "бинарный код" будет состоять из кастрированной JVM, выполняющей весь остальной "бинарный
> код". То, что это будет одним exe-шником, только усугубит кривизну ситуации.А вот это не обязательно - можно и сразу сгенерить таки все в нативный код. Явой это конечно уже не будет, но на результат выполнения это не влияет.
В этом "нативном коде" будут либо свои реализации интерпретатора байткода и сборщика мусора, либо привязки к библиотеке, реализующей их (libgcj, например).
Именно это я и назвал "кастрированной JVM".
> В этом "нативном коде" будут либо свои реализации интерпретатора байткодаЗачем? Можно заранее перевести байткод в нативный машинный код.
> и сборщика мусора,
А управление памятью к кодогенерации не относится практически никак.
> либо привязки к библиотеке, реализующей их (libgcj, например).
> Именно это я и назвал "кастрированной JVM".Опять же, там не обязано быть никакой VM. Можно сразу, на этапе компиляции, сделать вместо абстрактного байткода сразу нативный код конкретного проца, этакий "jit заранее" (ака "просто компиляция").
> не хочу чтоб мои код исполнял JVM.
> есть ли способ получить бинарный код напрямую???
> у MS JAVA был такои способ, но это было давно :(Exilester (если правильно написал) и еще несколько им подобных. Но заранее приготовленный бинарный код более тормозной по сравнению с работой JVM. JVM использует JIT для подгонки под конкретный проц, компилятор в бинарь гонит в общий код самого слабого из поддерживаемых процов.
> Но заранее приготовленный бинарный код более тормозной по сравнению с работой JVM. JVM использует JIT для подгонки под конкретный проц, компилятор в бинарь гонит в общий код самого слабого из поддерживаемых процов.Опять эта пурга начинается. Если сами жабу никогда не запускали то хотя бы читайте любимый портал про реальную эффективность джитов
http://www.opennet.me/opennews/art.shtml?num=32188
.... в свежей ночной сборке Firefox, в состав которой недавно включен улучшенный анализатор типов, существенно ускоряющий работу встроенного в JavaScript-движок JIT-компилятора. Обычно, JavaScript-код полученный после компиляции Emscripten отстаёт от первоначального варианта на языке Си в 3-4 раза. Новая техника оптимизации в JIT-компиляторе Firefox позволила сократить данный разрыв.
для этого можно использовать, например,
Excelsior JET (http://www.excelsior-usa.com/jet.html)
"Upon startup, the application executable links to the Excelsior JET Runtime, which provides the Java SE API classes (also native compiled) and low-level runtime support routines necessary for Java applications, such as garbage collection"
Это не компиляция в нативный код, это выполнение Java-программы встроенной в тот же исполняемый файл эрзац-JVM.
Классы-то и в JRE "native compiled"...
> Это не компиляция в нативный код, это выполнение Java-программы встроенной в тот же исполняемый файл эрзац-JVM.Это 100500 лет существующий (бывший???) новосибирский продукт. Все там компилируется в код. Другое дело что
1. выигрыш может быть не так велик поскольку компилятор там это не вылизываемый всем миром гцц, например гцджи несколько лет назад (а сейчас он вроде вообще умер) на довольно многих тестах сливал по скорости санковской дживм, а обгонял прилично только по чистому числодроблению
2. встроенная дживм в компиляторах жабы обычно тоже есть чтобы можно было подключать модули прямо в байткоде если такое надо
> не хочу чтоб мои код исполнял JVM.
> есть ли способ получить бинарный код напрямую???
> у MS JAVA был такои способ, но это было давно :(Excelsior JET
> не хочу чтоб мои код исполнял JVM.
> есть ли способ получить бинарный код напрямую???
> у MS JAVA был такои способ, но это было давно :(были аппаратные процессоры исполняющие джава. но что-то не пошли они ....
> были аппаратные процессоры исполняющие джава. но что-то не пошли они ....У ARM был Jazelle. Но доки на него не общедоступны, и оно привязано к конкретной реализации явы. Ну и как-то так на него все дружно забили, тем более что оно не все аппаратно умело делать и многое один фиг делалось программно. Тем более что в случае JIT такие костыли становятся излишни.
googlr спаси java ! уничтож оракл !
Нашему бы теляти, да волка зъисты.