From: Eugene Prokopiev <prokopiev@stc.donpac.ru> To: "культурный офтопик" <smoke-room@lists.altlinux.org> Subject: Re: [room] Вопрос по PHP (или I Hate PHP) Date: Mon, 19 Feb 2007 09:40:42 +0300 Message-ID: <45D9466A.1030709@stc.donpac.ru> (raw) In-Reply-To: <45D86126.10006@stc.donpac.ru> Eugene Prokopiev пишет: > Денис Смирнов пишет: > >>On Mon, Feb 12, 2007 at 09:00:12AM +0300, Eugene Prokopiev wrote: >> >> >> >>>>Вот обижусь на все эти языки, уйду в отпуск, и начну писать себе набор >>>>библиотек чтобы на ocaml каком писать... :) >> >>EP> Боюсь показаться навязчивым, но есть такая платформа - JVM ;) c жутким >>EP> количеством библиотек и с несколько меньшим количеством языков, среди >>EP> которых, помимо Java, есть и функциональные (Scala и CAL - аналог >>EP> хаскела без части syntax sugar, кстати и небезызвестный г-н Луговской >>EP> вроде как на том же поприще подвизался), и много еще какие, если же >>EP> того, что надо все же нет, то есть, например, ANTLR ;) >>EP> Вот хостиг с Java - да, дороже LAMP выйдет ... >> >>Зря боишься :) О JVM я думаю больше всего. А твоими стараниями думаю более >>осознанно :) >> >>Из последнего твоего разъяснения и вкуривания докуметации я уяснил для >>себя что: >> >> - Java как язык мне очень нравится для построения платформы; >> - Java категорически не нравится собственно для написания web-приложения. >> В общем-то это пофиг, потому как я не ленивый, и сделать некий простой >> скриптовый язык из которого генерировать код на жабе я смогу. А где >> нужна хоть чуть-чуть нетривиальная логика не выпендриваться, а писать >> на жабе; >> - Генерировать самому код для JVM -- гм, а что, есть для этого >> более-менее удобные средства (типа тех что есть в .NET)? Да ещё и >> более-менее эффективные (умеющие задействовать при необходимости фишки >> как сановской, так и IBM'овской реализации)? > > > http://java-source.net/open-source/bytecode-libraries а в Java 6 есть такое - http://java.sun.com/javase/6/docs/api/javax/tools/package-summary.html хотя и раньше jasper (компилятор JSP в байт-код) и ant как-то выкручивались, используя, как я понимаю, недокументированные классы из tools.jar в некоторых случаях для динамической генерации кода удобнее AOP, см. AspectJ и Spring AOP >> - То, что считается общепринятым методом разработки web-приложений на >> Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому >> использовать как CGI нельзя. Остается FastCGI или встраивать в свое >> приложение http-сервер. Я псих, и могу пойти даже на второе, хотя >> предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется >> самостоятельно. > > > http://docs.codehaus.org/display/JETTY/Embedding+Jetty > > Я не пойму, чего ты так цепляешься за FastCGI. Чем это принципиально > отличается от HttpServlet.do*? Сделай поверх сервлетов любое API, > которое тебе будет удобно, в FastCGI ты же ведь тоже наверное не в > терминах ввода/вывода символов работаешь ... Кстати, встраивание http-сервера в приложение - не такая глупая мысль, как поначалу кажется. Многие проекты это практикуют, правда я не могу вспомнить ни одного, кто бы использовал свой наколенный http-сервер. В большинстве случаев встраивают Jetty, и я не могу придумать причины для написания своего http-сервера вместо него. С учетом использования NIO его конкурентом в плане производительности должен быть скорее nginx, нежели apache, хотя задачи выжать из него максимум пока у меня не было. Я встраивал Jetty, правда не прямо в свой Java-код, а в контекст Спринга. И наблюдаю интересную тенденцию: многие проекты уже используют Spring/XBean или Hivemind в качестве механизма конфигурирования отказываясь от изобретения собственных велосипедов. Меня, как пользователя Spring, это очень радует. Логика работы контекста и синтаксис его описания в Spring разделены, т.е. xml - только один из возможных способов его описания. Еще поддерживается никем вроде не используемый формат properties, а одни веселые ребята сделали реализацию Ruby-подобного синтаксиса - http://svn.trampolinesystems.com/springy/trunk/README Сейчас для одного совсем маленького web-проекта я использую DWR, там работа ведется не в терминах http-запросов, а скорее в терминах RPC. GUI на HTML (еще лучше здесь будет смотреться XUL), клиентская логика на JavaScript, серверная - Java (точнее контекст Spring со встроенными в него бинами Jetty, DWR, самого Spring и моими). Собственно DWR нужен, чтобы из JavaScript дергать Java-код (бины, размещенные в контексте Spring) и наоборот. Не факт, что тебе это подойдет, но посмотри. -- С уважением, Прокопьев Евгений
next prev parent reply other threads:[~2007-02-19 6:40 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-02-11 1:16 Денис Смирнов 2007-02-11 5:40 ` Anatol B. Bazyukin 2007-02-11 20:43 ` Денис Смирнов 2007-02-12 6:00 ` Eugene Prokopiev 2007-02-13 10:02 ` Денис Смирнов 2007-02-13 12:21 ` Damir Shayhutdinov 2007-02-13 16:16 ` Денис Смирнов 2007-02-13 16:37 ` Damir Shayhutdinov 2007-02-14 19:07 ` Денис Смирнов 2007-02-14 15:15 ` Michael Shigorin 2007-02-15 10:45 ` Денис Смирнов 2007-02-13 18:29 ` Andrey Rahmatullin 2007-02-14 19:03 ` Денис Смирнов 2007-02-14 14:59 ` Andrey Rahmatullin 2007-02-15 10:26 ` Денис Смирнов 2007-02-15 16:02 ` Andrey Rahmatullin 2007-02-17 11:55 ` Денис Смирнов 2007-02-14 15:11 ` Michael Shigorin 2007-02-15 10:45 ` Денис Смирнов 2007-02-17 17:22 ` Alexander Borovsky 2007-02-24 11:51 ` Денис Смирнов 2007-02-18 14:22 ` Eugene Prokopiev 2007-02-19 6:40 ` Eugene Prokopiev [this message] 2007-02-24 12:02 ` Денис Смирнов 2007-02-24 15:28 ` Eugene Prokopiev 2007-02-25 9:18 ` Денис Смирнов 2007-02-25 21:55 ` Eugene Prokopiev 2007-02-25 22:16 ` Денис Смирнов 2007-02-19 11:02 ` Денис Смирнов
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=45D9466A.1030709@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