О способностях программиста

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

А.П.Ершов, 1972

 

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

А. Кронрод

 

 

«Билл мог сидеть за терминалом часами без перерыва. Когда разрабатывал интерпретатор для языка Бейсик, он либо был полон энергии, либо мгновенно отключался, так как работал до изнеможения. Билл гонял других, как себя. Казалось, он не нуждается в подзарядке. Как-то Билл принес домой три блокнота и десять карандашей. Через пять дней он, наконец, вышел, имея в руках тысячи байт кода на Ассемблере. У него был редкий дар программирования. У него на первом месте были программы, и на втором, и на третьем тоже», – пишет П. Аллен о Б. Гейтсе.

 

О стиле программирования

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

Эд Йордан,1979

Об источниках  мотивации программистов

"Первое – это абсолютная радость творчества. … Мне кажется, что прообразом этой радости творчества должно быть то удовольствие, с которым всевышний занимался сотворением мира… Второе – это радость создания вещей, полезных другим людям. … Третье – это очарование, заключенное в самом процессе создания сложных, загадочных объектов, состоящих из взаимосвязанных, непостоянных частей, и наблюдения за тем, как они работают в запутанных циклах, сохраняя верность принципам, заложенным в них с самого начала. Вычислительная машина обладает притягательной силой биллиарда или музыкального автомата, доведенных до логической завершенности. Четвертое – это возможность постоянно учиться, вытекающая из непрерывно меняющегося характера задачи. … И последнее – это удовольствие работать с очень гибким материалом. Программист, как поэт, работает почти исключительно головой. Он строит свои замки в воздухе и из воздуха только силой своего воображения. Очень редко материал для творчества допускает такую гибкость, такую возможность столь частых улучшений и переделок и такими простыми средствами позволяет осуществлять громадные замыслы"

 Брукс , 1979

О специфических особенностях, характеризующих талантливого программиста

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

Брукс , 1979

О выборе языка программирования

Программирование не искусство. Это наука. Проектирование программ - отчасти искусство, согласен. Искусство в программировании возникает там, где пытаемся преодолеть трудности, вызванные недостаточной проработкой решения задачи на стадии проектирования. Тогда возникает законный вопрос: а какая разница в том, какой язык мы выбираем для реализации проекта? Первая мысль - никакой! Вторая - если четко проработан проект системы, ясно определена предметная область и ее сущности (с их поведением, наследованием, внутренней структурой и т.п.), произведена разбивка всего этого на логически связанные блоки (модули), то зачем нам какие-то сложные навороты в языке, он должен быть как можно проще (повторюсь: проще - не примитивнее!), для того что бы просто выразить в терминах математических абстракций, решения стадии проектирования. Кстати простота языка позволят легко применять его не только программистам, но и на более ранних этапах, - аналитикам, алгоритмистам, дизайнерам, - что повысит степень их взаимопонимания и координации (при перепроектировании). (Вы попробуйте какого-нибудь консультанта по предметной области (если он не бывший программист-практик) попросить почитать третье издание Страуструпа! Отличное упражнение на заведение врагов.) Кроме всего прочего, для простого языка проще разрабатывать средства поддержки (вроде CASE-средств). Именно для этого и создавались Оберон и Компонентный Паскаль: с одной стороны - способность быть языком описания проектируемых систем, с другой - удобным средством реализации принятых решений.            

В.Лось, 1999

Из статьи «К вопросу о выборе языка программирования»

 

Андрей Колесов,2002. Поговорим о программировании. Размышления бывшего программиста.  http://www.basic.visual2000.ru/develop/talks/talks05.htm#N3

Н.Вирт. Долой жирные программы   http://www.osp.ru/os/1996/06/179017/ Следующие два "закона" чрезвычайно хорошо (хотя и с долей иронии) отражают нынешнее положение дел:

цуецуе

Следующие два "закона" чрезвычайно хорошо (хотя и с долей иронии) отражают нынешнее положение дел:

Следующие два "закона" чрезвычайно хорошо (хотя и с долей иронии) отражают нынешнее положение дел:

·  Программное обеспечение увеличивается в размерах до тех пор, пока не заполнит всю доступную на данный момент память (Паркинсон)

·  Программное обеспечение замедляется более быстро, чем аппаратура становится быстрее (Рейзер).