March 22nd, 2013

vit_r

Про ёжика в тумане, зазнайство, языки программирования и вериги

Если монаду нельзя нарисовать, то её нет.


Это из обсуждения по поводу очереднго "Фи!" juan_gandhi. Впрочем, сейчас слушаю трансляцию посиделок по графам, и мысли те же самые.

Программисты думают на Руби или Яве, продвинутые - на Скале или Хаскеле. Некоторые, гораздо более полезные, - на языке предметной области. Помнится, в группе по паттернам был один персонаж, который всё сводил к двойной бухгалтерии. Остепенённые или чрезвычайно продвинутые думают в терминах математических теорий или диаграмм UML. И все, практически поголовно, не могут выражать мысли простым человеческим языком. Я беседовал с инженерами, архитекторами, юристами, врачами, физиками, даже математиками. Собачий подход «понимаю, но сказать не могу» встречается, но ни одна специальность не болеет им так массово, как работники информационных технологий. Это при том, что ту же книжку по законам для юристов приходится читать минимум в три прохода даже тогда, когда знаешь все слова. Но, если им нужно, они могут опуститься на уровень продавщицы из булочной и говорить с ней на равных. Программисты не в силах объясниться не только с продавщицей или инженером, но и с программистом из другого языка.

Ещё раз, работники информационных технологий не умеют передавать информацию. Начиная с того, что я постоянно втолковываю своему сыну «Прежде, чем углубляться в детали, собеседник должен понимать, о чём вообще речь». Но ему пять лет и он быстро учится. А программисты презрительно говорят о тупых юзерах, не знающих, что такое эксепшен в Яве.

Вот нафига тупым юзерам, которые, скажем, инвестор, пара финансовых аналитиков и начальник отдела маркетинга, время которых стоит гораздо больше времени Главного IT Архитектора, который перед ними распинается, знать про эксепшены, если они спрашивают, почему портал не работает, и когда это будет готово? Не говоря о том, что про эксепшены можно объяснить и ребёнку, если перейти с Явы на человеческий язык и прекратить на разные лады повторять «функция бросает исключение».

Да, объяснить понятно, а тем более нарисовать - это очень трудно. Первым делом, надо понимать, как думает другой человек. Вторым, хорошо понимать, что же на самом деле происходит.

Первое у программистов заменяется презрением, а второе цитатами из чего-то программистского или википедийного, но явно, что не из умных книг.