LINUX.ORG.RU

Столлмен: The Java trap


0

0

Очередное эссе Ричарда Столлмена о ловушках java на пути свободного ПО.

Вкратце: написанный вами софт, даже будучи открытым может не будет действительно свободным, если зависит от несвободных технологий, наиболее ярким примером чего является сегодняшняя ситуация с Java. Единственная надежа -- GNU Classpath!

>>> Free but shackled: The Java trap

anonymous

Проверено: maxcom

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

Shaman007 ★★★★★
()

Sun's implementation of Java is non-free. Blackdown is also non-free; it is an adaptation of Sun's proprietary code. The standard Java libraries are non-free also. We do have free implementations of Java, such as the GNU Java Compiler and GNU Classpath, but they don't support all the features yet. We are still catching up.

Типа мы "на подхвате" :)

anonymous
()

To keep your Java code safe from the Java Trap, install a free Java development environment and use it.

anonymous
()

Бартия, что за грызня? Не позорьтесь! За вами и так дурная слава! Лучше порадуйтесь тому, что есть еше люди говорящие о свободе!

easimonenko
()

Ну вот, начинается давление на Sun и они сами виноваты, т. к. их предупреждали недавно, и неоднократно :-) Если Java не будет места в мире свободного софта, то ей не будет места в будущем вообще. Динозавры из Sun слишком ограничены и глупы, чтобы это понять.

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

А ты видно проводил много милионные маркетинговые исследования, чтобы прийти к такому выводу :) Насколько глуп должен быть человек, который считает себя умнее целой корпорации... Мда... Насчет java в свободном софте. Заметил тенденцию. Пустить ее на путь OpenSourse орут в основном те, кто с трудом Java от JavaScript отличит. Не видел еще ни одного Java программера, который бы выступил за. Ни о чем не говорит?? Вам оно надо?? Нет? Так и не мешайте людям работать.

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

> Если Java не будет места в мире свободного софта, то ей не будет места в будущем вообще.

Хе-хе. Видать, у IBM c Novell не осталось более весомой тявкалки, чем RMS, чтоб достойно ответить альянс SUN и Microsoft.

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

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

eXOR ★★★★★
()

У Столлмена "крышу" сорвало, ещё бы он предал анафеме все процессоры и материнские платы, они же ведь тоже несвободны! Ещё бы ему морпехов и тогда победа демократии в софте обеспечена.

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

У Столлмена всегда крыша была немного ... на излете. Но это не отменяет его ценности для человечества. У него есть свои мысли (это редкость - сюда на ЛОР этого не завозят, тут чужими питаются:). Он их высказывает. И над этими мыслями можно думать - они чаще всего того стОят (даже если с ними не соглашаться).

Но с Да Винчи все-таки его не сравнивайте. Все-таки Емакс - не Джоконда:)

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

А чего тут шум стоит про java.
Архаичный язык, с архаичными структурами
данных.
Примитивные типы не являются классами
скобочный синтаксис-плохая читабельность кода
в общем если бы не деньги и promotion Sun,
такой язык просто никого бы сегодня не удивил.
Это я про то,
что есть perl,python,ruby,eifel,lua,c,c++,ML.
И они все не собственность одной компании и все они
могут быть конкретными альтернативами для конкретных
решений.








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

> с архаичными структурами данных

Все сложные структуры данных вынесены в библиотеки. Сделано специально.

> Примитивные типы не являются классами

Для производительности. Автобоксинг в 1.5 "заполирует" этот недостаток.

> скобочный синтаксис-плохая читабельность кода

Как связаны скобки с читаемостью? ИМХО жабка один из самых читаемых (хотя и ОЧЕНЬ многословна). Кто читается лучше?

> eсли бы не деньги и promotion Sun, такой язык просто никого бы сегодня не удивил.

Наверняка. Но это все было - деньги и промоушн. И поэтому сегодня есть еще одная важная составляющая - поддержка платформы сторонними разработчиками.

Очень странное впечатление. Народ ругает жабку как язык, напрочь игнорируя тот факт, что это платформа. Развитая, зрелая. Богатая всякими API. С мощной поддержкой третьесторонних фирм (от МежДелМаша до мелких аутсорсников-одиночек).

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

Ээээ...товарищ. Да с вами и разговаривать не о чем. Java это платформа. Могу честно признаться на ruby,eifel,lua и ML не писал. О ruby слышал несколько слов. И насколько мне стало понятно это больше на замену для PHP годится. Теперь по порядку, буду сравнивать только с тем, что знаю:

>Примитивные типы не являются классами

В C вообще классов нет. В С++ еще меньше ООП (вспомним методы вне классов), в PHP еще более убогая реализация PHP (даже инкапсуляцией не пахнет!!!), перл - честно могу сказать, мои задачи связанные с использованием perl не затрагивали его ОО возможностей

>скобочный синтаксис-плохая читабельность кода

Напомню, в perl, php, c, c++ тоже скобочный синтаксис. Более того, с плохой читабельностью с вами поспорит любой java-программист. Вот программы на perl, php невозможно читать. Более того, языки предназначены для другого спектра рынка. Реально БОЛЬШИЕ проекты на PHP писать очень сложно, а поддерживать просто невозможно (с PHP работать пришлось вплотную).

Далее, язык вам представилди не сегодня, а еще в 91ом году. Так что вас не просятся удивляться. Java - не панацея. Это еще одно средство разработки, и надо сказать - неплохое средство.

Так же замечу, что в отличии от очень умного и далеко смотрящего в будущее господина obp, мелкая и глупая конторка Microsoft позволила себе глупость просто слизать синтаксис и идею с Java. Вот настолько плохи идее Java и такая вот глупая фирма, которая вот вот признает себя банкротом :)))

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

>Но с Да Винчи все-таки его не сравнивайте. Все-таки Емакс - не Джоконда:)

Дык "значительное видится на расстоянии" могет и повесят их рядом в Лувре лет через 200 ;)

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

Вообще, задав себе этот вопрос, я понял - наибольший шанс стать "долгожителем" имеет программа "Hello World" на С. Т.е. я готов поверить, что она будет в учебниках лет через 100. Остальное ПО, скорее всего, станет бессмысленным раньше. Да, возможно, еще что-нибудь на Коболе или Фортране выживет - но и то, вряд ли.

Если Емакс в Лувре повесят (как наскальные надписи) - не беда. Или даже Столмана - виде мумии:). Но это не сделает Емакс произведением искусства уровня Мона Лизы.

svu ★★★★★
()
Ответ на: комментарий от Sun-ch

>Да ладно, Давинча ваще лох был, он даже лиспа не знал

Прикинь ... без лисап и акада САМ РУКАМИ ваял чертежи ... Маньяк короче ...

BTW: Джоконда кстати неплохо у него получилась только через бронестекло хреново видно ;)

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

> только через бронестекло хреново видно

Дык о чем и базар! Если бы он ее в иллюстраторе сварганил - куды как проще всем было бы. Понаделали бы копий, хоть в каждую хату - и никакого бронестекла бы не понадобилось. А чтоб никто не сомневался - цифровую подпись бы на файлик поставил. Или стеганографией как-нибудь отметил... Лох он был, адназначна.

svu ★★★★★
()
Ответ на: комментарий от Sun-ch

Она была первой и последней, у которой мужик по-хорошему спросил: "Мона?" ;)

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

а достойно это как? 50 мегатонн в зад будет достойно? =)

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

> Реально БОЛЬШИЕ проекты на PHP писать очень сложно, а поддерживать просто невозможно

Реально кривыми руками вообще писать сложно, а уж поддерживать
криворукий проект - точно невозможно.

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

Знаю. Не один год просидел за Linux, так что не надо меня отправлять читать маны. Ты хоть одну версию java под конкретную libc видел? Нет? Я тоже.

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

Можно сразу сказать, что больше чем тетрис в школе тебе писать не приходилось. Или сайт корпорации "Самый лучший шаурма" с десятком страничек

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

>В C вообще классов нет. В С++ еще меньше ООП (вспомним методы вне классов), в PHP еще более убогая реализация PHP (даже инкапсуляцией не пахнет!!!), перл - честно могу сказать, мои задачи связанные с использованием perl не затрагивали его ОО возможностей

А что это за зверь под названием "методы вне класса" ? Можно по-подробнее ?

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

> Или сайт корпорации "Самый лучший шаурма" с десятком страничек

Спасибо, что так высоко оценил мой уровень. Только как это помогло
выпрямить твои кривые ручонки?

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

>И что, хоть раз было такое, что из-за смены libc jvm не работала??

:)

Vada, помниться, с недельку JRE 1.3 на FC пытался собрать.. было весьма увлекательно надо отметить :)

P.S.
Vada, respect :)

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

> В C вообще классов нет.

В чудесном Self тоже. Что он от этого стал менее ОО?

PS А в java методы не являются настоящими объектами - на помойку её :)

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

Можно. Могу честно признаться, что терминалогию в С++ я уже помню не точно, но это не меняет суть дела. Что такое метод, я думаю не надо объяснять? В Java метод не может существовать вне класса. В С++ есть функции (методы, называйте как хотите) которые не входят в состав какого-либо класса.

Несмотря на то, что Java основан на С++, он является более "чистокровным" объектно-ориентированным языком. Как С++, так и Java - смешанные языки, но для создателей Java эта неоднородность была не так важна, если сравнивать с С++. Смешанный язык позволяет использовать несколько стилей программирования; причиной смешанной природы С++ стало желание поддержать совместимость с языком С. Так как язык С++ является надстройкой над языком С, он включает много нежелательных характеристик своего предшественника... Брюс Эккель.

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

Fedora 1 + Sun jdk 1.3.1_01...
RH7.3 + Virtuozzo + SMP + ни один jdk нормально не пошел

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

>Можно. Могу честно признаться, что терминалогию в С++ я уже помню не точно, но это не меняет суть дела. Что такое метод, я думаю не надо объяснять? В Java метод не может существовать вне класса. В С++ есть функции (методы, называйте как хотите) которые не входят в состав какого-либо класса.

Если Вам нравится запихивать все и вся в классы , то C++ это позволяет. Так что подобную свободу выбора у меня не получается назвать недостатком . C++ никогда и не позиционировался как "чистый" OOP язык .

>Несмотря на то, что Java основан на С++, он является более "чистокровным" объектно-ориентированным языком. Как С++, так и Java - смешанные языки, но для создателей Java эта неоднородность была не так важна, если сравнивать с С++. Смешанный язык позволяет использовать несколько стилей программирования; причиной смешанной природы С++ стало желание поддержать совместимость с языком С. Так как язык С++ является надстройкой над языком С, он включает много нежелательных характеристик своего предшественника... Брюс Эккель.

А что Вы понимаете под стилями программирования на Java ? Я знаю , например , процедурный стиль , обьектно-ориентированный . Но коли Java заставляет все прятать в классы , так и стиль соответственно может быть только "классовый":)))

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

2svu (*) (13.04.2004 16:49:24):

> Как связаны скобки с читаемостью? ИМХО жабка один из самых читаемых
> (хотя и ОЧЕНЬ многословна).

Многословность - туда же, в плохую читаемость.

> Кто читается лучше?

Python

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

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

Я и не называл недостатком. Мне указали на "недостаток" Java, то что примитивные классы не являются объектами и привели список "нормальных" языков :С,С++, Perl, PHP... Ну и где это не так?? Моя дописка насчет методов вне классов говорила не о том, что С++ плохой, а о отм, что и он не "чистокровный" ООП язык.

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

> Многословность - туда же, в плохую читаемость.

Я же написал "ХОТЯ":) Да, многословность немного мешает читаемости (хотя сантехники пытаются бороться - вот, перечисления вводят). Но, в целом, читаемость жабки все-таки очень хорошая (не в последнюю очередь благодаря соглашениям об именах, вводимым сантехниками).

Питон действительно читается хорошо (возможно, даже лучше жабки). Но все-таки он скриптовый язык (жаба - нет). И строить системы без проверки типов на этапе компиляции - опасно (во всяком случае, очень многие, включая меня, считают это психологически не комфортным). Очень миленько сочетаются жабка с питоном в виде скриптинга в жабских прикладухах.

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

>Мне указали на "недостаток" Java, то что примитивные классы не являются объектами и привели список "нормальных" языков :С,С++, Perl, PHP...

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

>Моя дописка насчет методов вне классов говорила не о том, что С++ плохой, а о отм, что и он не "чистокровный" ООП язык.

Так ведь никто и не говорил о его "чистокровности" :)) ( может я чего и упустил читая всю эту ругань на пустом месте ) C++ был и является гибридным языком , который кстати нельзя назвать надстройкой над С (таковым он был во времена Cfront ) т.к не всякая сишная программа может быть скомпилирована C++ компилятором . А с появлением C99 эти языки станут еще больше несовместимыми .

Наверное , надо было сравнивать "обьектно-ориетированность" Java не с C++ , а каким-нибудь Smalltalk:-)

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

Java: сколько еше ей отпущено?

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

Теперь собственно про java,
про архитектуру java я уже высказался,
единственно здравая мысль-это "старость" javа.
Однако я здесь не согласен- python'у тоже более 10 лет,
а концепт куда более современный.

Теперь про ниши:

Несостоявшиеся ниши java:
1.Язык для бытовой электроники
2.Язык для мультимедийных устройств
3.Средство разработки встриваемых в браузер аплетов.

Ниши где java состоялась, но не является доминирующей технологией:
1.Корпоративные порталы и CMS системы.
2.Обычниые GUI приложения.

Ниши, которые java скорее всего утратит:
Мобильники
И вот почему:
Уже сейчас смартофоны оснащаются полноценными ОС
типа Symbian,Windows Mobile Edition и даже Linux,
через год другой такие телефоны станут общеупотребительными.
Угадайте с трех раз на какой из этих платформ
java сможет составить конкуреницю родным для этих ОС программам
писаным на C?


А теперь давайте посмотрим какой софт имеет самое большое время жизни
продолжает развиаивться-это по большей части софт на с (без++).
Примеров куча:
VIM, Emacs, Apache, GIMP, Sendmail, Tex,....

Я вижу также , что какое-то количество питоновских модулей
написаныз более 5 лет назад продолжает использоваться.
Перловый CPAN живет достаточно бурной жизнью....

Это я к тому, что ни одна пропиетарная технология по времени жизни не
смогла до сих пор сравнится с открытым софтом.
И где теперь com/dcom, corba, java applets,visual basic, clipper,foxpro, turbo-pascal,clarion,cobol,PL/I,lotus-1-2-3,
cc-mail,fortran-77 ,assembler IBM 370,....









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

Имхо проверка типов для свойств класса и параметров методов - это всего лишь частный (и весьма убогий) случай design-by-contract. Вот они бы лучше полноценную реализацию ЭТОГО сделали. А типизация локальных переменных - вообще бред. Это не дело программиста, с ними должен разбираться компилятор.

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

2svu (*) (13.04.2004 18:56:40):

> Очень миленько сочетаются жабка с питоном в виде скриптинга
> в жабских прикладухах.

Угу, сочетается. Чем и пользуемся по мере надобности.

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

> А ты видно проводил много милионные маркетинговые исследования, чтобы прийти к такому выводу :) Насколько глуп должен быть человек, который считает себя умнее целой корпорации...

Может быть местные анонимусы и глупее целой корпорации. Но... Тот хай, который начался в последнее время по этому вопросу начали не анонимусы, начала IBM. А вы можете поручиться, что они подобного исследования не проводили? :-)

> Пустить ее на путь OpenSourse орут в основном те, кто с трудом Java от JavaScript отличит.

Опять же тот самый IBM - контора очень широко использующая Java, вы думаете там еще не научились отличать Java от JavaScript? :-)

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

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

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

>>Наверное , надо было сравнивать "обьектно-ориетированность" Java не с C++ , а каким-нибудь Smalltalk:-)

Так в Си++ объектно-ориентированность взята из Smalltalk. За вычетом совсем уж фанатичных элементов ООП.

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

> Так в Си++ объектно-ориентированность взята из Smalltalk. За вычетом совсем уж фанатичных элементов ООП.

В морг.

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

> ИМХО жабка один из самых читаемых (хотя и ОЧЕНЬ многословна). Кто читается лучше?

РАПИРА

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