У ребе metaclass обсуждают три простых тезиса про выбор языка программирования. Тезисы звучат так: «работает — не трогай!».
А сегодня я в процессе обАСУчивания некоего объекта был свидетелем интересного разговора. Обсуждались некие «общеинженерные» и «организационные» вопросы — и я поймал себя на том, что обсуждаемые этапы проекта прекрасно ложатся в выделяемые в разнообразных RUP-подобных процессах «фазы». Интересно, переводил ли кто-то «методологии» разработки ПО на ГОСТовский язык? Я знаю только попытку провести параллели между терминами из RUP и ГОСТ в учебном пособии М. И. Кумскова «Базы данных» и его одноименном курсе на мехмате — а все нагугливаемое по RUP и подобным «методологиям» использует исключительно англоязычные термины или кальки с них.
Впечатление такое, что для программистов использование «инженерного» опыта — это что-то невероятно новое и неизведанное — иначе мантра о «четырех фазах проекта» не повторялась бы, как некое откровение. Теперь «дискуссионной темой» оказывается вопрос выбора способа решения поставленной задачи. Казалось бы, тут все ясно, и приведенные по ссылке выше тезисы самоочевидны — но только не для «программиста-фанатика», ставящего вопрос не «что делать», а «как делать».
Нет, я не имею ничего против программистов-фанатиков (сам такой). Но все холивары «на каком языке писать» пахнут «кружком юных радиолюбителей«, как сегодня обозвали наш НИИ Говна и Торфа (вполне заслуженно, надо сказать). Чем инженер отличается от «юного радиолюбителя»? Как раз тем, что понимает разницу между самим проектом и непосредственной реализацией (программированием, монтажом оборудования, etc).
Разумеется, можно быть инженером-профессионалом и одновременно заниматься, скажем, конструированием ламповых усилителей по оригинальным схемам — но не надо смешивать эти два занятия. Беда многих участников интернет-дискуссий по программированию в том, что они не могут отличить первое от второго.