понедельник, 9 июня 2014 г.

[Перевод] G.Weinberg - The Psychology Of Computer Programming

Компьютерное программирование как самостоятельная практически значимая деятельность существует уже около 70 лет (если не брать в расчёт госпожу Аду) — для человеческого ремесла срок небольшой. Однако, за всё это время огромное количество книг было написано по технологиям, парадигмам, методологиям, принципам и паттернам программирования. Но тема психологии такой сложной деятельности как программирование всё время как-то обходится стороной, а ведь все программисты, проектировщики и разработчики — это, в первую очередь, люди. Зачастую принимаемые ими решения — это результат не какого-то строгого машинного сравнения "что лучше", а тех или иных убеждений, попыток найти простое решение сложной проблемы, попыток обойти имеющиеся ограничения в задаче и т.п. Действительно, из знаменитых и читаемых книг по психологии вспоминается лишь "Peopleware: Productive Projects and Teams" Тома Де Марко (в русских изданиях — "Человеческий фактор: успешные проекты и команды") и частично "Facts & Fallacies Of Software Engineering" Роберта Гласса (рус. — "Факты и заблуждения профессионального программирования"). Как-то скудновато, по сравнению с тоннами всяких самоучителей по PHP и "как создать сайт с нуля за 4 часа" для "чайников".
Однако, есть одна тематическая книга, которая до сих пор является бестселлером на западе, несмотря на свой солидный возраст (первое издание отпечатано в 1971 году). Она выдержала несколько переизданий, однако в новых изданиях, если верить этому источнику, не изменилось ни единой буквы. Такой историей может похвастаться только стóящая глыба в IT-литературе.


Почему бестселлер почти неизвестен в России? Ответ прост — за тридцать с лишним лет не было ни единого русского издания этой книги. Откуда я узнал об этой книге? Мне её порекомендовал к прочтению один опытный программист, живущий в англоговорящей стране. К слову, в узких кругах всё же книга в стране известна, но по моему скромному мнению узнать о ней нужно куда большему числу людей. Просто потому что она, в первую очередь,о том, почему программы во всём мире пишутся именно так, как пишутся. А пишутся они зачастую так, что человек со стороны, читающий код программы, ломает над ней голову. А причина этого чаще всего кроется в темных уголках психологии программиста. В эти самые углы автор — образованный человек с ярко выраженным системным мышлением, и пытается проникнуть, чтобы узнать суть и причину действий, а также пытается их объяснить.
К слову, я принял решение публиковать краткий конспект каждой главы этой книги — буквально основополагающие тезисы. Книга любопытная, у меня есть большое желание поделиться её переводом здесь и где-нибудь на Хабре, но, как говорится, авторское право — non penis canina. Поэтому, чтобы не нарушать законодательства, я постараюсь опубликовать самую суть. Итак, поехали. Содержание книги в переводе выглядит так:

  • I. Программирование как человеческая деятельность
  • II. Программирование как социальная деятельность
    • 2.1 Группа программистов
    • 2.2 Команда программистов
    • 2.3 Проект
  • III. Программирование как индивидуальная деятельность
    • 3.1 Отклонения в задачах программирования
    • 3.2 Личностные факторы
    • 3.3 Способность рассуждать разумно, или способность к решению проблем
    • 3.4 Мотивация, обучение и опыт
  • IV. Инструменты для программиста
    • 4.1 Языки программирования
    • 4.2 Некоторые принципы проектирования языков
    • 4.3 Другие инструменты

По мере обновления материала в содержании будут появляться ссылки. Буду рад вашему мнению и комментариям.


Сайт автора: www.geraldmweinberg.com/
Твиттер автора: @JerryWeinberg

Комментариев нет:

Отправить комментарий