metaclass: (Default)
[personal profile] metaclass
.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 раза. Но зато почти нет оверхеда на коммуникацию, на сбор требований (требования уже известны, т.к. я предметку знаю лучше всех спецов клиетов вместе взятых). Тестирование софта обычно требуется по минимуму, т.к. изначально правильная архитектура не допускает множество тупых багов, а вот с документированием - абзац. Т.е. либо документирование, либо сделать проект вовремя.

Date: 2010-01-27 09:56 am (UTC)
From: [identity profile] metaclass.livejournal.com
У [livejournal.com profile] zabivator очень специфическая работа, там дотнет вообще не применим.

Date: 2010-01-27 09:59 am (UTC)
From: [identity profile] zelanton.livejournal.com
я про аргументацию, а не про работу. В моей работе тоже много чего неприменимо, но кричать "оно - не мэйнстрим, а однодневка" просто потому что это моё имхо глупо.

Date: 2010-01-27 10:04 am (UTC)
From: [identity profile] metaclass.livejournal.com
Не, у него аргументация там более-менее понятная. Не кросс-платформенно, узкомикрософтвоская шиза, сложный интероп с другими языками. С моей стороны еще - адская убогость высокоуровневых либ, глюки их архитектуры и API.
Но все это с лихвой покрывается удобством работы, и самое главное - начала работы.

Date: 2010-01-27 08:37 pm (UTC)
From: [identity profile] zamotivator.livejournal.com
Но все это с лихвой покрывается удобством работы, и самое главное - начала работы.
Ты просто к этому ПРИВЫК. Не более.

Date: 2010-01-27 08:50 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Не, тут объективно порог вхождения разный. Хотя бы использование сторонних либ в дотнете и С++ в студии - это небо и земля. Дотнет - копируешь файло, делаешь ссылку в проекте, все. В с++ - какие-то адовы опции компилятора и линкера. И это я еще знаю, что делает компилятор и линкер, а если бы не знал?

Date: 2010-01-27 08:52 pm (UTC)
From: [identity profile] zamotivator.livejournal.com
Не, тут объективно порог вхождения разный. Хотя бы использование сторонних либ в дотнете и С++ в студии - это небо и земля. Дотнет - копируешь файло, делаешь ссылку в проекте, все. В с++ - какие-то адовы опции компилятора и линкера. И это я еще знаю, что делает компилятор и линкер, а если бы не знал?
Для меня со стороны GAC выглядит куда более забористой и ебанутой хуйнёй, чем либы в плюсах.

Date: 2010-01-27 08:58 pm (UTC)
From: [identity profile] metaclass.livejournal.com
GAC нахер не нужен, надо заметить. Копируешь либу себе и запускаешь сколько душе угодно.
В GAC ее ставят, если она сотне проектов на компе нужна.
И по-моему, GAC - элементарная вещь, в отличие от с++ либ :)

Date: 2010-01-27 09:02 pm (UTC)
From: [identity profile] zamotivator.livejournal.com
Либы специфичны для компилятора
Запоминаешь это золотое правило.
Дальше либо используешь dll, либо собираешь руками.
Благо большая часть библиотек доступна в сорцах

Date: 2010-01-27 09:02 pm (UTC)
From: [identity profile] zamotivator.livejournal.com
Данный диалог как бэ потверждает - удобно то, к чему привык.

Date: 2010-01-27 09:03 pm (UTC)
From: [identity profile] zamotivator.livejournal.com
А лучшая система пакетирования - в Питон

Date: 2010-01-27 09:10 pm (UTC)
From: [identity profile] kurilka.livejournal.com
setuptools или distutils?

Date: 2010-01-27 09:30 pm (UTC)
From: [identity profile] kurilka.livejournal.com
...The end result is that, once you start using setuptools, you’re gradually nudged further and further away from using standard Python APIs and techniques, and more and more into using things that only exist as part of setuptools.
http://www.b-list.org/weblog/2008/dec/14/packaging/

Date: 2010-01-27 09:15 pm (UTC)
From: [identity profile] metaclass.livejournal.com
А как у нее с разными версиями одного пакета?

Date: 2010-01-27 09:49 pm (UTC)
From: [identity profile] zamotivator.livejournal.com
Вроде, никак =)))

py2exe спасёт
Edited Date: 2010-01-27 09:49 pm (UTC)

Date: 2010-01-27 10:20 am (UTC)
From: [identity profile] henu3detb.livejournal.com
А всегда так. Сидишь в своем курятнике и думаешь, что кроме куриного помета ничего в мире нету, а если есть, то оно ненужное и вредное для здоровья.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 15th, 2025 05:49 am
Powered by Dreamwidth Studios