Об эстрадности
Jan. 17th, 2007 03:24 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Университет перестраивает учебные планы. Мой курс поставили на осень, поэтому сейчас ничего не читаю. А тут оказалось, что в компании надо провести лекцию для новых разработчиков: объяснить, как работает CVS (чего только не приходится преподавать). С утра ощущал подъём настроения; даже намечавшаяся простуда куда-то ушла.
Мой научный руководитель выделял людей "эстрадных": тех, кому непременно нужна аудитория, кто лучше всего чувствует себя, рассказывая что-то ученикам. "Но из всех эстрадных людей, кого я видел, - добавлял он, - ты, несомненно, самый эстрадный".
Собственно, этот журнал - тоже от эстрадности.
версии на стол
Date: 2007-01-17 08:31 pm (UTC)Re: версии на стол
Date: 2007-01-17 08:35 pm (UTC)Re: версии на стол
Date: 2007-01-17 09:26 pm (UTC)Re: версии на стол
Date: 2007-01-17 09:57 pm (UTC)Re: версии на стол
Date: 2007-01-18 03:22 am (UTC)Re: версии на стол
Date: 2007-01-18 05:47 am (UTC)Потом появились компьютеры и Chiwriter - помните этот ранний редактор, повсеместно сворованный в СССР? В США я года два писал статьи в Wordе - это было ужасно. Затем начал работать в LaTeXе, что и делаю до сих пор. Вначале я пользовался RCS, потом перешёл на CVS.
Re: версии на стол
Date: 2007-01-19 02:48 am (UTC)CVS - довольно симпатичный продукт, хотя под Windows есть проблемы: нельзя ставить working directory on network drive. Я сам не проверял, но системщики сказали, что CVS от этого умирает. В результате надо самому следить за back-up между commit'ами. Господи, вот ведь ацкая тема - и по русски-то не поговоришь.
Вообще странно, что у Вас надо разработчикам такие лекции читать. У нас бы таких просто на работу не взяли. Сейчас без этого никак нельзя.
Re: версии на стол
Date: 2007-01-19 05:12 pm (UTC)Что касается наших разработчиков - то о них вот этот диалог: http://scholar-vit.livejournal.com/123838.html?thread=3601854#t3601854. Если коротко - очень возможно, что в резюме у них было написано, что они в CVS собаку съели. Но это ведь ни о чём не говорит.
Re: версии на стол
Date: 2007-01-17 09:03 pm (UTC)Две команды..
Date: 2007-01-17 09:51 pm (UTC)Это скорее 33 команды, верно? И ключей там хватает.
В последнем Cederqvist'е 184 страницы. Как раз на средних размеров курс.
Да, для простых вещей трех-четырех команд достаточно. Но тем и хорош CVS, что позволяет делать и очень непростые вещи.
Re: Две команды..
Date: 2007-01-17 10:12 pm (UTC)Но для реальной жизни достаточно трех с половиной: add, commit, checkout, ну еще раз в пару месяцев тэг прицепить. Я вот сейчас подумал - ничем больше за три года работы с cvs так и не воспользовался - и не потому, что не умел - нужды не было. Ах да, diff - ну это не считается, потому что делался из емакса.
Я ни в коем случае не наезжаю - просто мне сдается, что читать студентам курс по такой специфической системе, как cvs, нет особого смысла - ей пользоваться надо. За час можно в принципе объяснить, ЧТО можно сделать, а рассчитывать на то, что кто-то запомнит КАК - не стоит.
Re: Две команды..
Date: 2007-01-17 10:25 pm (UTC)А сложные вещи - это, например, вот что. Поставщик даёт свою систему (в исходном коде). Наши программисты над ней работают. Раз в две недели поставщик присылает новую версию, где исправляет критические баги старой. Это надо интегрировать с изменениями, которые за это время наваяли наши добры молодцы.
Для этого, что интересно, хватает трех команд. Но с правильными ключами :). Это описано в 13-й главе Cederqvistа. И что интересно, года три назад мне пришлось именно этот процесс организовывать. Именно в таком режиме.
Re: Две команды..
Date: 2007-01-17 10:29 pm (UTC)А как вы это автоматизировали?
Re: Две команды..
Date: 2007-01-17 10:32 pm (UTC)Re: Две команды..
Date: 2007-01-17 10:37 pm (UTC)Кстати, что в CVS и правда хорошо сделано - так это automerge, perforce мне так же хорошо не удалось заставить работать.
Re: Две команды..
Date: 2007-01-17 10:45 pm (UTC)Re: Две команды..
Date: 2007-01-17 10:47 pm (UTC)Re: Две команды..
Date: 2007-01-17 10:55 pm (UTC)Re: Две команды..
Date: 2007-01-17 10:57 pm (UTC)Re: Две команды..
Date: 2007-01-17 10:30 pm (UTC)Re: Две команды..
Date: 2007-01-17 10:35 pm (UTC)Re: Две команды..
Date: 2007-01-17 10:36 pm (UTC)А бесплатность все-таки фактор весьма и весьме значимый :-)
Re: Две команды..
Date: 2007-01-17 10:42 pm (UTC)Re: Две команды..
Date: 2007-01-17 10:56 pm (UTC)Re: Две команды..
Date: 2007-01-18 12:59 am (UTC)И, кстати, мердж там очень даже неплохой, я им пользуюсь чуть ли не через день.
Re: Две команды..
Date: 2007-01-18 01:40 am (UTC)Re: Две команды..
Date: 2007-01-18 01:48 am (UTC)Re: Две команды..
Date: 2007-01-17 10:14 pm (UTC):)
no subject
Date: 2007-01-17 08:46 pm (UTC)no subject
Date: 2007-01-17 09:45 pm (UTC)no subject
Date: 2007-01-18 09:46 am (UTC)Везде где я работал был CVS.
no subject
Date: 2007-01-18 04:33 pm (UTC)Я где-то читал, что эта модель сложилась исторически. В результате компьютерной революции возникла нужда в большом числе программистов. Университеты просто не успевали подготовить столько специалистов, и в программисты шли кто угодно: музыканты, учителя, электрики, водопроводчики. Инженер, пусть даже механик, считался крутым гуру. Затем университеты подтянулись, но они уже учили в рамках создавшейся модели и сложившихся представлений о том, что такое программист.
Лет пять назад я читал похожие лекции. После одной из них ко мне подошёл слушатель и сказал: "Знаете, я учился программировать в университете. Но меня четыре года обучали ремеслу: говорили, ЧТО надо делать. Вы первый начали с того, ПОЧЕМУ надо делать именно так". Не знаю, насколько он был искренен, но вот такое и вот такое - увы, реальность.
no subject
Date: 2007-01-19 06:47 am (UTC)Да, я сталкивался тоже с энтузиазмом начальства к такому подходу. У меня подозрение, что один из факторов тут - психологический: значительная часть начальников старательно выбивалось туда потому что имели комплексы/амбиции диктатора, им мила картина высших людей отдающих детальные приказы низшим ограниченным и покорным исполнителям. Как вы думаете ?
Но для программирования такой подход, хотя и может быть целесообразен в определенных ситуациях, в стратегической перспективе, на мой взгляд несостоятелен. Особенность программирования в том, что рутинные операции могут быть легко автоматизированны. Если вы можете успешно отдать подробные инструкции тупому кодеру - значит что кодер тут может быть эффективно заменен программным инструментом (кодегенератором) c которым быстрей и легче самому все сделать.
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
no subject
Date: 2007-01-20 03:35 pm (UTC)no subject
Date: 2007-01-20 07:56 pm (UTC)А мне приходилось сталкиваться с ситуацией, когда программисты занимались дизассемблированием СОБСТВЕННОГО кода. Заказчик попросил внести изменения, и выяснилось, что в VC хранится древняя версия исходников, а свежую никто не почесался внести. Те, кто делали последнюю версию, давно уволились, и их директории стерли (об архивиривании со штампом "Хранить Вечно" системщики тоже не догадывались). Вот и восстанавливали код при помощи бинарника, лома и такой-то матери.
no subject
Date: 2007-01-21 12:06 am (UTC)no subject
Date: 2007-01-27 05:30 am (UTC)в квартире газClearCase. Сначала все долго плевались, но теперь, освоившись, без findmerge жить не могут.К чему это я?.. Да так, просто очень хочется поговорить о чём-то родном и знакомом с кем-то для кого это тоже родное и знакомое. :)