понедельник, 17 января 2011 г.

[prog.flame] Блин, с каких пор пять лет опыта стали что-то значить?

Угораздило меня с утра прочитать статью “Архитектура программного обеспечения с человеческим лицом” на RSDN. Никому читать не советую, единственная ценная вещь в ней – это список литературы, хоть он и небольшой.

Но напрочь убила фраза:

Более 5 лет своей профессиональной карьеры автор занимался построением и развитием архитектуры малых и средних проектов…

Ахринеть! Цельных пять лет!

Чего я цепляюсь к человеку? Да опыт подсказывает, что архитектура ПО – это очень своеобразная штука. Многоплановая и многосторонняя. Одна из сторон – это устойчивость к новым требованиям в течении многолетнего развития проекта. Ведь бывает так, что здесь и сейчас архитектура кажется удачной и позволяет быстро получить эффективную программу. А лет через семь-восемь постоянных доработок оказывается что все, больше ничего уже не сделаешь в рамках выбранной архитектуры. Т.е. только по прошествии времени выясняется, что архитектура была неудачной. И времени на это нужно поболе пяти лет. И проекты не малые. Да и не средние, если уж совсем по-хорошему. Чтобы такие статьи не с чужих слов писать.

PS. Наверное, это у меня уже старческое брюзжание развивается :(

PPS. Да, RSDN уже не тот.

16 комментариев:

Left комментирует...

Из анонса статьи:

Субъективность решений по поводу применения шаблонов проектирования в социальном контексте конкретного проекта приводит к наличию разных стилей применения этих шаблонов.

Меня одного коробит от такого слога? Чётко ведь читается желание автора поставить побольше умных слов в предложение. Я такой слог видел только в книжке по ACE - жуть, читать невозможно из-за постоянного желания автора повыделываться.

Unknown комментирует...

>>А лет через семь-восемь постоянных доработок оказывается что все, больше ничего уже не сделаешь в рамках выбранной архитектуры. Т.е. только по прошествии времени выясняется, что архитектура была неудачной.

Я бы сказал, что 7-8 лет жизни текущей реализации это отлично. За 7-8 лет столько воды утекает...

Может зависит от прикладной области, для каких ембедщиков 7-8 лет это и мало.

eao197 комментирует...

@Left:

Не одного. Но у меня был опыт учебы в аспирантуре -- там как раз такой слог развивается :) Не исключено, что автор провел некоторое время в академической среде.

Но аннотация, по-моему, еще ерунда. А вот заключение -- вот там круче. Имхо, там вообще приходится переводить с русского на русский :)

eao197 комментирует...

@Mastro Ombroj:

AFAIK, в embedded чуть проще -- там за 7-8 лет требования (да и целевое оборудование) не успевают так измениться как, скажем, в server-side.

Я цифры 7-8 привел потому, что за это время даже сам автор первоначальной архитектуры уже смотрит на мир совсем другими глазами, располагает уже совсем другим опытом и другими знаниями. Мировозрение успевает поменяться.

Плюс, за это время над проектом успевают поработать совсем разные архитекторы.

night beast комментирует...

PPS. Да, RSDN уже не тот

айда к нам в C++.
а то стариков совсем мало осталось :(

eao197 комментирует...

@night beast:

За приглашение спасибо большое, но я воздержусь. Да и программировать уже надоело изрядно.

Left комментирует...

> Да и программировать уже надоело изрядно.

А я вот не могу представить как это может надоесть. Может надоесть проект, технология, что угодно - но "программировать" - это математика для слабаков типа меня, т.е. вещь для изучения которой надо заведомо больше чем я проживу, в которой я могу узнавать что-то новое всю жизнь.

night beast комментирует...

вот-вот.
а потом жалуешься что не тот ;)

eao197 комментирует...

@Left:

>А я вот не могу представить как это может надоесть.

Поясню о чем я. В моем случае работа заключается в том, чтобы придумать решение, а затем воплотить его в коде.

Так вот процесс придумывания до сих пор вызывает адреналин, до сих пор приносит удовлетворение и до сих пор хочется этим заниматься.

А вот написание кода -- это уже рутина. Поскольку столько уже его было написано, отлажено и выброшено, что чего-то нового ждать здесь не приходится. И это, в принципе, от языка программирования не зависит.

eao197 комментирует...

@night beast:

Так я не жалюсь, я только подтверждаю :)

Left комментирует...

> А вот написание кода -- это уже рутина. Поскольку столько уже его было написано, отлажено и выброшено, что чего-то нового ждать здесь не приходится.

Вот именно этого я не понимаю :)
Это типа как "мне нравится математика, но формулы писАть мне надоело - я их уже вооон сколько написАл" ;)

eao197 комментирует...

@Left:

Наверное это потому, что в математике semantic gap меньше :)

Если проводить аналогии, то представь, что ты придумал какую-нибудь детальку, чертеж ее сделал. А потом тебе нужно еще и на станке ее выточить. Так вот придумывать и рисовать чертеж тебе еще нравится, а вот за станком стоять -- уже нет :)

Left комментирует...

Ну в том-то и дело что в программировании стоять за станком не нужно :)
Тут все станки с ЧПУ ;)
Написание кода это и есть обдумывание задачи и черчение и задание программы для станка ;)

eao197 комментирует...

@Left:

>Написание кода это и есть обдумывание задачи и черчение и задание программы для станка ;)

Ну мне в последнее время приходится сначала много думать (как раз чтобы понять, как втиснуться в старую архитектуру), а потом уже к станку :)

Ну и привычка программировать на бумаге, наверное, так же свою роль играет.

Rustam комментирует...

@Евгений Охотников
А вот написание кода -- это уже рутина. Поскольку столько уже его было написано, отлажено и выброшено, что чего-то нового ждать здесь не приходится. И это, в принципе, от языка программирования не зависит.

У меня зависит. Например писать на C++ билдере примерно те же ощущения что и у тебя, на VC 2010 уже полегче, на OCaml совсем хорошо :)
Или вот довольно долго уже не писал на питоне ничего более - менее серъезного, вот сейчас начинаю проектик, склероз оказывается хорошая вещь, дает ощущение новизны и желание кодить :)

jazzer комментирует...

ты ушел, вот и не тот...


А вообще, RSDN Magazine же ВАК-овский журнал теперь, так что народ там будет публиковаться за КТНами только в путь.