Про любительский подход

У ребе [info]metaclass обсуждают три простых тезиса про выбор языка программирования. Тезисы звучат так: «работает — не трогай!».

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

Впечатление такое, что для программистов использование «инженерного» опыта — это что-то невероятно новое и неизведанное — иначе мантра о «четырех фазах проекта» не повторялась бы, как некое откровение. Теперь «дискуссионной темой» оказывается вопрос выбора способа решения поставленной задачи. Казалось бы, тут все ясно, и приведенные по ссылке выше тезисы самоочевидны — но только не для «программиста-фанатика», ставящего вопрос не «что делать», а «как делать».

Нет, я не имею ничего против программистов-фанатиков (сам такой). Но все холивары «на каком языке писать» пахнут «кружком юных радиолюбителей«, как сегодня обозвали наш НИИ Говна и Торфа (вполне заслуженно, надо сказать). Чем инженер отличается от «юного радиолюбителя»? Как раз тем, что понимает разницу между самим проектом и непосредственной реализацией (программированием, монтажом оборудования, etc).

Разумеется, можно быть инженером-профессионалом и одновременно заниматься, скажем, конструированием ламповых усилителей по оригинальным схемам — но не надо смешивать эти два занятия. Беда многих участников интернет-дискуссий по программированию в том, что они не могут отличить первое от второго.

Про любительский подход: 3 комментария

  1. Беда в том, что программить можно начинать сразу, в отличии от.
    Самый апофеоз вспоминается времен FIDO, когда человек не сумев за полчаса разобраться в настройках тоссера сел писать свой. Дня за три выдал кучу говнокода, который ничего осмысленного не делал и пришел с вопросом «а где взять спецификацию на формат pktешников!»

    Железные решения обычно такой безалаберности не позволяют.
    Хотя….

    1. И не только. Большинство программистов в нашей действительности — самоучки, учившиеся по книжкам типа «Delphi для чайников». Кто-то эти Delphi перерастает, изучает разнообразные технологии, какие-то чисто технические приемы — но ни в «Самом-самом полном и современном руководстве по Algol-68», ни в учебнике по «Эффективной реализации NP-полных алгоритмов» не упоминается о существовании, грубо говоря, «технической документации» — а отечественные ГОСТы на эту тему выглядят монстрообразно (хотя на самом деле ничего особо ужасного в них нет). В самом лучшем случае (если на «самообучение» хватит усидчивости) получаются отличные кодеры, способные невероятно эффективно «писать код» — но это ровно 1/6 (по подсчетам всевозможных «гуру») от «общего» содержания любой околопрограммистской задачи. Если такого «самоучку» по пути никто ни разу не познакомил пусть даже с очень общим обзором разных методологий и не объяснил, что предписываемые там правила — это не блажь, а суровая необходимость — то получается этакий «токарь шестого разряда».

      1. Вот плюсану. Нагляделся уже. Кодеры попадаются и гениальные, и посредственные, и хреновые — но общий процесс и обвязка его отвратительны.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *