egorius: (Default)
2016-07-03 06:45 pm

Книги: июнь

Бен Шнейдерман, «Психология программирования» (1984 год)

Такие книги интересны тем, что в них, как в термопаре, соединяются материалы с разными свойствами. Что еще меняется так быстро, как программирование, и так медленно, как люди? На страницах книги еще идет спор о том, надо ли писать GOTO и следует ли делать отступы в коде, а люди — люди все те же:

Располагающая физическая окружающая обстановка очень помогает работе. Неудобная физическая обстановка плохо сказывается на качестве работы, оказывает деморализующее действие и является хорошим предлогом для работы где-нибудь в другом месте. ... Социальное окружение на работе также играет важную роль. Работа, подходящая в атмосфере дружелюбия, теплоты и сердечности, доставляет радость и удовлетворение. Люди работают для того, чтобы общаться, а не только из экономических соображений.

Хороший администратор [имеется в виду менеджер — язык меняется!] должен быть достаточно требовательным, чтобы обеспечить высокую интенсивность работы и деловую обстановку, но и достаточно располагать к себе, чтобы не расхолаживать работников и не быть им неприятным. Идеальный администратор должен быть технически компетентен, но более необходимым и редким качеством является административная проницательность. Хороший руководитель обеспечит соответствующий уровень требований, наладит хорошую обратную связь, отдаст должное хорошо сделанной работе и будет по необходимости строг к промахам сотрудников.

Руководство — это искусство, которым трудно овладеть. Хороший программист может и не быть хорошим руководителем. Программисты, которых предполагается выдвинуть на руководящие позиции, должны пройти соответствующую тренировку и находится под тщательным наблюдением.

Из забавного: в качестве эпиграфов есть цитаты и из Ершова, и из Пирсига. Тесен мир, узка прослойка.

В целом — книга для любителей-археологов; на полку рядом с Барри Боэмом.

Финн, «Здравствуйте, мистер Бог, это Анна»

Старшая ребенка взяла почитать в библиотеке, проглотила за день, «очень понравилось, но не все поймут».

Если говорить о сухом остатке (уже с моей позиции, конечно), то книга о познании мира и самого себя без оглядки на мешающие нам социальные и прочие шоры, почти буквально глазами и устами младенца. А в центре всего стоит «мистер Бог», которого автор понимает еретически широко: кроме очевидной идеи о том, что все религии на самом деле едины, он утверждает, что и наука с ее поиском Истины суть то же самое.

В итоге остались смешанные чувства. С одной стороны, можно только приветствовать книгу, которая учит думать самому, а не слушать мнение других. С другой, я не во всем разделяю позицию автора и не со всеми выводами согласен. Ну и непонятно, к чему трагический финал.

egorius: (Default)
2016-04-10 10:57 pm

Академгородок - 2

Теперь про академика Ершова. Он как некая связующая нить, уходящая в прошлое, которую никогда не видел, но ощущаешь присутствие. Программирование и информатика, Школьный алгоритмический язык, Академгородок и Протвино. Он еще и стихи писал, оказывается. Они мне хоть и не нравятся, но все же (цитирую по Карлу Левитину, «Прощание с Алголом»):

Двадцать лет хожу я на работу
По тропе, проложенной в лесу.
Если мне господь послал заботу,
Я ее здесь с легкостью несу.

Всем живым заполнено пространство —
Птицы, белки, травы, дерева...
Жизни ход и жизни постоянство —
Той тропы заветные слова.

Так вот, нашел я эту тропу.

Там теперь указатели, не заблудишься. Непонятно, правда, почему до Института математики, ведь Андрей Петрович работал в Вычислительном центре. Впрочем, это недалеко.

И белку видел, да. А лес действительно красивый.

Про Протвино Ершов, кстати, тоже писал:

Темный бор скрывает зданий ряд,
Только крыш обрез горит закатом.
За бетоном физики сидят,
Устремляя взгляд в разъятый атом.

Из свела суровая пора
В этой край сосновый, сердцу милый,
Чтобы в гонке в глубину ядра
Удержать баланс ума и силы.

На пригорке церковь без креста.
И, тревогой старою объятый,
Я молюсь, чтоб эта красота
Навсегда осталась неразъятой.

На здании ВЦ интересная символика. Угадываются ферритовые сердечники, но расположены они почему-то так, как будто это дырки в перфоленте. Число 1000110 тоже достойно внимания и как бы намекает на семибитный байт. Хотя, говорят, у нас в те славные времена байт был шестибитным. И еще зачем-то график и разъятый атом на крыше.

Правда, тут выясняется, что Институт вычислительных технологий основан в 1990 году. Но верхняя вывеска-то явно старше. А где тогда настоящий исторический ВЦ?

egorius: (Default)
2016-04-10 02:54 am

Академгородок - 1

Завершив с чтением курса в Новосибирске, я воспользовался запасом времени до самолета и рванул в Академгородок.

Мне было интересно сравнить его со своим родным Протвино: оба наукограды, примерно одинаковые по размерам (можно пешком из края в край) и расположены в лесу. К тому же слова «СО АН СССР» с детства будоражили мое воображение: впервые увидел их на заставках каких-то программ для Ямах. Ну и как не вспомнить академика Ершова (впрочем, о нем отдельно).

В общем, не заехать в Академгородок не было никакой возможности.

Город состоит из множества институтов в открытом доступе и небольшой жилой зоны. Дома в основном пятиэтажные, хотя есть и повыше (не обошлось и без вездесущего «элитного жилья», обнесенного высоким забором). Города практически ровесники, Академгородок старше Протвино всего на несколько лет.

И действительно, кругом лес: березы, сосны — все в порядке, все как надо. После Новосибирска я за несколько часов отдохнул душой. Если жить в тех краях, то только в Академгородке. Но Протвино все равно лучше.

Кстати, Щедровицкий утверждал (в 1981 году), что Академгородок фактически погиб из-за своего расположения вдали от большого города (цитирую с сокращениями):

Люди туда бросились, захватили должности, места, получили академиков, членкоров и т. д. и установили там жесточайшую иерархию. Академик и членкор — целый дом; доктор — коттедж, поделенный пополам; кандидат — трехкомнатная квартира; сотрудник без степени — коммунальная с подселением.

Вот представьте себе: я младший научный сотрудник, я захожу в кафе, радуюсь, что мало народу и что меня быстро обслужат. А за мной вваливается компания из нескольких человек: директор Института математики академик Соболев, известные профессора такой-то и такой-то... И что делает официантка? Естественно, что она идет к ним, а я сижу нервничаю. В это время входит вторая компания, из Института ядерных исследований. Они продолжают обсуждать какой-то вопрос, столы сдвинули...

Было специальное социологическое исследование: почему молодежь оттуда побежала? Ответ был один: нет разницы между производством и клубом. Оказывается, что для нормальной жизни человеку обязательно нужны эти границы, чтобы клуб для него обязательно выступал как сфера компенсации. Вот я младший научный сотрудник. Но прозвенел звонок — я скинул халатик, рванул к себе [домой], мы [с коллегами] собрались в Сокольниках или пошли в кафе «Прага», выпили пива, играем на гитаре, песни поем, — и я — «первый парень на деревне». Так я уже могу работать младшим научным сотрудником достаточно долго: я компенсирован психологически, и личность моя не страдает. Если же это все происходит в маленькой деревне, где все всех знают и вся система должностей и рангов «опрокидывается» в клуб, то жизнь становится невыносимой, потому что оказывается, что есть люди первого сорта, второго, третьего и т. д. И куда бы ты ни пошел — если ты четвертого сорта, то так оно и будет. И нет просвета.

Не знаю, как они выкрутились из этой ситуации. В Протвино, к слову, тоже есть «Царское село» — коттеджи людей первого сорта. Но я не слышал о том, чтобы у нас проблема стояла настолько остро. Надо будет порасспрашивать.

egorius: (Default)
2014-05-11 11:42 pm

Школьный алгоритмический

А после конюшни заехали ненадолго в Тарусу, благо рядом. В прошлый раз были в 2010-м; надо бы почаще наведываться, там хорошо.

Возвращаясь к теме. Я-то думал, что Школьный Алгоритмический Язык им. А. П. Ершова давно предан забвению, ан нет! Ребенка пришла с просьбой установить некий «КуМир», по которому информатик дает задания. Так вот это тот самый ШАЯ и есть.

И выделывают с ним бедные школьники такие фигуры, как на картинке, ежесекундно переключая раскладку, чтобы набрать если б/2 = int(б/2) то.

Не знаю, не знаю. Нужно ли вообще в школе учиться программировать? Допустим, раньше это считалось компьютерной грамотностью, без которой невозможно работать с ЭВМ. Но времена-то давно изменились, теперь знай себе тычь пальцем в экран. С другой стороны, я, как программист, вроде не против того, чтобы ребенок немного познакомился и с этим видом деятельности. Год назад я тоже затрагивал тему, но ясности с тех пор у меня не прибавилось.

кон

egorius: (Default)
2013-12-08 06:04 pm

Мотивируйте меня

Тут вот [livejournal.com profile] hardsign поделился списком фактов_о, вполне достойных того_чтобы. Прокомментирую один из них, который гласит: нельзя мотивировать, можно только мотивироваться.

Ни капли не сомневаюсь в том, что мотивация может быть только внутренней. Наверное, именно это и имелось в виду. Но это только часть правды.

Во-первых, если нельзя мотивировать, то можно помочь мотивироваться. Это сложно, но возможно, и именно так я понимаю смысл слова «мотивировать».

Во-вторых, если мотивировать сложно или даже невозможно, то демотивировать — проще простого. И, по наблюдениям, значительно чаще надо просто не демотивировать, нежели мотивировать.

А чтобы понимать, как не демотивировать, нужно понимать, что мотивирует. Тут на помощь приходят здравый смысл, книги и опыт. Здравый смысл подсказывает, что мотивация программистов несколько отличается_от, книги это подтверждают, ну а опыт — он у каждого свой.

Что нам говорят книги )
egorius: (Default)
2013-04-29 02:45 am

Книги: апрель

Владимир Кричевский, «Идеальный дизайн»

Известный дизайнер-типограф размышляет о том, каков должен быть дизайн и как обстоит с ним дело в России. Могу лишь внимать, ибо не мне спорить с мэтром. Но, право слово, странно выглядят рассуждения о тонкостях употребления слов точный и прецизионный в устах человека, пишущего параллельный с двумя эр.

Джо Селко, «Стиль программирования на SQL»

C одной стороны, любой труд, призывающий мыслить на SQL в терминах множеств, а не циклов, и обращающий внимание на важность типографики в программировании — безусловное благо.

C другой — слишком во многом мы расходимся с автором, чтобы безоговорочно рекомендовать эту книгу. Например, мне совершенно не близка мотивация писать переносимый код; здесь я принимаю сторону Тома Кайта: если уж заплатили за СУБД, глупо не пользоваться всеми ее возможностями. Тем более, что наезды автора на Оракл выдают в нем человека, с Ораклом не работавшего (а наезжает он и на другие коммерческие системы тоже).

В общем, читать можно, но осторожно.

Карл Левитин, «Прощание с Алголом» (1989)

Вот академик Андрей Петрович Ершов. Как же, каюсь, не любил я в детстве эту фамилию! Во-первых, из-за школьного алгоритмического языка. Не понимал тогда, да и сейчас не понимаю, зачем переводить Паскаль на русский язык. Были и до этого попытки, вот скажем Эль-76, автокод Эльбруса, тоже базируется на русском, но то были другие времена и нам было еще чем гордиться. Во-вторых, из-за информатики, с 1985 года усилиями Ершова введенной в школьную программу. Не понимал тогда, да и сейчас не понимаю, зачем понадобилось это слово. Вот передо мной три учебника информатики 1988–91 годов. Один объявляет, что компьютерная грамотность — это умение читать и писать, считать и рисовать, а также искать информацию, применяя для этого ЭВМ, после чего обрушивает на бедного школьника материал, по широте охвата не уступающий программе ВМК, от p-n-переходов до программирования на Прологе. Другой не мудрствует: вот блок-схемы, вот расчет на калькуляторе, а вот — на Бейсике. Третий пытается быть авторитетным и школьник узнает из него, что кэш-память — это разновидность стека, а Паскаль — Philips Automatic Sequence CALculator. Хаос, полный хаос царит в голове горе-информатиков. Они понимают, что уметь программировать нужно не всем, но что такое компьютерная грамотность без программирования — не понимают. А что понимают современные учителя информатики, это мне страшно даже представить.

Вот конференция «Диалог человек — ЭВМ», которая проводилась в 1983 году у нас в Протвино. А ведь у меня на полочке стоит сборник материалов, папа принес в свое время из Института. Кого только не было на этой конференции, не считая «компьютерщиков»: дизайнеры, социологи, биологи, психологи... Тихомиров из Универа: Существенным является разделение потребностей пользователя на предусмотренные разработчиком и непредусмотренные... Ко второму классу относятся многие разновидности потребностей в общении: потребность в соревновании с другими пользователями..., потребность в уважении коллег..., потребность быть членом социальной общности. Нынешние веб-разработки эксплуатируют это наблюдение по полной. Но ведь в целом концепция диалога с ЭВМ как обмена сообщениями на естественном языке полностью провалилась. Ершов предполагал, что удастся осилить хотя бы деловую переписку, канцелярит, но и это не удалось. Вместо этого диалог превратился в клацанье мышью — интересно, в Xerox PARC психологи тоже работали? Приведу еще цитату из книги Льва Николаевича Королева: Стремление упростить взаимоотношения пользователя с PC привело к созданию ... оболочки, в которой текстовое меню в основном заменено графическими символами... Вообще, наблюдающийся переход от текстов к иероглифам весьма симптоматичен и интересен с философской точки зрения.

Вот всплывают разные знакомые имена. В 1979 году в Узбекистане, на родине Аль-Хорезми, проводился симпозиум «Алгоритм в современной математике и ее приложениях». Инициатива принадлежит Ершову и... Дональду Кнуту — оказывается, они были знакомы. А на заре вычислительной техники к компьютерам Ершова привел Евгений Андреевич Жоголев — он вел у на курс технологий программирования. Или промелькнул Виктор Брябрин — а на полочке стоит его «Программное обеспечение персональных ЭВМ».

Казалось бы, небольшая старая книга, а какой пласт воспоминаний!

Из Ершова:

  • У меня есть одно существенное свойство — доводить дело до конца и стараться его исчерпать.
  • У меня обязательно бывает такой период времени, когда видимой цели работы нет. Мысли начинают растекаться... именно в это время рождаются непредвзятые идеи.
  • Сегодня оценка степени достоверности программы — личное дело каждого программиста. А нынешние правила приемки результатов их труда, при всей их кажущейся строгости, носят поверхностный характер, не затрагивающий существа самого программного продукта, да при этом еще постоянно выхолащиваются формальными требованиями соблюдения плановых сроков... — знакомо, да? Это 1983 год.
  • — Какова главная опасность нашего труда?
    — Потеря интереса к своему делу, ибо профессию программиста менять не на что.
  • Настоящий, врожденный, истинный программист — это тот, кто не сможет успокоиться, пока дело рук его не примет вполне завершенный вид. Контраст между почти сделанной и полностью сделанной работой для него непереносим чисто физически. Эта стопроцентная закономерность — источник трудности и в то же время глубочайшего удовлетворения...
  • Мне посчастливилось в жизни встретить нескольких программистов, обладающих поистине исключительным набором качеств. Это люди, как правило, резко выраженной индивидуальности и даже экстравагантности, но они вносили огромный вклад в общее дело, особенно в трудных ситуациях. Поэтому когда я слышу нередко раздающиеся призывы, что надо кончать с «примадоннами» в программировании, то никогда не поддерживаю эту ошибочную, на мой взгляд, точку зрения.
  • ...стоит ему [программисту] всерьез задуматься о философии своей профессии, как он сразу же начинает чувствовать себя мамонтом, которому грозит неизбежное, хотя, быть может, и не немедленное вымирание.