Значение АЛАН ПЕРЛИС в Цитатнике Wiki

АЛАН ПЕРЛИС

Data: 2007-10-23 Time: 15:35:43

Алан Перлис (Alan Perlis) — американский учёный в области информатики.-

* То, что для одного человека константа, для другого — переменная.

* Функции задерживают связь, структуры данных стимулируют связь. Мораль: Структурируйте данные как можно позднее в процессе программирования.

* Синтаксический сахар вызывает рак точек с запятой.

* Каждая программа является частью другой программы и редко соответствует ей.

* Если программа манипулирует большим количеством данных, она делает это лишь несколькими способами.

* Симметрия представляет собой концепцию, сокращающую сложность(сопрограммы содержат подпрограммы); ищите ее повсюду.

* Проще написать неправильную программу, чем понять правильную.

* Язык программирования имеет низкий уровень, если в программах приходится уделять внимание несущественному.

* Лучше, чтобы в 100 функциях использовалась одна структура данных, чем в 10 функциях — 10 структур.

* Как можно раньше вступайте на проторенную стезю: Не изменяйте своим привычкам. Накапливайте идиомы. Стандартизируйте. Единственная разница (!) Между Шекспиром и вами состоит не в объеме словаря, а в количестве идиом.

* Если в вашей процедуре 10 параметров, вероятно, вы что-то упускаете.

* Рекурсия — основа программирования, поскольку она сокращает время написания программы.

* Если двое пишут в точности одну и ту же программу, нужно преобразовать каждую в микрокод, и тогда они, конечно, не будут одинаковыми.

* В конечном счете каждая программа устаревает, как и рококо, а потом и вовсе умирает.

* Все нужно проектировать сверху вниз, за исключением фундамента, с которого нужно начинать.

* У каждой программы (по крайней мере) два назначения: Что она должна делать и чего не должна.

* Если при объяснении вашей программы слушатель начинает кивать головой, его пора будить.

* Не стоит писать программу без цикла и структурированной переменной.

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

* Там, где есть модульность, возможно непонимание: Сокрытие информации предполагает необходимость проверки связи.

* Оптимизация препятствует эволюции.

* В хорошей системе не может быть слабого языка команд.

* Чтобы понять программу, необходимо отождествить себя и с машиной, и с программой.

* Если бы мы писали программы с детства, то с годами, возможно, научились бы их читать.

* Мысленно человек может только воспроизвести сложную информацию. Движение, или течение, или изменение перспективы важнее, чем статическое изображение, каким бы красивым оно не было.

* Мы всегда хотим сказать в своих программах что-то такое, что на всех известных языках можно сказать только плохо.

* Как только вы поняли, как писать программу, заставьте сделать это кого-нибудь другого.

* В программировании трудно найти правильную единицу времени для измерения прогресса. Некоторые соборы строились веками. Можно ли вообразить грандиозность и размер программы, на которую затратили столько времени?

* Для систем аналогом пластической операции является введение в управляюший граф ребра, которое создает цикл, а не просто еще одну вершину.

* Все, что мы делаем в программировании — это частный случай чего-то более общего, и зачастую мы осознаем это чересчур быстро.

* Простота не предшествует сложности, а вытекает из нее.

* Работу программистов следует оценивать не по их изобретательности и логике, а по полноте анализа каждой ситуации.

* Одиннадцатая заповедь гласит: «Вычисляй» или «не вычисляй» — я уже не помню.

* Строка — это застывшая структура данных, и повсюду, куда она передается, происходит значительное дублирование процесса. Это идеальное средство для сокрытия информации.

* Ваять можно научить каждого, но тогда пришлось бы учить Микеланджело, как не делать этого. То же самое — с великими программистами.

* Использование программы для доказательства теоремы о четырех красках не изменит математики. Оно просто покажет, что задача, которая оставалась нерешенной в течении столетия, возможно, не так уж важна для математики.

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

* Структурированное программирование подтверждает закон исключенного третьего.

* Реальная графика: Для описания картинки необходимо 10к слов. Но едва ли можно описать какое-либо множество из 10к слов с помощью картинок.

* Программы без ошибок можно написать двумя способами, но работает- третий.

* Некоторые языки программирования допускают изменения, но сопротивляются прогрессу.

* Перспективность программиста можно оценить, узнав его мнение о жизнеспособности фортрана.

* В программных системах зачастую «кто рано встает, того удача ждет».

* Иногда мне кажется, что единственным универсумом в программировании является цикл.

* Цель Fетсн-ехесUте вычислений — эмуляция наших синтетических способностей, а не понимание аналитических.

* Как и каламбур, программирование — это игра слов

* Как сказал бы Уилл Роджерс: «В природе нет такой вещи, как свободная переменная».

* Для дилетанта лучшим пособием по программированию служит «Алиса в стране чудес» — только потому, что для него это лучшее пособие по любому предмету.

* Отказ от языка ассемблера был яблоком раздора в наших садах эдема: Языки, использование которых приводит к растранжириванию машинного времени, греховны. Бормашина сегодня позволяет своим программистам отказаться от фигового листка.

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

* Появление ЭВМ домах не изменит ни один из них, но может возродить салуны.

* Системы состоят из подсистем, подсистемы — из под подсистем и так до бесконечности — именно поэтому мы проектируем снизу вверх.

* Так много хороших идей исчезает бесследно, попав в пучину семантики.

* Остерегайтесь бочки меда с ложкой дегтя тьюринга, где все возможно, но все интересное слишком сложно.

* Лисп-программисту известна ценность всего, но неизвестна цена чего бы то ни было.

* Софтвер находится в постоянном напряжении. Поскольку он символичен, его можно постоянно совершенствовать, но и произвольно изменять.

* Легче изменить спецификацию, чтобы она соответствовала программе, но не наоборот.

* Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.

* В английском языке любое слово может быть глаголом. Разве могло бы такое быть в языках программирования?

* DаNа Sсотт IS тне снURсн оF LаттIсе-WаY SаINтS.

* В программировании, как и везде, ошибаться — значит рождаться заново.

* В программировании инварианты эфемерны.

* Когда мы пишем программы, которые «обучают», мы — обучаем, а они- нет.

* Часто средства оправдывают цели: Цели порождают метод, а метод выживает, даже когда разрушаются структуры, бывшие ранее целью.

* Не путайте: Машины обрабатывают числа, а не символы. Мы измеряем свое понимание (и контроль) степенью арифметизации деятельности.

* Легко сделать что-то переменным. Хитрость в том, чтобы измерять продолжительность постоянства.

* Подумайте, сколько психических сил потрачено на поиски коренного различия между «алгоритмом» и «программой».

* Если мы верим в структуры данных, мы должны верить и в независимую (и потому одновременную) обработку. Зачем же еще собирать элементы в структуру? Почему мы терпим языки, которые дают нам одно, но не дают другое?

* Через пять лет у нас будет один супер язык программирования, только мы не можем установить начало этого пятилетнего периода.

* Веками индейцы создавали язык знаков, чтобы сообщить друг другу самое интересное. Программисты из разных племен (фортрана, лиспа, алгола, снобола и т. Д.) Могли бы воспользоваться таким языком, который понятен и без классной доски.

* Документация подобна страхованию на неопределенный срок: Она удовлетворяет всех, поскольку почти никто из подписавшихся на нее не зависит от ее преимуществ.

* Адекватная само раскрутка — явное противоречие.

* Не слабости, а достоинства языка определяют направления его изменений. Увы, язык никогда не сможет избавиться от своего эмбрионального мешка.

* Возможно ли, что программное обеспечение не похоже ни на что другое; что оно создано для того, чтобы от него отказались со временем;что все дело в том, чтобы оно всегда оставалось для нас мыльным пузырем?

* Благодаря своей жизненности программирование всегда испытывает отчаянную потребность в новых штампах: Банальность успокаивает нервы.

* Не создатели, а пользователи должны параметризовать процедуры.

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

* Если ваша машина говорит по-английски, ее, вероятно, сделали в Японии.

* Года работы над искусственным интеллектом достаточно, чтобы заставить поверить в бога.

* Продолжительный контакт с машиной превращает математиков в клерков, и наоборот.

* В программировании превращение очевидного в полезное — это точное определение слова «разочарование».

* Мы вот-вот сможем сказать: «Сегодня наша программа доказала теорему ферма».

* Какая разница между машиной тьюринга и современной ЭВМ? Такая же, как между восхождением Хиллари на эверест и открытием отеля «Хилтон» на его вершине.

* Девиз исследовательской лаборатории: «О том, над чем мы работаем сегодня, другие подумают только завтра».

* Хотя китайцы должны были бы обожать APL, они вкладывают деньги в фортран.

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

* У нас есть мини- и микро-эвм. В какую семантическую нишу попала бы пико-эвм?

* Машина не виновата в том, что уравнения максвелла не подходят для проектирования электромотора.

* Нельзя научиться программированию с помощью ручного калькулятора, но можно забыть арифметику.

* Программирование заставило дерево зацвести.

* ЭВМ напоминает Лона Чени [#] — это машина с тысячью лиц. [#] Лон Чени написал детектив «человек с тысячью лиц».

* Эвм — это загрязнитель в его чистейшем проявлении: Ее отходы неотличимы от пищи, которую она производит.

* Когда кто-то говорит: «Мне нужен язык программирования, в котором достаточно только сказать, что мне нужно сделать», — дайте ему леденец.

* Интерфейсы сохраняют порядок вещей, но не ускоряют рост — функции же ускоряют.

* Не имейте хороших идей, если не хотите отвечать за них.

* Машины скорее обнаруживают наличие беспорядка, чем наводят порядок.

* Если преподаватель настаивает на том, что вычислительная наука -это х, а не Y, посочувствуйте его ученикам.

* В программировании средняя наработка на отказ постоянно уменьшается.

* В симбиозе человек-машина приспосабливаться должен человек;машины этого не могут.

* Никогда не кончатся объекты программирования, пока у нас под рукой есть хотя бы одна программа.

* Обработать ошибку легко: Постарайтесь исправить программу. Удачный запуск тоже легко обработать: Вы решили не ту задачу. Постарайтесь исправить и эту ошибку.

* Нельзя перейти от неформального к формальному с помощью формальных средств.

* Чисто прикладные языки плохо применимы. (Игра слов аррLIсатIVе иаррLIсавLе).

* Доказательство ценности системы — в ее существовании.

* Нельзя передать сложность, а только знание о ней.

* Трудно выделить смысл из строк, но это единственная «монета»связи, на которую мы можем рассчитывать.

* Споры бушуют вокруг того, что такое рL/1 — двугорбый или одногорбый верблюд.

* Всякий раз, когда два программиста встречаются для критического анализа своих программ, они оба молчат.

* Подумать только! С помощью сверхбольших интегральных схем мы можем упаковать 100 «эниаков» в 1 кв. См.

* Редактирование — это выражение того же, но другими словами.

* Почему распалась римская империя? Как по-латыни автоматизация конторских работ?

* Эвм приводит в замешательство вычислительную науку.

* Единственная конструктивная теория, связывающая неврологию и психологию, возникает из исследований софтвера.

* Для машин естественные языки не естественны.

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

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

* Обучение детей программированию противоречит современной теории обучения. Разве интересно составлять планы, овладевать дисциплиной в организациии мышления, уделять внимание деталям и учиться быть самокритичным?

* Если вы можете представить себе общество, где лакеями будут роботы, вы можете представить все, что угодно.

* Программирование — это неестественный процесс.

* Адаптировать старые программы к новым машинам обычно означает заставить новые машины работать по-старому.

* Простота только мешает поиску недостижимого. Если существуют афоризмы, должны быть и метаафоризмы.

* Афоризмы — это интерфейсы, по которым передается оценка и понимание.

* Афоризмы параметризуют нимбы святости.

* Афоризмы — это макросы, поскольку они выполняются в ходе чтения.

* Афоризмы кристаллизуют несоответствия.

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

* Афоризмы пропускают подробности и выделяют главное: Это превосходная документация высокого уровня.

* Афоризмы скорее подобны витаминам, чем белку.

* У афоризмов чрезвычайно низкая энтропия.

* Последний афоризм? Афоризмы нельзя ни есть, ни пить — их нужно вдыхать.

Цитатник Wiki.