Об эстрадности
Jan. 17th, 2007 03:24 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Университет перестраивает учебные планы. Мой курс поставили на осень, поэтому сейчас ничего не читаю. А тут оказалось, что в компании надо провести лекцию для новых разработчиков: объяснить, как работает CVS (чего только не приходится преподавать). С утра ощущал подъём настроения; даже намечавшаяся простуда куда-то ушла.
Мой научный руководитель выделял людей "эстрадных": тех, кому непременно нужна аудитория, кто лучше всего чувствует себя, рассказывая что-то ученикам. "Но из всех эстрадных людей, кого я видел, - добавлял он, - ты, несомненно, самый эстрадный".
Собственно, этот журнал - тоже от эстрадности.
no subject
Date: 2007-01-19 06:08 pm (UTC)На самом деле я слышал вполне серьёзное обоснование такого подхода на лекциях по организации разработки. Там объяснялось, что хотя хороший программист на порядки продуктивнее средних, с ним связана проблема: если он уйдёт, всё посыплется. Поэтому лучше нанимать не одного суперклассного, а кучу посредственных, и так организовать процесс, чтобы они были взаимозаменяемы. Винтики и гаечки. На мой взгляд, тут есть логическая ошибка: грамотность почему-то противопоставляется организованности. Может, правильнее нанимать грамотных и организовывать процесс с ними? Но я по политическим соображениям этого говорить лектору не стал. Лектор ещё приводил стандартное сравнение с промышленной революцией: дескать, всё стало лучше, когда на место старых мастеров, создававших шедевры, пришло массовое производство, а затем конвейер. Это на мой взгляд тоже странно: интеллектуальный труд тем и отличается от производства материальных товаров, что одна высококлассная карета не заменит тысячу плохих, а вот одна правильно написанная программа заменит тысячу плохих, созданных конвейерным способом.
Вообще это касается не только труда программиста, но и всякого интеллектуального труда. Тут есть две концепции, которые я (сугубо условно, и без желания обидеть массу пользователей компьютеров) называю подходом Unixа и подходом Windows.
В первом случае предполагается, что человек очень грамотен и потратил некоторое время на то, чтобы в совершенстве овладеть инструментарием (все эти awkи, sedы и grepы). Он занимается в основном нетривиальным, творческим трудом. А если ему нужно сделать много рутинных, повторяющихся вещей - он быстро и эффективно их автоматизирует с помощью этого инструментария - вроде упомянутого Вами кодогенератора. В общем, человек не должен работать - работать должна машина. А человек должен думать. Ещё раз подчеркну, что речь идёт не только о программистах; классики Unixа предназначали систему для всякого интеллектуального труда: и физик, и бухгалтер должны были сами писать однострочники на sedе с awkом - точно так же, как современный человек сам может написать и прочесть записку жене или мужу, и не прибегает к услугам писца.
В подходе Windows предполагается обратное: что человек туп, умственно ленив и в принципе не может ничему научиться. Его инструменты должны быть "просты в обучении". Предполагается, что его работа по большей части будет состоять в тупом Copy & Paste, а творческий элемент в ней минимизирован. Вопрос об автоматизации вообще не стоит: пользователю этого класса легче часа три подряд щелкать мышкой по одной и той же последовательности кнопок, чем один раз написать скрипт (на всякий случай скриптовые инструменты от него тщательно прячут).
Если Вас не смущает несколько марксистская терминология, то в первом подходе компьютер - инструмент человека, а во втором человек - придаток к компьютеру.
А вообще на эти темы лучше разговаривать с
no subject
Date: 2007-01-19 08:37 pm (UTC)Только вместо awk лучше gawk (GNU awk), у него возможностей больше, причем весьма полезных.
Мне в windows приходится работать, но я и в ней рутинные операции автоматизирую, восновном хватает удобного текстового редактора, gawk и MS DOS batch files.
no subject
Date: 2007-01-19 08:42 pm (UTC)0 lrwxrwxrwx 1 root root 21 2005-08-07 15:18 /usr/bin/awk -> /etc/alternatives/awk
ls -ls /etc/alternatives/awk
0 lrwxrwxrwx 1 root root 13 2005-08-07 14:48 /etc/alternatives/awk -> /usr/bin/gawk