metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-09-14 08:17 am

Хаскельное

http://vit-r.livejournal.com/679524.html?thread=3691364#t3691364
решили на прошлой работе трое таки попробовать Хаскель, для неспешной задачи. генерация DDL, DML c скриптами SQL. Бились, бились, - но сделали, и был восторг! Потом, затянула обычная работа, через месяцок нужно было добавить кое-чего... и никто из троих не смог понять как оно работает, и как же добавить.

Звучит похоже на правду. Хотя у меня и F# и Clojure в подобных задачах живут и развиваются без проблем.

[identity profile] thesz.livejournal.com 2013-09-17 09:34 pm (UTC)(link)
Реальный проект среднего размера - это сколько?

Код, что выше, из проекта в 4.5K строк. На C/C++ это будет от 13.5K до 36К строк, ожидается всего в пять раз больше, то есть, 22.5K.

Проект на C/C++ в 22K строк - средний? Год работы программиста IBM, все же.

[identity profile] vit-r.livejournal.com 2013-09-18 06:07 am (UTC)(link)
Какие вообще проблемы могут быть в проекте размером 1 человекогод?

Научного определения я не знаю, но для меня средние начинаются где-то с объёма в десяток человеколет и десятка человек в команде. Из тех проектов, что я обычно вижу, десяток человеколет - это просто постановка задачи.

Причём, софт в конце проекта не выбрасывается, а продолжает жить в системе, накапливая изменения с разных проектов. Так что я совершенно не удивляюсь, если вижу модуль, переписанный тридцать лет назад с Фортрана.

[identity profile] thesz.livejournal.com 2013-09-18 11:31 am (UTC)(link)
Вот уже интересно. 10 человеколет на постановку задачи.

Что за область деятельности?

[identity profile] vit-r.livejournal.com 2013-09-18 08:30 pm (UTC)(link)
Десяток плюс-минус - это какой-нибудь Data Warehouse в приличном концерне, нетривиальная система в автомобиле или подсистема управления поездом. Если поезд брать целиком, вместе с электричеством, железом и начинкой, тут спокойно и сотня наберётся.

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