LINUX.ORG.RU

Почему Java — это не круто


0

0

По мотивам статьи Пола Грэхема "Крутые Хакеры" (http://www.paulgraham.com/gh.html)

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

Стоит отметить, что крутизна технологии никак не связана с ее практическим применением.

>>> Why People Think Java Un-Cool

★★★

Проверено: ivlad ()

"строгая типизация это занудно" - попахивает студентами... и при этом "на java нельзя писать драйверы и другие крутые штуки" как-то не вяжутся оба утверждения....

drd ★★
()

Э как их корёжит после книги PG :-) PG ФОРЕВА. Вот.

zenkov ★★★
()

>традиционно считается java тормозит
традиционно, щитаецца...тормозит оно пострашному...скока не говори халава - слаще это дерьмо не станет

anonymous
()

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

anonymous
()

кстати, на java можно писать драйверы.

ivlad ★★★★★
()

Мне кажется, что новость запостена с единственной целью, развести флеим, что Java -это отстой на, что другие возразят, что Java - это круто.

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

Java - это нормально. Для одних задач это круто, для других отстой, как и все остальное (C,C++,Python,Perl,PHP...)

Puzan ★★★★★
()

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

seiken ★★★★★
()

Вроде первое апреля не скоро еще...

eXOR ★★★★★
()

Java не есть плохо! Плохими бывают криворукие разработчики. Слова, что это не прикольно, не фичасто, не маргинально, а поэтому не круто, идут фтоппку и топятся в туалете типа сортиръ. Хотите выглядеть кульхацкером - пишите в гексах (интересно, много ли напишете :-)), хотите делать реальные вещи за реальное время - Java, C/C++, Python, Lisp...

Я кончил.

Zert
()

31337 FuNc710nz couldn7 bee ri77en by JaFFa........ =( jaffA fuR KidZ=)) хехе.... Большинство аргументации к этому и сводят... А например удобнее JDBC, как _унифицированного_ интерфейса доступа к БД, пока ничего нет....

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

> А например удобнее JDBC, как _унифицированного_ интерфейса доступа к БД, пока ничего нет....

Эй, студентик, DBI видел?

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


>элита не пишет на яве.

Угумс.. элита пишет на perl :))))))

P.S.
Sun-ch, спасибо за хорошее утреннее настроение :)

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

ИМХО

Есть несколько разработок, одна из которых - Limbo. Язык программирования для ОС Inferno. В нем несколько замечательных идей, плюс реализация компактной виртуальной машины. Один из разработчиков - Ритчи. Inferno включает также все основные идеи Plan9. Вот ссылка : www.vitanuova.com

Опять ИМХО - это лучшее, что я когда-либо видел.

Игорь.

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

DBI, конечно, хорош... Но это Перл, следовательно, наследует все его недостатки. JDBC в этом плане более красиво сделан. Но исключительно по причине достоинств типизированного языка и наличия нормального механизма исключений. Кстати, питоновское двигло для баз данных хорошо. :)

Я не понимаю, чем кому-то может мешать наличие типизации. Мне кажется, что строгая типизация позволяет вынести отладку части ошибок из runtime во время компиляции. А вот отсутствие типизации ведет зачастую к труднообнаруживаемым ошибкам. ИМХО.

Я не понимаю, неужели до сих пор встречаются люди, которые считают, что Java - самый тормозной язык? :) Если да, то какие тесты это подтверждают? Только, пожалуйста, не демонстрируйте тормозящие апплетики, написанные неизвестными студентами. :)

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

Инструмент "хакиров" не меняется лет этак 25 с копейками. "Жаба" есть "жаба", я "C" есть "C". Хакиры и на ассемблере не брезговали писать в случае такой необходимости.

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

begin

dbh = DBI.connect("dbi:ODBC:PostgreSQL30")

rescue DBI::DatabaseError => e

puts "An error occurred"

puts "Error code: #{e.err}"

puts "Error message: #{e.errstr}"

ensure

dbh.disconnect if dbh

DBI - это не только перл.

Это тоже DBI, ruby под виндовс.

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

Замечено, что чем лучше яп/книга/музыка тем меньше у него шансов на массовом рынке. Inferno на год моложе явы, но ява есть везде а про инферно почти никто не слышал.

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

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

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

>Я не понимаю, чем кому-то может мешать наличие типизации.

var1=(sometype)var2;

>Мне кажется, что строгая типизация позволяет вынести отладку части ошибок из runtime во время компиляции

см. ocaml.

>Я не понимаю, неужели до сих пор встречаются люди, которые считают, что Java - самый тормозной язык? :) Если да, то какие тесты это подтверждают?

tomcat на Pentium'е.

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

>>ГЫ. значит LOR гавно ? он весь на яве писан.
>Хм. А судя по урлу - ничего подобного.

Смотри внимательней. ЙыСыПы - Йыва Сырвлыт Пага. Самая что ни на есть жаба :-)

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

>>Я не понимаю, чем кому-то может мешать наличие типизации. > var1=(sometype)var2;

И? Чем плохо? В случае отсутствия типизации я могу случайно в коде сделать ошибку и приравнять переменной, которая должна содержать один тип, другой тип. В данной конструкции это случайно уже не сделать. :)

>>Я не понимаю, неужели до сих пор встречаются люди, которые считают, что Java - самый тормозной язык? :) Если да, то какие тесты это подтверждают? >tomcat на Pentium'е.

То есть, найдя тормозящую программу, делаем вывод, что сам язык тормозной? :D Можно тогда привестьи пример "нетормозного" языка? Я уверен, что смогу найти программу, которая написана на нем, и будет тормозить. :)

CybOrc
()

Про ЛОР и про тормоза жабы, Вот открыл ссылку на статью и вижу до боли
знакомые послания:

========
Server Error
The server encountered an internal error and was unable to complete
your request.

JRun Connector Protocol Error.
========

;)

Ф топку адназначна такие языки программирования вместе с их
программистами! Микрослэшдот эффект - и фсё, умерла жаба...
В статье детально рассмотрены все соринки в глазах лппонентов, и не
замечено ни одно бревно в своих собственных. Ссылка на тупейший бенчмарк
про то, как жаба быстрее С/С++ уже достали конкретно. Они что, всех за
идиотов держат?

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

> Есть ядро ляликса написаное на перле.

Ну и шутки у тебя, боцман :)

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

>Я не понимаю, неужели до сих пор встречаются люди, которые считают, что Java - самый тормозной язык? :) Если да, то какие тесты это подтверждают?

более того IntelliJ IDEA вроде правильно написал.

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

не все так просто
иногда кажется что у ++ "более сильная" типизация
приблизительно такая конструкция
Int x;
UhhTiType y;
Object z;
z = x;
y = (UhhTiType)z;

ошибка только во время исполнения
и вообще, если бы в ++ какая бы организация
угрохала такое же количество средств на создание
приличной нестандартной библиотеки, применимость java
была бы под вопросом, просто - полуинтерпретируемый ОО язык
со связыванием во время компиляции и с общим предком

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

>Я не понимаю, неужели до сих пор встречаются люди, которые считают, что Java - самый тормозной язык? :) Если да, то какие тесты это подтверждают?

более того IntelliJ IDEA вроде правильно написал.

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

> вот у меня на Sun Fire v60 не тормозит. Что я не так делаю? ;)

Типа похвастаться захотелось. Из твоих слов следует только то, что "У меня такой крутой Sun, что даже Java на нем тормозит для меня незаметно" :)

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

>>>ГЫ. значит LOR гавно ? он весь на яве писан. >>Хм. А судя по урлу - ничего подобного.

>Смотри внимательней. ЙыСыПы - Йыва Сырвлыт Пага. Самая что ни на есть жаба :-)

Да ну? Покажите мне в спецификации любой версии Java конструкцию типа

<jsp:setProperty ...>.

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

>>>Я не понимаю, чем кому-то может мешать наличие типизации. >>var1=(sometype)var2; >И? Чем плохо?

Тем, что это уродство _необходимо_. См. Enumeration.nextElement().

>>>Я не понимаю, неужели до сих пор встречаются люди, которые считают, что Java - самый тормозной язык? :) Если да, то какие тесты это подтверждают? >>tomcat на Pentium'е. >То есть, найдя тормозящую программу,

просто взяв первую прешедшую мне на ум _реальную_ программу. А вообще примеров могу накидать массу. И ни одного (из реальной жизни) обратного.

> делаем вывод, что сам язык тормозной? Тормозная в данном случае строго говоря испольнительная система, а не язык. И она _обязан_ быть тормозным в силу предъявляемых к ней требований (про JIT Трындеть не надо - он тут не причём).

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

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

>Про ЛОР и про тормоза жабы, Вот открыл ссылку на статью и вижу до боли
знакомые послания:

>========
>Server Error
>The server encountered an internal error and was unable to complete
>your request.

>JRun Connector Protocol Error.
>========

И причём здесь Java? А если апач раскажет про интернал-еррор, кто будет виноват? Ассемблер?

Java-то тут, как раз молодец - всё отработала как надо.

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

>>>Я не понимаю, чем кому-то может мешать наличие типизации.

>>var1=(sometype)var2; >И? Чем плохо?

>Тем, что это уродство _необходимо_. См. Enumeration.nextElement().

Это "уродство" улучшает читабельность кода и избавляет от возможности неправильных присваиваний. Enumeration, Iterator и Vector - это уродства, которые надо было хоронить с самого начала, так как они являются одними из сильных источников run-time ошибок, которые бы при наличии проверки на тип отлавливались бы еще во время компиляции.

>>>Я не понимаю, неужели до сих пор встречаются люди, которые считают, что Java - самый тормозной язык? :) Если да, то какие тесты это подтверждают?

>>tomcat на Pentium'е. >То есть, найдя тормозящую программу,

>просто взяв первую прешедшую мне на ум _реальную_ программу. А вообще примеров могу накидать массу. И ни одного (из реальной жизни) обратного.

Пожалуйста, хотя бы десяток :)

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

>> делаем вывод, что сам язык тормозной?

> Тормозная в данном случае строго говоря испольнительная система, а не язык. И она _обязан_ быть тормозным в силу предъявляемых к ней требований (про JIT Трындеть не надо - он тут не причём).

Я так понимаю, вообще голое теоретизирование. Java томозная, потому что _обязана_ быть тормозной. Железный аргумент, даже как-то оспорить сложно.

И как это JIT тут не при чем?

> Отсда одна из _главных_ претензий к жабе - он пытается усидеть на двух стульях - быть эффективной и на стадии разработки и на стадии выполнения. Что взаимно противоречит друг другу.

Почему это? Опять теория? Можно аргументацию, почему?

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

Саныч, у тебя мозги на перле написаны, а ядро Линуксом называется. Элита хренова... Вроде и не 18, а хрень всякая постоянно проскакивает.

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

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

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

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

>- никаких сюрпризов и хитрых фич в языке

Да ну? :) никаких сюрпризов и хитрых фич? а может мы плохо язык изучили? из теории языков программирования следует что идеальных языков не существует. тем более не существует идеально написанных программ! :) даже в программе на си НеллоВорлд приведенной в К/Р существует десять ошибок. :) не верите - поищите в инете. Ява в данном случае не ислючение. Есть и там приятные и неприятные сюрпризы и фичи, просто знать их надо :)

> - традиционно считается java тормозит > - большинство swing-приложений ужасно выглядят

Скажите, а хакерам важна скорость языка и антуражик юзерского интерфейса? Да? А я то думал, что хакерам интересней написать оптимальный код... или реализовать оптимальный алгоритм... Хм...

> - строгая типизация это занудно

Опять же спорно. Конечно ради крутизны можно например засунуть строчку в массив даблов, но смысл? Я думаю у хакеров есть другие фишки чтобы пузами меряться. :)

> - сложно изобрести велосипед (все есть в стандартной библиотеке)

Ну не скажите. Стандартная библиотека на то и стандартная, чтобы предоставлять функции для работы со стандартными типами данных. Но хакеры-то чаще имеют дело с нестандартными данными :) хотя тоже как на это посмотреть :) любую сложную вещь можно разложить на примитивы. :)

> - java популярна, а это не круто Визуалвасик тоже популярен, но почему то его используют для написания вирусов :)

> - на java нельзя писать драйверы и другие крутые штуки ну на это уже ответили :) кстати если будет нормальный ява-процессор то кто мешает написать операционку в терминах явы?

Кароче Санчес рулит! :)

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

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

С этим трудно не согласиться. Но мне приходилось долгое время работать с IBM DB2. В поставку DB2 входит "Центр управления" и "Командный центр". Раньше, когда была версия 5.2 эти программы были написаны на Си(возможно C++). Тормозов не было даже на 2-х пнях с 64 метрами мозгов. Клиенты работали под NT 4.0. Далее с появлением DB2 7.0 в IBM ,с целью обеспечения кроссплатформенности, переписали все на Java. Пользоваться этим стало возможно только на машинах с 256М памяти. Загрузка "Центра управления" занимала секунд 10-15. Памяти выжиралось до 96М-128М. Написано все с использованием SWING-а. Закрытие программы занимает иногда до 20 сек. Меня в работе это сильно раздражало. С появлением версии DB2 v 8 вообще пришлось отказаться от графических приблуд и перейти на использование командной строки. Даже на последних пнях тормоза и расход памяти возросли просто до неприличия. Конечно можно предположить, что в IBM просто не умеют писать на Java. Но IBM сама активно продвигала Java и в это трудно поверить. Что касается количества зависаний и "глюков" - при использовании Java их стало больше, а последствия их вообще не предсказуемы.

P.S. Окончательный вывод делать не буду. Мои слова только стимул к размышлению

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

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

>- никаких сюрпризов и хитрых фич в языке

Да ну? :) никаких сюрпризов и хитрых фич? а может мы плохо язык изучили? из теории языков программирования следует что идеальных языков не существует. тем более не существует идеально написанных программ! :) даже в программе на си НеллоВорлд приведенной в К/Р существует десять ошибок. :) не верите - поищите в инете. Ява в данном случае не ислючение. Есть и там приятные и неприятные сюрпризы и фичи, просто знать их надо :)

> - традиционно считается java тормозит > - большинство swing-приложений ужасно выглядят

Скажите, а хакерам важна скорость языка и антуражик юзерского интерфейса? Да? А я то думал, что хакерам интересней написать оптимальный код... или реализовать оптимальный алгоритм... Хм...

> - строгая типизация это занудно

Опять же спорно. Конечно ради крутизны можно например засунуть строчку в массив даблов, но смысл? Я думаю у хакеров есть другие фишки чтобы пузами меряться. :)

> - сложно изобрести велосипед (все есть в стандартной библиотеке)

Ну не скажите. Стандартная библиотека на то и стандартная, чтобы предоставлять функции для работы со стандартными типами данных. Но хакеры-то чаще имеют дело с нестандартными данными :) хотя тоже как на это посмотреть :) любую сложную вещь можно разложить на примитивы. :)

> - java популярна, а это не круто Визуалвасик тоже популярен, но почему то его используют для написания вирусов :)

> - на java нельзя писать драйверы и другие крутые штуки

ну на это уже ответили :) кстати если будет нормальный ява-процессор то кто мешает написать операционку в терминах явы?

Кароче Санчес рулит! :)

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

Ну дык все верно.

Речь в статье идет про хакиров :)

Как написать экслпоит для циско, ежели в нем хитрый риск

процессор, на котором явы просто нет

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

>> DBI, конечно, хорош... Но это Перл, следовательно, наследует все его недостатки.

ну блин ваще... какие у перла могут быть недостатки?!! одни сплошные достоинства! :))

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

> ну блин ваще... какие у перла могут быть недостатки?!! одни сплошные достоинства! :))

Причем торчащие из самых неожиданных мест. :D

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