LINUX.ORG.RU

Java полностью свободна под лицензией GPL

 ,


0

0

Отныне Java полностью свободна и открыта даже в соответствии с представлениями о свободе и открытости таких пуристов, как Р. Столлман.

В 2007 году Sun добилась в Java (JDK версии 6) минимизации объемов кода, не допускающих GPL-лицензирование - порядка 4%. Но с учётом общей сложности проекта эта цифра оказалась немаленькой.

И вот, наконец, проект IcedTea, который официально и легально, на основании соглашения с Sun, ведёт Red Hat, достиг первых поставленных целей.

>>> Подробности

☆☆

Проверено: Shaman007 ()
Ответ на: комментарий от tommy

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

Вероятность... Вот сву рассказывал про какие-то страшные двери, которые прям таки охотятся за гениталиями всех программистов на C++. Ты не об этом? ;)

gaa ★★
()
Ответ на: комментарий от anonymous

> Мне непонятно, почему в почти каждую новость влезает Унылус и пытается всех заразить своим унынием?

Осталось недолго, скоро я начинаю новую жизнь.

// :(

anonymous
()
Ответ на: комментарий от anonymous

> Да и к сведению джава быстрее питона в общем случае.

нет никакого общего случая. смотря как писать на яве и как писать на питоне

anonymous
()
Ответ на: комментарий от gaa

> Версию! Версию!

CDT 5

> Может правда CDT починили...

Оно стало получше CDT 4

tailgunner ★★★★★
()
Ответ на: комментарий от Sidrian

>Ну так объяните нам, убогим, почему на жабе не ваяют топовые ПКшные игрухи и вендоутилитки?

А почему физики хватаются за свой любимый Фортран и не дают ему умереть?

Сила привычки, лядь!

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

> А почему физики хватаются за свой любимый Фортран и не дают ему умереть?

Потому что на нем написаны горы кода, который никто не хочет переписывать. А движки для игрушек писались с нуля много раз за последние годы. И как-то ни одного на Яве, с чего бы?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

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

Потому что редкий гейдевелопер знает что-нибудь кроме плюсов.

anonymous
()
Ответ на: комментарий от tailgunner

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

Тыть: http://www.espresso3d.com/

iZEN ★★★★★
()
Ответ на: Re^2: Java полностью свободна под лицензией GPL от Voker57

и это примеры торможения? несерьёзно.

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

tommy ★★★★★
()
Ответ на: комментарий от tailgunner

Потому что главные фичи джавы геймдевелоперам ни к чему. В играх, как правило, очень интенсивные вычисления => JIT проигрываем нативному коду. В играх, как правило, требуется реалтайм => сборщиком мусора проигрывает ручному управлению. А вот кроссплатформенность играм не нужна. Секьюрность играм не нужна. Куча серверных библиотек играм не нужна. И т.д. и т.п. В остатке имеем хорошие IDE и более быстрое написание кода у Java. Они никак не перевешивают недостатков.

Legioner ★★★★★
()
Ответ на: комментарий от anonymous

Если смотреть в таком ключе, то и C++ не быстрее Java.

anonymous
()
Ответ на: комментарий от tommy

Re^4: Java полностью свободна под лицензией GPL

> и это примеры торможения? несерьёзно.

Весьма серьезные примеры. Или надо скорость загрузки гуёв считать?

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

Значит, торможение в ней некритично? Ну а зачем тогда заявлять что она не тормозит?

Voker57 ★★
()
Ответ на: комментарий от tommy

> И ещё раз - Java это платформа. Пиши/ищи готовый оптимизированный код для критичных участков.

При вылезании готового кода за рамки jvm вся кроссплатформенность явы мигом улетает в трубу. Равно как и защищённость с простотой написания. Слив.

gaa ★★
()
Ответ на: комментарий от gaa

многим нужна именно кроссплатформенность, а не осознание того что твой некроссплатформенный, оптимизированный под процессор код на C++ иногда будет работать на несколько процентов быстрее кода на Java.

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

tommy ★★★★★
()
Ответ на: комментарий от tommy

Вообще, имхо, причина тормознутости Java лежит не в языке а в библиотеках. Все эти стектрейсы на 5 экранов даром не проходят, за абстракцию нужно платить.

Legioner ★★★★★
()
Ответ на: комментарий от tommy

> некроссплатформенный, оптимизированный под процессор код на C++ иногда будет работать на несколько процентов быстрее кода на Java.

Иногда быстрее? Ты смешон.

И чё ты к сиплюсплюсу-то придрался?

gaa ★★
()
Ответ на: комментарий от tommy

Так как Ъ по ссылкам не ходят, я чуток процитирую... (fusej -- это на яве):

Uncompress (a part of) linux kernel sources (unzip-linuxsrc)
   fuse-zip      2.93    0.12      0.79 
   kio-zip      12.63    4.42      0.80 
   kio-krarc    47.40    2.53      0.26 
   mc-uzip    2353.59    1870.04 381.76 
   gvfs-fuse     FAIL    FAIL      FAIL 
   unpackfs     28.18    0.11      0.78 
   avfs-fuse     4.09    0.10      0.92 
   fusej-zip     FAIL    FAIL      FAIL

Legend: 
n/a -- functionality not supported 
FAIL -- program crashed or freesed

----------

Тут спрашивали почему столько народу так не любят яву. 

Ответ: санки ее так нагло пиарят, что прям от этого жить уже тяжко.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> Так как Ъ по ссылкам не ходят, я чуток процитирую... (fusej -- это на яве):

О, да, какая то поделка, про которую никто не слышал, слепленная за вечер, является показателем качества языка. Есть вот javac, компилятор джавы, он, конечно, примитивен донельзя, однако вот в нём багов весьма мало, и он работает весьма шустро. Что санки делают не так?

> Ответ: санки ее так нагло пиарят, что прям от этого жить уже тяжко.

Это где они её пеарят? Меня вот всякие мейбеллины достают и прочие вошь унд гоу. Пеар санок не замечаю.

Legioner ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Ну а если Великая Ява таки не падает, то:

Extract one file from big archive (extract-one-2)

   Program      real    user    system
   fuse-zip     0.03    0.00    0.00 
   kio-zip      0.09    0.03    0.02 
   kio-krarc    0.18    0.09    0.02 
   mc-uzip      0.08    0.04    0.03 
   gvfs-fuse    1.58    0.03    0.03 
   unpackfs     0.62    0.01    0.01 
   avfs-fuse    0.03    0.01    0.00 
   fusej-zip    0.28    0.21    0.05 

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

>Тут спрашивали почему столько народу так не любят яву.

сколько? те несколько крикунов - это уже много? плюс обычные тролли которые во всех темах пишут "subj не нужен".

tommy ★★★★★
()
Ответ на: комментарий от Legioner

> Есть вот javac, компилятор джавы, он, конечно, примитивен донельзя, однако вот в нём багов весьма мало, и он работает весьма шустро

Ты может думаешь я его не запускал, что ли?

g++ намного шустрее.

> Это где они её пеарят? Меня вот всякие мейбеллины достают и прочие вошь унд гоу. Пеар санок не замечаю.

А что, статьи типа "числовые вычисления на яве" будет разумный человек бесплатно писать?

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Legioner

> Пеар санок не замечаю.

Может потому, что сам в нем участвуешь?

Сидели бы санки тихо со своей жабой в болоте, никто бы не придирался.

Вот скажи, много криков типа "немерле не нужен? скала не нужна?"

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> g++ намного шустрее.

В общем здесь много смайлов и прочего. У javac, обычно, львиная доля времени уходит на инициализацию Java, сама компиляция очень быстрая. g++ адски тормозит уже на десятке стандартных инклудов.

Можно будет как-нибудь сравнить скорость с IBM-овским j9, который на С++.

> А что, статьи типа "числовые вычисления на яве" будет разумный человек бесплатно писать?

Бесплатно вообще мало что пишут.

Legioner ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> Может потому, что сам в нем участвуешь?

Может. Где мне получить свою долю? :)

> Сидели бы санки тихо со своей жабой в болоте, никто бы не придирался.

Ещё бы :)

> Вот скажи, много криков типа "немерле не нужен? скала не нужна?"

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

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Ладно, уточню еще.

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

А если кто свои языки типа скалы и немерле пиарит, то аккуратно, не представляя их панацеей, как это делают санки со своей Великой Явой.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

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

Не знаю, сколько. Я абстрактные статьи редко читаю, предпочитаю либо книги, либо статьи по определённым продуктам. Я так и не понял, где все эти статьи? На лоре мелькает иногда переведённый промптом девелопервокс, так это IBM. На TSS в основном вменяемый контент. Баннеры у меня отключены.

> А если кто свои языки типа скалы и немерле пиарит, то аккуратно, не представляя их панацеей, как это делают санки со своей Великой Явой.

Панацеей её представляют менеджеры менеджерам, и инженеров это волновать не должно.

Legioner ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

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

Может даже и без руководства. Результат, правда, не поддаётся никакому сопровождению.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Обсуждение полезно все таки. Я хотя бы понял, что меня волнует...

> Панацеей её представляют менеджеры менеджерам, и инженеров это волновать не должно.

Сгущая краски, конечно, но вот:

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от tommy

> многим нужна именно кроссплатформенность, а не осознание того что твой некроссплатформенный, оптимизированный под процессор код на C++ иногда будет работать на несколько процентов быстрее кода на Java.

1. Смотри пример с fuse -- там тоже несколько процентов?

2. А что, по твоему только Великая Ява переносима? А плюсы -- нет? > и вообще - это всё теория. вы мало видели плохих, тормозных программ на C++?

На яве я их видел намного больше.

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

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

Да и вообще этот ooBase на ноуте с Трансмета 1000 МГц 256 МБ (который пригоден для отрисовки мп4 фильма на весь экран) работает медленнее, чем МС Аксесс на 486 с 16 метрами.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от tommy

> И ещё раз - Java это платформа. Пиши/ищи готовый оптимизированный код для критичных участков.

1. Уже сказали, что в таком случае теряется переносимость Великой Явы.

2. Я утверждаю, что есть случаи, когда в яве НЕВОЗМОЖНО написать "оптимизированный код для критичных участков".

Например, я хочу сделать свою виртуальную двойную диспетчеризацию для классов на яве. Как ее сделать, не патча клиентские JVM? А если я ее напишу на С, то вызов С-функций сожрет всю выгоду от этого.

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

>1. Смотри пример с fuse -- там тоже несколько процентов?

не буду. я непонимаю зачем это и кем и для чего написано.

>2. А что, по твоему только Великая Ява переносима? А плюсы -- нет

а плюсы - нет. потому что Java это в первую очередь платформа, а c++ просто язык который уже и без надстроек ввиде шаблонов и тп жить не может, и своих тулкитов не имеет. плюс такие тулкиты как qt - платные. это не способствует переносу программ с той же windows на unix. GPLьность qt - только для GPL программ. соответственно и нет переносимых программ с закрытым исходным кодом. мало того что разработчикам часто вообще ненужен линукс, так чтоб портировать под него прогу ему надо покупать индульгенцию от trolltech. есть ещё что кроссплатформенное? wx не предлагать, я знаю как работает VLC.

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

это вообще к чему?

tommy ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

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

> Да и вообще этот ooBase на ноуте с Трансмета 1000 МГц 256 МБ (который пригоден для отрисовки мп4 фильма на весь экран) работает медленнее, чем МС Аксесс на 486 с 16 метрами.

OpenOffice на плюсах написан, если что.

Legioner ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> Например, я хочу сделать свою виртуальную двойную диспетчеризацию для классов на яве.

Берёте и делаете, обычный Visitor. Или вы в плюсах её по-другому делать будете?

Legioner ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

ну и пиши на плюсах. под одной платформой. в линукс и бинарники часто непереносимы.про перенос C/C++ программы с GUI с платформы на платформу вообще разговора нет. а на C всё равно быстрее чем на плюсах.

tommy ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

>Например, я хочу сделать свою виртуальную двойную диспетчеризацию для классов на яве

Class c1 = obj1.getClass(); Class c2 = obj2.getClass(); Handler h = Handler.locateHandler(c1, c2); if (h != null) { h.execute(obj1, obj2); } else { throw new RuntimeException("...."); }

Absurd ★★★
()
Ответ на: комментарий от Absurd

Концептуально правильно, но будет ли это быстро работать?
Конкретизируя немного:
class Test1
{
class Thing {...};
class Asteroid extends Thing {...};
class Ship extends Thing {...};

collideAA(int i) {...}

int collide(Thing t1, Thing t2, int i) {
// ... а вот здесь напиши свой locateHandler,
// и можем сравнить как оно будет тормозить
}

};

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от tommy

> ну и пиши на плюсах.
плюсы не панацея

> под одной платформой.
man gcc

> в линукс и бинарники часто непереносимы.
bsd линуксовые бинарники исполняет... а wine -- виндовые

> про перенос C/C++ программы с GUI с платформы на платформу вообще разговора нет.

man qt

> а на C всё равно быстрее чем на плюсах.
выучи плюсы -- узнаешь за что их критиковать...

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

... определенно жертва сановской пропаганды, которая кричит все это , разве не так?

кстати, кроме qt есть wxWidgets (и gtk, только он вроде не для макоси -- но могу ошибаться)

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> // и можем сравнить как оно будет тормозить

Я не предлагаю сделать красиво и элегантно... я предлагаю попытаться руками "оптимизировать явовскую двойную диспетчеризацию", но при этом все же сделать так, чтобы классы Thing Asteroid Ship остались классами. Разрешается применять ассемблер... но патчить JVM нельзя, надеюсь с этим вы согласитесь.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

>man qt

иди почитай про лицензию на qt. я только что правда описал ситуацию с qt. он полупроприетарен.

tommy ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Можно даже взять задачу попроще:

допустим, мы знаем, что у классов Thing Asteroid Ship имеется ровно один виртуальный метод. И мы хотим сделать обычную виртуальную диспетчеризацию своими руками. Но чтобы побыстрее явовской.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

и вообще - на закате существования языка, через 30 лет после возникновения накатали [полу]проприетарный кроссплатформенный (вроде бы реально с 4-ой версии) тулкит силами коммерческой компании. есть чем хвалиться языку. правда кроссплатформенность ещё не используется реально насколько я понимаю. просто помогает портировать проги под unix.

tommy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.