?

Log in

Гринспан о Джаве - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

Гринспан о Джаве [сент. 21, 2003|12:06 am]
Anatoly Vorobey
Про использование Джавы для постройки вебсайтов: Java is the SUV of programming tools.
A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl. But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity. Just like the suburbanite who drives his SUV to the 7-11 on a paved road but feels good because in theory he could climb a 45-degree dirt slope.
Дык, верно ведь пишет.
СсылкаОтветить

Comments:
[User Picture]From: auto194419
2003-09-20 02:25 pm
ха, какая у тебя вышла полу-правда! чувак-то пропагандирует Visual Basic. вообще, я, видимо, чего-то просто не понимаю. а куда делся JDBC?!
(Ответить) (Thread)
[User Picture]From: avva
2003-09-20 02:31 pm
Почему Visual Basic? Чувак пропагандирует Perl и PHP.

JDBC никуда не делся, он используется для собственно доступа к базе данных, Гринспан говорит о J2EE или JSP как технологиях для постройки сайта.
(Ответить) (Parent) (Thread)
[User Picture]From: auto194419
2003-09-20 02:40 pm
мы, может, разный текст читали? он говорит, что все люди, занятые действительно серьёзными проблемами, будут использовать visual basic (это в том месте, где про геном человека).

а проблемы с жабой он там описывает - так они касаются binding переменных. так вот, к чему это он, при наличии jdbc, я так и не понял. видимо, я слишком мало знаю жабу.
(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-20 02:42 pm
Он имеет в виду prepared statements.
(Ответить) (Parent) (Thread)
[User Picture]From: auto194419
2003-09-20 02:54 pm
а! спасибо. неужели там хуже, чем в perl'е?!
(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-20 03:04 pm
insert into values (?,?,?,?,?)

Конечно, считать эти ? радости мало. Но утверждать на основании этого, что Java плоха - как-то странно.

Вообще, похоже, что у товарища DB-centric подход, что, насколько я помню, считается одним из основных bug-patterns.

И тут уж не до подсчёта вопросиков.
(Ответить) (Parent) (Thread)
[User Picture]From: bugabuga
2003-09-20 11:37 pm
Проблема в том, что у джавы это jdbc ну оооочень глюкавое :) Пользоваться нужно осторожно. Хотя это может быть из-за самих драйверов дазы банных.
(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-21 12:58 am
Ну, не знаю. Я, честно говоря, пользовался драйверами к Oracle.

И они, поверьте, достаточно отлажены :)
(Ответить) (Parent) (Thread)
[User Picture]From: bugabuga
2003-09-21 01:22 am
До такой степени, что они пишут списочек вот тут :)
Ню-ню
:)
(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-21 01:33 am
Ну что Вы, как маленький. Достаточно отлажены для работы с ними.

А ошибок везде дофига.
(Ответить) (Parent) (Thread)
[User Picture]From: bugabuga
2003-09-21 01:40 am
:) С любыми драйверами можно работать :)
Просто с Jdbc у меня было достаточно проблем. По этому не долюбливаю.

И до сих пор периодически возникают какие-то странные глюки, которые ни объяснить, ни повторить не удаётся :(
(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-21 02:00 am
Бывает, конечно. Могу только сказать, что OCI постабильнее Thin, на мой взгляд.
(Ответить) (Parent) (Thread)
From: prince_felix
2003-09-21 04:41 am
Некорректно говорить "jdbc ну оооочень глюкавое". JDBC - это спецификация и набор интерфейсов. Глюкавость полностью на совести производителей драйверов.
(Ответить) (Parent) (Thread)
From: ex_ilyavinar899
2003-09-20 02:26 pm
Yes!!! Но для быстрой разработки приложений со сложными структурами данных Джава вполне пригодна.
(Ответить) (Thread)
From: (Anonymous)
2003-09-20 04:02 pm
не смешите. Ocaml напорядок удобней, пригодней и быстрее в разработке, со статической поддержкой типов. А для разгильдяев Питон.
(Ответить) (Parent) (Thread)
From: ex_ilyavinar899
2003-09-20 05:02 pm
Сколько в мире тулзов для Джавы, а сколько для *ML?
(Ответить) (Parent) (Thread)
From: (Anonymous)
2003-09-20 07:07 pm
достаточно. tools aren't lemmings.
и это не считая доступа к C.
а что до Питона, то Jython.

однако, Вы, ответствующий lowly anonymous? че деется...
(Ответить) (Parent) (Thread)
From: (Anonymous)
2003-09-21 08:20 pm
Zhaba prigodna tol'ko kak tema dlya dlitel'nyx propovedei dolbanutyx podrostkov starshego universitetskogo vozrasta, kotorym kto-to uspel pokazat' Linux do neminuemogo znakomstva s Visual BASICom.

Vse ostal'nye ispol'zuyut VB, Perl/PHP, ili kakie nibud' svoi resheniya (obychno napisannye na C++).

(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-20 02:39 pm
"None of the extra power of Java is useful when the source of persistence is a relational database management system such as Oracle or SQL Server."

То есть максимум, что вообще можно представить - это 2 уровня архитектуры.

Грамотный товарищь.
(Ответить) (Thread)
From: ex_ilyavinar899
2003-09-20 05:03 pm
Ну так и хуммеры удобны для перевозки шахтёров в канадскую шахту и из неё. Но большинство владельцев хуммеров ездят на них не в шахту!
(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-21 01:05 am
Я, конечно, не буду спорить с утверждением "Глупо покупать BEA Weblogic за 90,000$ под проект из трёх страничек".

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

Я с трудом представляю, как это можно написать, а главное, поддерживать на perl/php.

Но в браузере выглядит, прям как хоме-паге какой-то.
(Ответить) (Parent) (Thread)
From: 9000
2003-09-22 04:09 am
Да в общем-то php совсем не такой бедный язык, чтобы не смоделировать десятки бизнес-сущностей, etc -- на php есть и очень нехилого размера сайты. Грусть в том, что без платного zend accelerator (или как его там) всё каждый раз парсится и компилится с нуля. Что ОК для небольшого сайта и тяжко для сложного.

(А против perl-а у меня возражения в первую очередь эстетические :-))
(Ответить) (Parent) (Thread)
[User Picture]From: dimrub
2003-09-20 04:51 pm
This is so not true. Сложность систем, которые остаются manageable при написании на скриптовых языках - ограничена. А Джава (и в еще большей степени - C#) оснащены добавками (jsp, asp.net), облегчающими именно написание сайтов. Я уж не говорю о performance скриптовых языков по сравнению с JIT компилятором джавы (начиная, скажем, с JDK 1.4).
(Ответить) (Thread)
[User Picture]From: avva
2003-09-20 05:00 pm
Сложность систем, которые остаются manageable при написании на скриптовых языках - ограничена.

Ну а сложность сайтов, вообще говоря, нередко бывает ограничена. Вот и не имеет смысла в таких случаях использовать Джаву, говорит Гринспан.

Насчёт скорости JIT-компилятора не знаю, может быть, давно очень не пользовался. Опять же, во многих случаях упор на эту скорость может вполне оказаться premature optimization.
(Ответить) (Parent) (Thread)
[User Picture]From: dimrub
2003-09-20 05:07 pm
Ну а сложность сайтов, вообще говоря, нередко бывает ограничена. Вот и не имеет смысла в таких случаях использовать Джаву, говорит Гринспан.

Да, безусловно, если мне надо сделать небольшой сайт, над секвел БД, с достаточно простой логикой (типа ЖЖ), возможно, я выберу перл (хотя на джаве и C# мне наверное будет легче найти программеров, так что может и нет). А если мне надо написать аппликацию, работающую с message queues, IMAP server, SQL DB, и еще несколько proprietary APIs одновременно, да еще и имеющую сложную business logic, я выберу джаву, а еще вероятней - C#.

Насчёт скорости JIT-компилятора не знаю, может быть, давно очень не пользовался. Опять же, во многих случаях упор на эту скорость может вполне оказаться premature optimization.

Напомните, чем Вы последние две недели занимались? :)

Кстати, вот Вам пример. Программку-то Вы в итоге с перла на C переписали? По Гринспану, очень значительный процент выпускников MIT на этой стадии развели бы руками.


(Ответить) (Parent) (Thread)
From: (Anonymous)
2003-09-20 08:28 pm
а надо сразу на Ocaml писать
(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-21 01:11 am
Сложность сайтов, вообще говоря, всегда ограничена.

Равно как и бюджет.

И если в этот бюджет Weblogic/WebSphere явно не вписываются, то велика вероятность того, что cмысла использовать J2EE нет.

Равно как и любимый Гринспаном Oracle.
(Ответить) (Parent) (Thread)
From: growler
2003-09-21 02:50 am
В SUN jvm начиная с 1.3.1 JIT стал называться HotSpot, и, в общем, дает хорошую производительность на очень широком круге задач. С другой стороны, проблемы с производительностью в яве упираются, к сожалению, не в быстродействие кода, а, скорее, в эффективность GC. Поэтому IBM jdk 1.4.0 на некоторых задачах, связанных с выделением/высвобождением тучи объектов (например, трансформация xml) может оказаться быстрее SUN jdk 1.4.2, хотя на вычислительных тестах последний, в свою очередь, может оказаться как раз быстрее.

В любом случае, насчет "в пять раз" автор исходной статьи сильно передергивает. Ява хороша тем, что вокруг неё собралось огромное количество технологий и просто огромное количество библиотек, многие из которых имеют свободную лицензию. Хороший пример тому -- Cocoon, который, на первый взгляд, может показаться сильно сложнее PHP, особенно для проекта из трёх страниц, но вот дальше он будет только радовать, потому что в нём решена прорва совершенно типовых задач сайтостроительства (из одного контента сделать html,pdf,xls,doc не напрягаясь -- это, право, очень удобно), отчего можно смело забивать на изобретение велосипедов и заниматься собственно логикой.
Конечно, многоязыкий .NET мне импонирует больше, но он, к сожалению, пока ограничен одной платформой, да и, в общем, скриптовые языки в яву встраивать никто не запрещал -- благо, выбор есть. Мы вот любим встраивать Схему и Питона :)
(Ответить) (Parent) (Thread)
[User Picture]From: gdy
2003-09-23 03:49 pm

Насчёт скорости JIT-компиляторов

We even have different styles of JITs. For the compact framework, we have the EconoJIT, as we call it, which is a very simple JIT [Editor's Note: .NET Compact is a subset of the .NET framework designed to be ported to other devices and platforms.]. For the desktop version we have a more full-fledged JIT, and we even have JITs that use the same back end as our C++ compiler. However, those take longer so you would only use them at install time.
Три года назад про CLR в http://windows.oreilly.com/news/hejlsberg_0800.html
(Ответить) (Parent) (Thread)
From: (Anonymous)
2003-09-20 08:27 pm
Ocaml - more power in less code than scripting languages, performance of C/C++, and maintanability.
(Ответить) (Parent) (Thread)
[User Picture]From: meshko
2003-09-20 08:38 pm
Ага, а я вот 2 года ассистировал профессору в курсе "введение в структуры данных" (для первокурсников). Не в Гарварде правда. Но все-таки. И скажу вам прямо -- лучше всего студенты справляются с массивами. Связнанные списки и hash-tables -- SUV структур данных. Если вам нужно дерево, лучше всего ограничиться двоичним, т.к. B+ и Red-Black деревья вызывают очень серьезные затруднения у большинства студентов и, следовательно, обрекут ваш проект на провал.

При всем моем уважении к Гринспану и неуважении к неоправданной сложности J2EE.
(Ответить) (Thread)
[User Picture]From: photon
2003-09-20 11:39 pm
Крутая логика. То что первокурсники не в состоянии переварить - в ящик!
(Ответить) (Parent) (Thread)
[User Picture]From: meshko
2003-09-21 10:46 am
Это пример рассуждения в стиле Гринспана. Он делает вывод, что J2EE не годится, т.к. студентам с ней сложно.
(Ответить) (Parent) (Thread)
[User Picture]From: myxomop
2003-09-21 01:21 am
Это бред.

Я и сам учил этому студентов. Именно учил, поскольку никто не справляется с этим с рождения. Ничего, научились. И знали, что и когда.

Студенты при практике на Java никогда не используют массивы. Всегда Vector. Удобнее. Сам оторвал за это очень много рук.

Связнанные списки и hash-tables, B+ и Red-Black деревья не имеют никакого отношения к J2EE. Честно.

"B+ и Red-Black деревья вызывают очень серьезные затруднения у большинства студентов и, следовательно, обрекут ваш проект на провал"

Вау. После такого мощного заключения и сказать-то нечего.
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2003-09-22 01:27 am

Увы, никто не понял Вашей иронии ;)

(кроме меня, конечно!)
(Ответить) (Parent) (Thread)
From: ex_matiouch
2003-09-21 02:00 am
A project done in Java inadequate to the end programming language will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language applicable language such as PHP or Perl favorite one. But the programmers and managers using Java new for them, considered to be top-tech languages will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity.

Я думаю? все дело в опыте? пристрастиях и любви к нововведениям.
(Ответить) (Thread)
[User Picture]From: haiut
2003-09-21 08:28 am
вот-вот :)
а Anonymous сейчас снова будет про Ocaml толкать .. :)
(Ответить) (Parent) (Thread)
From: (Anonymous)
2003-09-21 09:45 pm
а верно.
все про язык и среду (http://www.ocaml.org/).
А здесь (http://www.bagley.org/~doug/shootout/craps.shtml) и здесь (http://dada.perl.it/shootout/craps.html) независимое сравнение языков и реализаций на наборе тестов.

на затравку:
C gcc 752
Ocaml ocaml 751
SML mlton 751
C++ g++ 743
Common Lisp cmucl 734
Scheme bigloo 730
Java java 703
Pikepike 647
Forthg forth 637
Lualua 615
Python python 578
Perl perl 577
Ruby ruby 546
...

(Ответить) (Parent) (Thread)
From: (Anonymous)
2004-02-23 10:15 am

не реклама, но приглашение

Русскоязычная группа пользователей Python и Zope: http://zope.net.ru
Zopyrus@itconnection.ru
http://itconnection.ru/cgi-bin/mailman/listinfo/zopyrus
Zope FAQ: http://zope.net.ru/Zope/FAQ/
Python FAQ: http://zope.net.ru/Python/FAQ/
(Ответить) (Thread)