metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-16 03:42 pm

Кто-то тупой, или я или гвозди

Сижу изучаю различные варианты реализации middle-tier, который планируется использовать в будущем для нескольких проектов. Решил пересилить свой страх и взглянуть на J2EE. А надо сказать, что для неподготовленного ума ентерпрайз жаба выглядит совершенно ирреально бредовой: миллиарды фреймворков, утилит, серверов, сотни страниц документации, проекты на ней содержат over 9000 папок и мелких исходников и xml-конфигов и вообще я не уверен, что в здравом уме и имея некую начальную свободу выбора инструментов, с этим стоит вообще связываться.

Начал искать что-нибудь вроде "J2EE для начинающих с пошаговыми инструкциями". Нашел AppFuse. Вроде все описано понятно, есть QuickStart, написано откуда качать зависимости, итд, итп. Но таки вы будете смеятся - но я не могу найти, где качать исходники этого дела. Ссылки "Download" на сайте нету.

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

Вообще говоря, у меня уже есть почти полностью готовая основа для этого миддл-тиера, на которой я бы проект сделал очень быстро: Firebird+Delphi+ASP.NET RESTful веб-сервис. Но проблема в том, что это означает полную и окончательную привязку проектов к виндам, отказ от любых потенциальных работ с юниксами в будущем и сгнаивание мозга до состояния "сеньор-фокспро-девелопер в ВЦ НИИ Говна и Торфа, 50 лет, 30 лет опыта рисования формочек в дизайнере".

Кроме того, если дать объявление "требуется разработчик на дельфи" - приходят такие долбаные мышевозы с паттернами "magic button" что рыдать хочется, соответственно шансов на то, что хотя бы когда-нибудь я займусь только архитектурой и управлением проектами, вместо того, чтобы самостоятельно писать код, внедрять и обслуживать - не останется никаких.


PS: Есть кстати, еще одна, еще более неадекватная альтернатива: сойти с ума и ударится в нетривиальщину вроде ерланга и хаскеля, начать писать самодельный миддл-тиер на чистом С и изобретать прочие велосипеды. То, что это гарантированно будет легче для нервной системы, чем J2EE и ASP.NET, я уверен. Там комьюнити меньше и не будет такого, что половина интернетов забита разнообразными фреймворками, каждый из которых настолько наворочен, что позволяет не писать код, а всего лишь парой сотен xml-конфигов сделать любое приложение.
Я вспоминаю 90-е годы, когда никаких интернетов не было, проекты были более мелкие и выбора "на чем писать" особо не было, можно было велосипеды изобретать хоть годами.

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

Вот, к примеру: я считаю, что любой, кто сталкивался с статической типизацией и выводом типов, резко перестанет делать проекты "мегапереконфигурируемыми" с помощью сотен xml-конфигов, т.к. это выносит проверку правильности с времени сборки на время деплоймента и запуска. Ошибся в xml-файле в одной букве и вешайся, читай 100-строчные стеки вызовов и это еще хорошо, если у тебя доступ к продакшен-серверу есть.

[identity profile] enternet.livejournal.com 2009-12-16 09:08 pm (UTC)(link)
Переквалификация шла так:
1) Самообразование во время старой работы - HTML/CSS/Ruby/JavaScript
2) В промежутке - ActionScript/LISP/XSLT. О!!! XSLT это божественная вещь! А CommonLISP на вкус странен. Его логотип хорошо это передает.
3) На новом месте шоковое погружение в C# + ASP + ASP.NET + немного Java. Кстати прошло легко. Языки реально классные, богатые платформы. Всё под них есть.

[identity profile] vp.livejournal.com 2009-12-16 09:20 pm (UTC)(link)
Спасибо!

[identity profile] palm-mute.livejournal.com 2009-12-17 08:52 am (UTC)(link)
>XSLT это божественная вещь
Хоть и оффтоп, но интересно: почему именно XSLT, а не равномощный ему XQuery?
Это же кошмар:
<xsl:for-each select="employee[salary&lt;1000]">

[identity profile] enternet.livejournal.com 2009-12-17 08:59 am (UTC)(link)
Потому что XQuery никто не поддерживает, а XSLT есть почти везде, даже в браузерах.

Кстати, у майкрософта dotNet-XSLT-процессор еще и работает в 30 раз быстрее самых быстрых конкурентов.

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

[identity profile] palm-mute.livejournal.com 2009-12-17 10:47 am (UTC)(link)
Как это никто не поддерживает?
http://www.w3.org/XML/Query/#implementations

[identity profile] enternet.livejournal.com 2009-12-17 10:55 am (UTC)(link)
Этого мало. По сути в списке только крупные вендоры, это _очень_ плохой признак.

Собственно, скажу прямо - мне лично эта технология сейчас не интересна. XSLT прост и отлично покрывает мои потребности. Принципиально нового аналога XPath всё равно не изобрести, а к синтаксису XSLT быстро привыкаешь.

[identity profile] belpartizan.blogspot.com (from livejournal.com) 2009-12-21 01:46 pm (UTC)(link)
Не совсем так: saxon примерно так же быстр (если не быстрее) по сравнению с MS XSLT.

А так, XSLT хороший функциональный язык программирования.

[identity profile] enternet.livejournal.com 2009-12-21 01:53 pm (UTC)(link)
1) Нет, я неправильно сформулировал. Быстрее MS Compiled XSLT из dotNet 3.5 похоже нет ничего. разница в 30 раз для меня типовая.
В принципе для явы есть ещё супербыстрый Gregor, судя по дизайну он может тягаться с дотнетовскими компилировными шаблонами. Но он похоже заброшен, его сейчас даже купить нельзя.

2) Нет, XSLT не функциональный язык, функции в нем не являются объектами первого порядка, передать их никуда нельзя.XSLT - декларативный язык. Как и SQL например.

[identity profile] belpartizan.blogspot.com (from livejournal.com) 2009-12-21 03:56 pm (UTC)(link)
1) Тут вы не правы. Полтора года назад saxon обрабатывал большие XML файлы (мегабайт по 500) за минуты 3 (чтение/запись на диск). При этом немалая часть времени из 3 минут уходило на загрузку / сохранение. Saxon (в платной версии) тоже умеет компилировать (правда только xpath выражения), но это даст прирост всего раза в полтора.

2) да, чуть сбился с терминологии. Сбило что переменные в нём неизменяемые.