Ответ на статью: Путь без конца или Дао русского программиста
Я сегодня выступаю в не очень привычном для себя жанре. Этот пост - ответ.
Я думаю что Максима Кононенко, также известного как Mr.Parker знают все. Ну если и не знают, то слышали про него уж точно очень многие. Он - создатель популярного сайта Владимир Владимирович™, известный блоггер, сетевой писатель и журналист. А также программист. Вот я как раз про это. Некоторое время назад вышел пост Максима под названием: Путь без конца или Дао русского программиста. Именно этот пост я и хочу здесь разобрать. Так что уж не обессудьте, для того чтобы читать дальше придётся сначала сначала прочитать исходный пост.
(замечание: данный ответ также опубликован и как комментарий к самому посту Максима - только без вступительной части)
К вопросу о терминологии
Похоже, что в исходном посте термин "программирование" понимается совсем не так как понимаю его например я. В моей голове есть несколько терминов, несколько "ролей", нужных например для того чтобы организовать компанию, которая производит и продаёт программы. Вот этот (скорее всего неполный) список:
- Руководство разных уровней
- Бухгалтер
- Программист
- Тестировщик
- Системный администратор
- Менеджер проекта - подробнее об этой роли я писал вот в этой статье
- Менеджер продукта - об этой роли я также писал вот в этой статье
- Специалист по продажам
- Специалист по рекламе
- Специалист по связям с общественностью
- Секретарь
- Специалист технической поддержки
- ....
Поэтому, на мой взгляд, не очень важно что программисты не умеют продавать программы - это не их задача.
О предмете программирования
Я хочу остановиться на вопросе о предмете программирования. И я прочёл (не буквально, а "увидел", "интерпретировал") в самом посте, а также, кажется в каких-то ответах автора к комментариям на LiveJournal (затрудняюсь их сейчас здесь привести) мнение о том, что программирования как предмета не существует. То есть мне показалось, что автор утверждает: нет никакой "computer science", есть несколько областей математики, плюс некоторые ремесленные приёмы.
Я увидел эту мысль и в утверждениях что "нигде программированию не учат 5 лет" и в том что "что программирование - не ахти какое сложное занятие".
Я же убежден что "программирование имеет свой предмет, не сводящийся ни к конкретным языкам и системам, ни к методам построения быстрых алгоритмов" (Шень А. "Программирование: теоремы и задачи"). Попробую объясниться.
Дело в том, что программирование, также как и математика, например или к примеру, упоминаемая автором медицина - это очень "широкая" дисциплина. Человек, пишущий скажем компилятор - программист, человек пишущий "графический движок" игры - тоже программист, пишущий plug-in к браузеру Firefox - тоже, пишущий адресную книгу для сотового телефона тоже, но и пишущий на php формочку, чтобы отправить письмо со своего веб-сайта - тоже. Есть масса разных ответвлений и уровней. Как и везде - есть сложные части, а есть простые, есть требующие больших знаний в "сопутствующих" областях, а есть меньших.
Тем не менее, есть некоторые общие моменты, которые сводят всех этих людей. Это необходимость сформулировать и выбрать абстракции, организовать взаимодействия объектов, построенных на основе этих абстракций между собой, продумать последовательность этих взаимодействий и добиться желаемого результата. (для буквоедов: не придирайтесь к слову "объекты" - я не имел ввиду объектно-ориентированную парадигму проектирования). Это очень важно иметь ввиду при рассмотрении дисциплины программирования.
Остальное
Все основные тезисы мне не кажутся важными, чтобы с ними спорить. В них есть доля истины, но в основном, как мне кажется они составляют некоторый пересказ известной шутки, которую можно найти например тут и относиться к ним я бы стал также как к этой шутке - с юмором.
P.S. Вот ещё что хотелось сказать. Ведь Максим Кононенко написал ещё и рассказ Покемон. Удивительно что один и тот же человек написал две такие совершенно разные [по духу] работы.
1 комментарий:
Если говорить про Покемона, таки да, публикации разные, но не противоречащие друг другу. Я, вот например, понимаю, что могло сподвигнуть написать Покемона, но не понятно - что явилось предпосылкой Дао? хотя..
покемона мог написать человек который был таким задолбаным, ну или по крайней мере видел таких, а Дао - человек который хоть и помнит такое время, но щас уже в другой сфере живет, которая и оказывает на него влияние и формирует суждения, с точностью до его старого опыта..
ЗЫ
все остальное можно обсуждать оочень долго, в целом с автором "ответа на Дао.." я согласен. Вот..
Отправить комментарий