Softpanorama
May the source be with you, but remember the KISS principle ;-)

Contents Bulletin Scripting in shell and Perl Network troubleshooting History Humor

Andrei P. Ershov: Aestetics and Human Factor in Programming. Commun. ACM 15(7): 501-505 (1972). A Luncheon address at the AFIPS Spring Joint Computer Conference in December 15, 1972

The text below is Russian translation of the English original. The latter can be found at Academician A. Ershov's archive Documents  and as a Softpanorama reprint ( Aesthetics and the Human Factor in Programming)

Reprint
of the article "Aethetics and Human Factor in Programming" used in preparation to the talk at local English club meeting (with Ershov's handwritten notes)
Date: 15.12.1972
Original document language: English
Authors: Andrei Petrovich Ershov

Images of pages:

1

2

3

4

5

Эстетический и человеческий факторы в программировании

А.Ершов

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

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

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

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

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

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

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

Вы, конечно, можете спросить меня, а стоит ли говорить об этом? Ответ будет состоять не только в том, что программирование стало сейчас массовой профессией.

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

Трудность профессии программиста в том, что именно программисты непосредственно "упираются" в пределы человеческого познания в виде алгоритмически неразрешимых проблем и глубоких тайн работы головного мозга.

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

Я знаю, что эти трудности могут быть преодолены только путем большого эмоционального напряжения, требующего от программиста особого самосознания и внутренней позитивной установки. Если когда-либо А.Хейли напишет роман "Вычислительный центр", вы увидите, что это будет самый увлекательный его бестселлер.

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

Эти вопросы являются только частью общей проблемы. Посмотрим вкратце, как связать поставку этих вопросов с анализом человеческого фактора в программировании.

О конвейере. Я лично считаю конвейер поистине дьявольским изобретением. Поднимая продуктивность на небывалый уровень, но в то же время является самым бесчеловечным видом работы из всех мне известных. Конвейерный метод в программировании может либо убить интеллектуальную компоненту в труде программиста, либо вызвать неврозы из-за противоречия меду монотонностью в трудоспособностью работы. Представьте себе человека, обязанного 8 часов в день, 5 дней в неделю, 500 недель в году, решать одни кроссворды, и вы поймете, что такое программист, специализирующийся, например на написании редактирующих программ. Одним словом, раскрепление людей по элементарным операциям в многомодульной системе -- далеко не простая задача.

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

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

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

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

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

Выделить эстетическую сущность любого вида профессиональной деятельности очень просто. Она, по всей сути, реализуется в субъективных категориях, глубоко сплетается с этическим кодексом профессии, ее техническим содержанием и юридическим статусом. Поэтому мое перечисление эстетических компонент программирования также будет носить субъективный и очень предварительный характер.

Сначала я сделаю некоторые замечания, отражающие внутреннюю природу программирования.

Творческая и конструктивная природа программирования не требует особых доказательств. Хочется высказать, быть может, более спорную мысль, что в своей творческой природе программирование идет намного дальше большинства других профессий, приближаясь к математике и писательскому делу. В большинстве других профессий мы лишь "приручаем" силы природы -- просто "сажаем тигра в бензобак", -- используя те или иные физические или биологические явления, не обязательно постигая их сущность. В программировании же мы в некотором смысле идем до конца. Один из тезисов современной теории познания "мы знаем это, если можем это запрограммировать" очень выпукло характеризует этот максимализм нашей профессии.

Другим очень важным эстетическим принципом программирования является его высочайшая требовательность к законченности продукта. Конечно, это характерно для многих инженерных профессий. Однако программирование и здесь идет дальше. Хотя в мультимиллионных программных конгломератах это свойство почти исчезает, на уровне индивидуальной работы всегда существует поразительный контраст между почти сделанной и полностью сделанной работой. Эта стопроцентность программирования -- источник его трудности и в то же время глубочайшего удовлетворения работающей программой.

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

В отношении к машине у честного программиста есть еще одна особенность. В некотором смысле он относится к ней как хороший жокей к своей лошади. Зная и хорошо понимая возможность машины, он никогда не позволит себе компенсировать леность ума беззаботной тратой ресурсов ЭВМ. Это чисто эстетическое отношение к делу является самым эффективным предохранителем против бездумной "пессимизации" софтвера, которая хотя и не вызывает особых возражений у компаний, продающих машинное время, но на деле приводит к надувательству покупателя или потере эффективности.

Другую часть эстетической сущности программирования составляют такие его компоненты, которые связаны с социальной или общественной функцией программирования. Всякий раз когда мы рассматриваем социальное явление большого масштаба (а появление и использование ЭВМ безусловно является таковым), мы должны поискать некоторые широкие исторические аналоги, которые могут дать какую-то опору для экстраполяции и предвидения. О том, что ЭВМ принесли с собой техническую революцию и связанную с ней индустриализацию умственного труда, я уже говорил. Мне хочется провести еще одну аналогию, которая имеет более прямое отношение к профессии программиста. Разработка и распространение софтвера, мне кажется, во многом напоминает то, что произошло в результате появления книгопечатания. Как книги накапливают внешний образ мира в глазах их авторов и позволяют воспроизвести процесс его познания, так и программы и банки данных накапливают информационную и операционную модели мира и позволяют не только воспроизводить, но и предсказывать его эволюцию, давая тем самым небывалую власть над природой.

Быть хорошим программистом -- это сейчас такая же привилегия, как быть грамотным человеком в ХVI веке. Эта привилегия дает право программисту ожидать аналогичного признания и уважения со стороны общества. К сожалению, эти ожидания не всегда оправдываются. Хочу только заметить, что осуществление этого признания требует работы с обеих сторон. В частности, для программиста необходимо следование одному этическому принципу, который носит общий характер для всякого профессионала, но имеет специальную интерпретацию для программиста. Чисто логически имеют место три варианта: работа ради работы; работа ради денег; работа ради цели.

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

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

Позвольте теперь с позиций только что сделанных утверждений завершить обсуждение ранее перечисленных альтернатив и трудных проблем.

Об индивидуальных способностях в программировании. Нам необходим образ идеального программиста. Конечно, это будет мифическая личность. Но кто сказал, что нам не нужны мифы и сказки о программистах? Каждый из нас должен хоть раз в жизни видеть или хотя бы слышать о чудо-программисте, из программы которого нельзя убрать ни одной команды, или который пишет тысячу команд в день, или обнаруживает ошибку при исходном шансе один к миллиону и т.д. Человеку свойственно искать ориентиры и примеры. Именно с этих позиций хочу внести свой вклад в спор о пресловутых "примадоннах" в коллективах программистов. Объявлять их нежелательными -- это по крайней мере близорукость или зависть к их исключительным качествам. Мне посчастливилось в жизни встретить несколько таких примадонн от программирования, которые при всей их индивидуальности и даже экстравагантности вносили неоценимый вклад в работу коллектива, особенно в трудных ситуациях. Так что я решительно стою за признание и полный учет весьма широкого диапазона в индивидуальных способностях к программированию.

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

В заключение хочу вернуться к тезису об элитарности программирования и о его будущем. Моя апологетика на первый взгляд подчеркивала исключительный, особый характер программирования и его предельные требования к человеческим возможностям. Эта требовательность и образует тот самый вызов человеку, о котором я говорил вначале. Когда я был последний раз в Соединенных Штатах в 1970 г., на меня произвели большое впечатление новые идеи профессоров Массачусетского технологического института Марвина Минского и Самюэля Пейперта об обучении детей. Они выбросили в корзину ходячее представление, что дети учатся бессознательно методом подражания. Они доказывают, что человек чемуто научается только в том случае, если у него в голове складывается блоксхема действия, выделены подпрограммы и приложены информационные связи. Профессор Пейперт навсегда обратил меня в свою веру на примере жонглирования двумя мячами, когда, апеллируя к моим способностям программиста, он за десять минут научил меня тому, чего я сам не сделал бы и за несколько часов.

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

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

Я назвал ряд актуальных проблем, в том числе связанных с человеческим фактором в программировании. Я не назвал, пожалуй, самой главной. Мы сейчас ненасытно вербуем молодежь в программисты, обещая им златые горы. Однако поколения людей меняются значительно медленнее, чем поколения машин. Почитайте рекламы технических журналов за последние 10 лет. Слова "революция", "Новое поколение" появляются там с неимоверной частотой. Я хотел бы спросить авторов этих реклам, а знают ли они, как сделать, чтобы программист в возрасте свыше 50 лет был бы не меньше полезен ему, чем 30-летний. Через 30 лет у нас таких программистов будет миллион. Пожалуй, честно будет сказать, что сейчас у нас нет даже подхода к тому, как ассимилировать ветеранов в современных условиях изменчивости и нестабильности, сделав тем самым профессию программиста пожизненной и дающей человеку ощущение социального удовлетворения.

КИБЕРНЕТИКА 1972 No.5 с.95-99
(со стилистическими исправлениями Н.Безрукова)


Остановится -- оглянуться !

(комментарий Николая Безрукова к статье Андрея Ершова
"Человеческий фактор в программировании")

Если предположить, что кто-то каждый день в определенный час раздевается, становится в определенную позицию перед кинокамерой и делает один снимок, и так всю жизнь, то после его смерти об этом человеке имелся бы весьма интересный, хотя, наверное, немного жутковатый фильм. Если предположить, что средняя продолжительность человеческой жизни равна 70 годам, то в фильме было бы примерно 25.5 тыс.кадров. Т.е. при 24 кадрах в сек. весь фильм бы занял примерно 18 мин. и за эти 18 мин. перед нами бы прошла вся человеческая жизнь. Т.е. на наших глазах человек бы рос, мужал, старел, дряхлел...

Что-то подобное можно делать не только с человеком но и с индустрией производства программного обеспечения. Вопрос только на какой стадии мы сейчас находимся. Важность понимания истории совсем не очевидна, когда тебе, скажем, 25 лет, однако "ничто не ново под луной" и по-видимому первый, пионерский этап развития программирования позади, хотя темпы развития технологии остаются сумасшедшими.

Попытки осмыслись эту ситуацию довольно редки и одна из немногих удачных попыток принадлежит академику Aндрею Eршову. Его статья "Человеческий фактор в программировании" является одной и немногих статей "советского периода" развития программирования в России вызвавших, в свое время, значительный резонанс на Западе.

Хотя она была опубликована в 1972 г. т.е. на закате хрущевской оттепели и, кстати, сначала на английском языке (фактически это выступление на каком-то обеде и я сначала познакомился с ним по тексту в Communications of the ACM и только через много лет увидел русский перевод).

История появления этой, безусловно талантливо написанной статьи, достаточно загадочна. Как ни странно, русский вариант уступал английскому оригиналу и скорее похож на некачественный перевод, чем на оригинал (А.Ершов владел английским далеко не блестяще). Кроме того, для тех кто помнит уровень СССР начала 70-x, когда в стране были вообще считанные экземпляры компьютеров (основными были Минск-22, Минск-32 и БЭСМ6), кажется неправдоподобным, что человек, прожившим жизнь в основном в отсталой стране развитого социализма и только короткое время преподававшим в США несмотря на языковый барьер так здорово сумел разобраться в американской действительности.

Тем не менее, многие положения этой статьи до сих пор звучат удивительно актуально и сегодня я искренне рад, что мне в декабре 1991 года мне удалось вспомнить о ее существовании и сделать читателям бюллетеня Софтпанорама маленький новогодний подарок.

Ключевая идея статьи, идея значитости эстетического фактора в программировании, выдержала испытание времинем. Напроиер, популярность Юникс безусловно связана с  элегантностью использованных в нем технических решений. Другая немаловажная идея которая всколзь была затронута в статье это трагелия программистов которые достигли, скажем, 50 лет. Таким программистам очень трудно устроится на работу даже если они хорошие специалисты. 

Другие две идеи -- программирование как вторая грамотность и элитарность программирования как профессии тихо умерли.

Вместо программирования второй грамотностью стало умение использовать Интернет и одну из популярных операционных систем: Windows, MacOS, Линукс или FreeBSD.  Большинство пользователей также знакомо с компьютерами по опыту использования мобильных телефонов.

Элитарность программирования была подорвана переводом работ из США и Западной Европы в Индию и другие страны, включая бывшие соцстраны и страны бывшего СССР.  Хотя элитарность финансов в 1990-2010 годах (которая смахивала на элитарность гангстеров) была и есть в какой-то мере производным и связанным явлением, поскольку это был полностью комьютеризированный рекэт в полной мере использовавший новейшие компьютеры и компьютерные алгоритмы для перераспределения  денег в денежных потоках в свою пользу за счет игры на различных рынках и эксплуатации слабостей существующей мировой финансовой системы. В 2008 году эти ребята вместе со своими компютерами почти доигрались...

Поскольку, как я уже указывал, статья в украинском журнале "Кибернетика" представляла собой не слишком качественный перевод с английского в опубликованной выше версии мной были исправлены некоторые шероховатости перевода.

11.03.1998, с корректировками от 08.04.2011

С уважением Н.Безруков



Etc

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes.   If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. 

ABUSE: IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days. Multiple types of probes increase this period.  

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least


Copyright © 1996-2016 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Created March 11, 1998; Last modified: February 19, 2014