metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-01-27 09:22 am

дотнет-срач

.NET и Co - это не мейнстрим, это помойка для однодневных приложений

Сразу скажу, я на дотнете пишу уже года 4 и он меня задолбал весьма серьезно. Но тем не менее, альтернативы в моем случае (опердень с GUI, разрабатываемая в условиях адских ограничений по времени и ресурсам) тупо нет.
Основная причина, конечно, в том, что у меня на нем уже сделано 2/3 любого проекта типа "бд->аппсервер->gui-клиент", на любой другой платформе это все придется делать с нуля.

Но, кроме этого, в других платформах и языках, по-моему, такие задачи вообще не рассматриваются, как класс. Т.е. если GUI - то сделанный вручную, зашит в ресурсы, формы делаются по принципу "один студент-одна неделя-одна форма". А то и вообще GUI никто не рассматривает, потому что язык предназначен для веб- и прочих серверов. Очевидно же, что если основная целевая аудитория - веб-разработчики, то для серьезного GUI это использовать будет невозможно - даже если есть биндинги к GUI-тулкитам, они будут баговые и недоделанные и придется все время тратить на их допиливание. (Хотя, по правде сказать, в дотнете все точно так же - гуй там приходится допиливать постоянно).
Подумал я использовать жабу, для аппсервера. На словах все выглядит красиво - Hibernate, Spring итд итп. На практике, мне придется неделю сидеть только настраивать eclipse, jdk, jetty или томкаты, ant и мавены какие, разбираться как это все интегрировать, как сделать инфраструктуру для разработки. А потом опять с нуля делать все, что у меня уже сделано на ASP.NET (конфигурируемая миддлварь для произвольных баз данных, выставляющая CRUD операции в виде restful сервиса)

[livejournal.com profile] zabivator там по ссылку пропагандирует линукс, емаксы, билд из командной строки, итд. Я серьезно не понимаю, как можно в таком стиле быстро разрабатывать проекты. Т.е., я даже согласен признать, что я тупой, что у меня мозг сломан 15 годами быдлоразработки на дельфи, но я не понимаю, как проект НАЧАТЬ.
Когда приходишь уже на готовое - более менее понятно, скачал исходники, configure/make/install и понеслась. Я понимаю, что это закрывает 99% современного IT, когда народ приходит на проекты, которые делаются 10 до того, и будут делаться 10 лет после, получает инструкции "как включиться в работу", все им настраивается/деплоится с образом специально назначенными гуру-админами и все.

Но у меня обычно все не так. Стандартная ситуация "нужно с нуля сделать совершенно новый проект, нужно выбрать для него платформу так, чтобы не сойти с ума, чтобы по максимуму повторно использовать прошлые наработки, итд".
И обычно это выглядит примерно так: 20-50-100 сущностей предметной области, в лучшем случае их можно оформить в виде независимых редакторов, в худшем - они связаны в сложный адский workflow который нужно контролировать, чтобы юзера в дебри не убрели, разработчиков - 1-2 человека, времени - 2 месяца, причем каждый день будут регулярно отвлекать по мелочам, старым проектам и прочей хрени минимум 2-3 раза. Но зато почти нет оверхеда на коммуникацию, на сбор требований (требования уже известны, т.к. я предметку знаю лучше всех спецов клиетов вместе взятых). Тестирование софта обычно требуется по минимуму, т.к. изначально правильная архитектура не допускает множество тупых багов, а вот с документированием - абзац. Т.е. либо документирование, либо сделать проект вовремя.

[identity profile] zelanton.livejournal.com 2010-01-27 09:48 am (UTC)(link)
Аргументация на уровне "мамой клянусь"

[identity profile] rssh.livejournal.com 2010-01-27 09:53 am (UTC)(link)
Талант у человека на срачи.
Но честно говоря 20 - 100 сущностей и 2 месяца: это жесть адская. Вы естимейшиом маленькие выставляете.
(deleted comment) (Show 5 comments)

[identity profile] mr-st.livejournal.com 2010-01-27 10:16 am (UTC)(link)
Хреновая там аргументация, мягко говоря. Уровня "microsoft говно".

[identity profile] potan.livejournal.com 2010-01-27 10:31 am (UTC)(link)
Какая проблема начать?
Текстовый редактор - и вперед!
Правда, в качестве gui я использую web, который, обычно, другой человек разрабатывает.
(deleted comment) (Show 2 comments)

[identity profile] udpn.livejournal.com 2010-01-27 01:41 pm (UTC)(link)
>> конфигурируемая миддлварь для произвольных баз данных, выставляющая CRUD операции в виде restful сервиса

BULLSHIT!

(Anonymous) 2010-01-27 03:32 pm (UTC)(link)
А ему (Забиватору) и не надо быстро начинать -- он там херачит многолетний проект, инфраструктура настроена, все поднято.
Ясен хер, что в таких условиях в консоли вбить `make build` проще, чем запускать студию и проч., и проч. Хотя также ясно, что аргументация притянута за уши, ибо nant/msbuild никто не отменял

[identity profile] teewoon.livejournal.com 2010-01-27 03:51 pm (UTC)(link)
Время - деньги. Вот и весь аргумент.

[identity profile] dev-pit.livejournal.com 2010-01-27 07:48 pm (UTC)(link)
Последний абзац ох как знаком :)
Только C# мне не надоел :) Красивый язык по-моему получился.

[identity profile] zamotivator.livejournal.com 2010-01-27 08:29 pm (UTC)(link)
deployment - очень важная и непростая тема.
deployment на моём проекте настраивать с нуля будет... Ну, скажем так, пару недель - пока все зависимости соберёшь, скрипты настроишь, зависимости и конфигурации пропишешь.

Теперь смотрим profit'ы.

* Разобравшись и настроив один раз, ты легко будешь делать все аналогичные проекты

* Легко сделать "скелетон" - генератор проекта, задаёшь название-авторов, запускаешь скрипт - на выходе готовый hello world, что УЖЕ умеет подключаться к базе и так далее.

* Если меня посадить за .NET + база + всё остальное, я тоже буду неделю а то и две сидеть и тупо фтыкать в инструменты - как чо где работает, куда крутить, как пускать тесты, и так далее