From: Eugene Prokopiev <prokopiev@stc.donpac.ru> To: "культурный офтопик" <smoke-room@lists.altlinux.org> Subject: Re: [room] язычки и библиотечки Date: Wed, 25 Oct 2006 10:00:16 +0400 Message-ID: <453EFD70.40708@stc.donpac.ru> (raw) In-Reply-To: <20061024155705.GA3318@localhost.localdomain> Денис Смирнов пишет: > On Tue, Oct 24, 2006 at 12:58:59PM +0400, Eugene Prokopiev wrote: > >>>Если честно, я бы уже совсем обиделся и ушел на Java, написав к ней >>>несколько классов для обраобтки FastCGI, темплейтов и прочей радости, а >>>также компилятор в неё с простого PHP-like язычка. Только вот >>>инфраструктура вокруг неё какая-то кривенькая, не могу я к ней привыкнуть. > > EP> А конкретнее? Что показалось кривым в инфраструктуре? Может не туда смотрел? > > Вполне возможно, в том что касается жабы я ламерюга редкостный. > > Буду рад если ткнешь меня носом в то, с чем следовало бы ознакомиться. В первую очередь скажи, что такое для тебя инфраструктура? Может мы о разном? Сразу скажу, что с Java я начал работать тогда, когда мода на тяжелые решения вроде EJB стала проходить. Много было написано на эту тему, например Better Faster Lighter Java и J2EE Development without EJB - у меня есть pdf, если надо, пиши ... Для подавляющего большинства немонолитных проектов бывают полезны технологии вроде IoC - эдакий универсальный клей для модулей ;) . Почти чистая реализация - это HiveMind. Spring - тоже IoC + готовые заготовки для упрощения кода работы с БД, ORM, JMS, AOP (и реализованное поверх него декларативное управление транзакциями, которое в Java относится не только к БД). EJB3, кстати, в каком-то смысле нацелен именно на нишу Spring, но, думаю, уже поздно. Хотя для неподсевших на Spring это большой прогресс по сравнению с EJB2. У Spring есть собственный web framework и интеграция практически со всеми другими web frameworks, ежели собственный не угодил. Есть прямая поддержка модулей, написанных на JRuby, Groovy, BeanShell, и нет препятствий для дописывания поддержки других. Scala (это функциональный язык для JVM) нет пока, и, честно говоря, на практике я до этого еще не дошел. Есть в Java такая вкусная штука, как JMX - это средство для написания своего рода админских интерфейсов, чем-то по идеологии смахивающее на SNMP. Грубо говоря, определяешь параметры, которые надо мониторить, и операции, которые можно применять к запущеному сервису, транспорт и механизмы авторизации, а UI (хоть web, хоть Swing) тебе нарисуют куча готовых JMX-клиентов, начиная от встроенного jconsole. И опять, в Spring ты определяешь это декларативно. > EP> Другое дело, что FastCGI - это штука для JEE несколько чужеродная ... > EP> Не смотрел, к примеру, на Tapestry? > > Нет. Гляну. По поводу web опыта у меня практически нет. Но концепция web-приложений, собираемых и размещаемых в виде war-архивов в любой контейнер (Tomcat, Jetty, Resin) мне нравится. И годится далеко не только для обычного webа с UI, а и для сервисов, которые доступны по любому протоколу, реализованному поверх HTTP (SOAP, Hessian/Burlap либо что-то самопальное). Внутренности web-приложения к этой концепции ортогональны - можно и на голых сервлетах остаться или построить поверх них свой framework, а можно сначала ознакомиться с существующими (среди которых есть и AJAX, и даже трансляторы Swing -> Web). > EP> А если хочется "FastCGI, темплейтов и прочей радости, а также компилятор > EP> в неё с простого PHP-like язычка" - то бишь именно своего велосипеда - > EP> то вообще непонятно, что в PHP есть такого, что ты предпочел именно его > EP> ... К слову, компиляторов в байт-код JVM с различных функциональных и > EP> императивных языков довольно много > > Скорее уж проще самому налабать интерпретатор на той же жабе. Свой DSL? Возможно, есть смысл посмотреть в сторону antlr ... > PHP было выбрано как меньшее из зол. То бишь либо самому делать весь стек, > либо не строить из себя идеалиста а просто сделать чтобы хорошо работало. > > Но я все равно ищу что-то куда свалить. :) Прелесть Java не в языке. Язык средний, в частностях вроде интерфейсов и анонимных классов лучше предшественника (C++), а в некоторых более глобальных вопросах (класс String ;) ) просто потрясающий своей нелогичностью. Хотя привыкнуть можно :) Прелесть именно в окружении. В наличии спецификаций, в конкурирующих и относительно совместимых реализаций этих спецификаций. В количестве библиотек (один jakarta.apache.org чего стоит). В средствах сборки типа ant/maven. В неплохих IDE вроде Eclipse и IDEA, хотя, конечно, для любителей vim/emacs это не аргумент :) >>>Зато с масштабируемостью проблем вообще никаких :) >>>А разве не любое приложение, хранящее свои данные исключительно в SQL >>>легко кластеризуется? > > EP> Любое, пока ему не потребуется кэш перед SQL ;) Правда, реализации этого > EP> в JEE есть, но на практике не сталкивался ... > > Ну, в жабе в этом смысле все можно сделать красиво, если я правильно > понял. Спрятать вообще доступ к SQL в объеты, реализовать для них > интерфейсе serializable после чего сделать кэш. Вот во всяких PHP-подобных > это уже оказывается куда тяжелее. А в Java даже есть готовое вроде JBoss Tree Cache :) -- С уважением, Прокопьев Евгений
next prev parent reply other threads:[~2006-10-25 6:00 UTC|newest] Thread overview: 205+ messages / expand[flat|nested] mbox.gz Atom feed top 2006-10-12 22:25 ` [room] ну почему мы такие страшные Sergey Stepanov 2006-10-13 0:02 ` Денис Смирнов 2006-10-14 16:54 ` [room] новички Michael Shigorin 2006-10-14 19:51 ` Денис Смирнов 2006-10-15 18:27 ` [room] комоды Michael Shigorin 2006-10-15 22:46 ` Денис Смирнов 2006-10-16 11:35 ` [room] IA: комоды += mithraen@ Michael Shigorin 2006-10-16 18:22 ` Maxim Tyurin 2006-10-16 19:40 ` [room] IA: комоды += mrkooll@ Michael Shigorin 2006-10-16 18:19 ` [room] новички Maxim Tyurin 2006-10-16 20:14 ` Денис Смирнов 2006-10-16 21:20 ` Michael Shigorin 2006-10-17 8:10 ` Денис Смирнов 2006-10-17 8:20 ` Evgenii Terechkov 2006-10-17 19:21 ` Michael Shigorin 2006-10-18 0:54 ` Evgenii Terechkov 2006-10-18 7:02 ` Michael Shigorin 2006-10-18 8:08 ` Evgenii Terechkov 2006-10-17 20:34 ` Maxim Tyurin 2006-10-18 0:51 ` Evgenii Terechkov 2006-10-18 8:31 ` Maxim Tyurin 2006-10-18 9:24 ` Evgenii Terechkov 2006-10-18 9:33 ` Maxim Tyurin 2006-10-18 10:10 ` Evgenii Terechkov 2006-10-18 10:22 ` Maxim Tyurin 2006-10-18 15:07 ` Evgenii Terechkov 2006-10-18 20:44 ` Michael Shigorin 2006-10-19 5:46 ` Dmytro O. Redchuk 2006-10-19 5:58 ` Evgenii Terechkov 2006-10-19 23:08 ` Michael Shigorin 2006-10-20 3:58 ` Evgenii Terechkov 2006-10-19 23:07 ` [room] whitespace (не язык) Michael Shigorin 2006-10-20 3:46 ` Evgenii Terechkov 2006-10-20 8:16 ` Michael Shigorin 2006-10-20 9:18 ` Maxim Tyurin 2006-10-20 11:46 ` Michael Shigorin 2006-10-20 12:09 ` Maxim Tyurin 2006-10-20 12:23 ` Evgenii Terechkov 2006-10-19 5:55 ` [room] новички Evgenii Terechkov 2006-10-19 23:05 ` Michael Shigorin 2006-10-20 3:56 ` Evgenii Terechkov 2006-10-20 3:57 ` Evgenii Terechkov 2006-10-19 16:01 ` Maxim Tyurin 2006-10-19 15:57 ` Maxim Tyurin 2006-10-19 17:33 ` Evgenii Terechkov 2006-10-19 17:57 ` Maxim Tyurin 2006-10-19 19:52 ` Evgenii Terechkov 2006-10-20 9:15 ` Maxim Tyurin 2006-10-20 12:32 ` Evgenii Terechkov 2006-10-19 18:28 ` Денис Смирнов 2006-10-20 19:44 ` Aleksey Korotkov 2006-10-20 22:02 ` Денис Смирнов 2006-10-21 19:47 ` Aleksey Korotkov 2006-10-21 20:22 ` Денис Смирнов 2006-10-21 22:16 ` Michael Shigorin 2006-10-21 22:45 ` Денис Смирнов 2006-10-22 11:18 ` Michael Shigorin 2006-10-22 21:01 ` Денис Смирнов 2006-10-22 21:20 ` Aleksey Korotkov 2006-10-22 21:28 ` [room] язычки и библиотечки Michael Shigorin 2006-10-23 6:15 ` Eugene Ostapets 2006-10-23 7:36 ` Michael Shigorin 2006-10-23 7:53 ` Eugene Ostapets 2006-10-23 12:21 ` Maxim Tyurin 2006-10-23 12:38 ` Dmitriy L. Kruglikov 2006-10-24 1:48 ` Денис Смирнов 2006-10-24 10:44 ` Maxim Tyurin 2006-10-23 18:21 ` Michael Shigorin 2006-10-23 18:30 ` Eugene Ostapets 2006-10-23 19:18 ` Michael Shigorin 2006-10-23 19:26 ` Eugene Ostapets 2006-10-24 10:35 ` [room] язычки и библиотечки [fin?] Michael Shigorin 2006-10-23 8:10 ` [room] язычки и библиотечки Денис Смирнов 2006-10-23 20:14 ` Aleksey Korotkov 2006-10-24 10:33 ` Michael Shigorin 2006-10-24 22:57 ` Aleksey Korotkov 2006-10-25 10:18 ` Michael Shigorin 2006-10-23 8:24 ` Денис Смирнов 2006-10-23 18:19 ` Michael Shigorin 2006-10-24 1:55 ` Денис Смирнов 2006-10-24 7:03 ` Michael Bochkaryov 2006-10-24 8:54 ` Денис Смирнов 2006-10-24 10:30 ` [room] wackowiki Michael Shigorin 2006-10-24 10:49 ` [room] lustre Eugene Prokopiev 2006-10-24 15:07 ` Michael Shigorin 2006-10-24 16:04 ` [room] wackowiki Денис Смирнов 2006-10-24 16:08 ` Igor Zubkov 2006-10-24 16:47 ` Денис Смирнов 2006-10-24 17:51 ` [room] wackowiki vs mediawiki Igor Zubkov 2006-10-24 19:20 ` Michael Shigorin 2006-10-25 3:47 ` Денис Смирнов 2006-10-24 19:37 ` [room] wackowiki Michael Shigorin 2006-10-25 3:40 ` Денис Смирнов 2006-10-25 10:10 ` Michael Shigorin 2006-10-25 17:13 ` Денис Смирнов 2006-10-25 18:38 ` Michael Shigorin 2006-10-25 21:17 ` Aleksey Korotkov 2006-10-26 21:01 ` Michael Shigorin 2006-10-26 4:36 ` Денис Смирнов 2006-10-28 14:26 ` Michael Shigorin 2006-10-28 16:02 ` Денис Смирнов 2006-10-29 17:44 ` Michael Shigorin 2006-10-29 20:49 ` Денис Смирнов 2006-10-30 7:48 ` Michael Shigorin 2006-10-30 13:32 ` Денис Смирнов 2006-10-30 17:19 ` Igor Zubkov 2006-11-01 9:22 ` Денис Смирнов 2006-11-01 17:11 ` Igor Zubkov 2006-11-01 21:08 ` Денис Смирнов 2006-10-31 9:47 ` Michael Shigorin 2006-11-01 9:20 ` Денис Смирнов 2006-10-31 9:49 ` Michael Shigorin 2006-11-01 9:21 ` Денис Смирнов 2006-10-30 16:59 ` Igor Zubkov 2006-11-01 9:20 ` Денис Смирнов 2006-10-30 16:58 ` Igor Zubkov 2006-10-31 3:16 ` Evgenii Terechkov 2006-10-25 6:47 ` [room] язычки и библиотечки Michael Bochkaryov 2006-10-25 7:16 ` Eugene Prokopiev 2006-10-28 8:18 ` Michael Bochkaryov 2006-10-25 8:35 ` Денис Смирнов 2006-10-25 10:07 ` Michael Shigorin 2006-10-25 17:15 ` Денис Смирнов 2006-10-24 10:28 ` Michael Shigorin 2006-10-24 8:58 ` Eugene Prokopiev 2006-10-24 15:57 ` Денис Смирнов 2006-10-24 19:35 ` [room] java off the rails Michael Shigorin 2006-10-25 3:37 ` Денис Смирнов 2006-10-25 6:21 ` Eugene Prokopiev 2006-10-25 6:39 ` Eugene Prokopiev 2006-10-25 10:05 ` Michael Shigorin 2006-10-25 16:59 ` Денис Смирнов 2006-10-25 6:00 ` Eugene Prokopiev [this message] 2006-10-25 8:30 ` [room] язычки и библиотечки Денис Смирнов 2006-10-25 10:43 ` [room] Лекция по Java Eugene Prokopiev 2006-10-25 10:53 ` Eugene Prokopiev 2006-10-25 16:50 ` Eugene Prokopiev 2006-10-25 18:10 ` Денис Смирнов 2006-10-25 18:34 ` Michael Shigorin 2006-10-26 4:39 ` Денис Смирнов 2006-10-26 8:05 ` Eugene Prokopiev 2007-02-25 21:48 ` Денис Смирнов 2007-02-25 22:10 ` Eugene Prokopiev 2007-02-25 22:20 ` Денис Смирнов 2007-02-25 22:56 ` Eugene Prokopiev 2007-02-26 14:01 ` Денис Смирнов 2006-10-26 7:47 ` Eugene Prokopiev 2007-02-25 22:01 ` Денис Смирнов 2007-02-25 22:52 ` Eugene Prokopiev 2007-02-26 14:05 ` Денис Смирнов 2007-02-26 20:16 ` Eugene Prokopiev 2007-02-26 20:51 ` Денис Смирнов 2007-02-26 5:50 ` Eugene Prokopiev 2007-02-26 14:09 ` Денис Смирнов 2007-02-26 20:07 ` Eugene Prokopiev 2006-10-25 10:45 ` [room] язычки и библиотечки Eugene Prokopiev 2006-10-25 10:03 ` Michael Shigorin 2006-10-25 6:57 ` Michael Bochkaryov 2006-10-25 8:37 ` Денис Смирнов 2006-10-24 10:27 ` Michael Shigorin 2006-10-24 16:01 ` Денис Смирнов 2006-10-24 19:44 ` Michael Shigorin 2006-10-25 3:36 ` Денис Смирнов 2006-10-24 19:44 ` [room] mod_security article (was: язычки и библиотечки) Michael Shigorin 2006-10-23 20:09 ` [room] язычки и библиотечки Aleksey Korotkov 2006-10-24 10:22 ` Michael Shigorin 2006-10-24 23:12 ` Aleksey Korotkov 2006-10-25 10:19 ` Michael Shigorin 2006-10-25 15:46 ` Aleksey Korotkov 2006-10-25 18:39 ` Michael Shigorin 2006-10-25 21:19 ` Aleksey Korotkov 2006-10-23 8:08 ` [room] новички Денис Смирнов 2006-10-23 20:08 ` Aleksey Korotkov 2006-10-24 1:46 ` Денис Смирнов 2006-10-24 10:22 ` [room] г-флейм Michael Shigorin 2006-10-24 10:27 ` Денис Смирнов 2006-10-24 22:44 ` [room] новички Aleksey Korotkov 2006-10-25 3:29 ` Денис Смирнов 2006-10-25 10:00 ` Michael Shigorin 2006-10-25 16:38 ` Денис Смирнов 2006-10-25 18:25 ` Michael Shigorin 2006-10-26 4:14 ` Денис Смирнов 2006-10-25 15:07 ` Aleksey Korotkov 2006-10-25 16:57 ` Денис Смирнов 2006-10-25 21:07 ` Aleksey Korotkov 2006-10-26 4:28 ` Денис Смирнов 2006-10-26 13:39 ` Aleksey Korotkov 2006-10-26 15:10 ` Денис Смирнов 2006-10-25 9:58 ` Michael Shigorin 2006-10-25 15:30 ` Aleksey Korotkov 2006-10-25 18:27 ` [room] смайлЫ Michael Shigorin 2006-10-25 21:14 ` Aleksey Korotkov 2006-10-25 16:35 ` [room] новички Денис Смирнов 2006-10-18 11:11 ` [room] язЫки программирования Michael Shigorin 2006-10-18 11:22 ` Maxim Tyurin 2006-10-18 15:08 ` Evgenii Terechkov 2006-10-18 11:10 ` [room] новички Michael Shigorin 2006-10-18 15:12 ` Evgenii Terechkov 2006-10-19 16:04 ` Maxim Tyurin 2006-10-19 17:19 ` Evgenii Terechkov 2006-10-19 18:00 ` Maxim Tyurin 2006-10-19 18:57 ` Evgenii Terechkov 2006-10-19 23:10 ` Michael Shigorin 2006-10-20 3:53 ` Evgenii Terechkov 2006-10-23 6:59 ` Dmytro O. Redchuk
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=453EFD70.40708@stc.donpac.ru \ --to=prokopiev@stc.donpac.ru \ --cc=smoke-room@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Культурный офтопик This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \ smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com public-inbox-index smoke-room Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.smoke-room AGPL code for this site: git clone https://public-inbox.org/public-inbox.git