Алан Перліс
А́лан Джей Пе́рліс (Alan Jay Perlis, *1 квітня 1922 — †7 лютого 1990) — американський вчений в галузі інформатики (комп'ютерних наук), відомий своїми новаторськими роботами з мов програмування і як перший лауреат Премії Тюрінга. Автор численних епіграм/афоризмів про програмування, так званих Перлісизмів, які широко цитуються.
Алан Перліс | |
![]() |
Епіграми про програмування (Epigrams on Programming (1982))
ред.ACM SIGPLAN Notices 17 (9), September 1982, pp. 7-13 [2]
- Те, що для одного константа, для іншого — змінна.
One man's constant is another man's variable.
- Функції затримують зв'язок: структури даних спонукають до зв'язку. Мораль: структуруйте дані наприкінці процесу програмування.
Functions delay binding: data structures induce binding. Moral: Structure data late in the programming process.
- Синтаксичний цукор викликає рак крапок з комою.
Syntactic sugar causes cancer of the semi-colons.
- Кожна програма є частиною іншої програми і рідко годиться для неї.
Every program is a part of some other program and rarely fits.
- Якщо програма маніпулює великою кількістю даних, вона робить це в невелике число способів.
If a program manipulates a large amount of data, it does so in a small number of ways.
- Симетрія є концепцією, яка зменшує складність (головні програми містять підпрограми); шукайте її скрізь.
Symmetry is a complexity reducing concept (co-routines include sub-routines); seek it everywhere.
- Легше написати неправильну програму, ніж зрозуміти правильну.
It is easier to write an incorrect program than understand a correct one.
- Мова програмування є низького рівня, коли програми на ній вимагають уваги до несуттєвого.
A programming language is low level when its programs require attention to the irrelevant.
- Краще мати 100 функцій, які оперують з однією структур даних, ніж 10 функцій з 10 структурами.
It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.
- Своєчасно вступайте на проторену колію: Робіть ті самі процеси таким же чином. Накопичуйте ідіоми. Стандартизуйте. Єдина різниця (!) між Шекспіром і вами є в кількості його ідіом — не в об'ємі словника.
Get into a rut early: Do the same processes the same way. Accumulate idioms. Standardize. The only difference (!) between Shakespeare and you was the size of his idiom list — not the size of his vocabulary.
- Якщо ви маєте процедуру з 10 параметрами, ви, можливо, щось пропустили.
If you have a procedure with 10 parameters, you probably missed some.
- Рекурсія — основа комп'ютерної науки, оскільки вона жертвує описом заради часу.
Recursion is the root of computation since it trades description for time.
- Якщо двоє пишуть точно ту саму програму, кожну треба перетворити в мікрокод, і тоді вони, звичайно ж, не будуть однаковими.
If two people write exactly the same program, each should be put in micro-code and then they certainly won't be the same.
- Під час тривалої розробки кожна програма стає рококо — а згодом щебенем.
In the long run every program becomes rococo — then rubble.
- Все треба проектувати зверху вниз, за винятком початкового кроку.
Everything should be built top-down, except the first time.
- Кожна програма має (принаймні) два призначення: перше для чого вона була написана і друге для чого вона написана не була.
Every program has (at least) two purposes: the one for which it was written and another for which it wasn't.
- Якщо слухач киває головою, коли ви пояснюєте свою програму, збудіть його.
If a listener nods his head when you're explaining your program, wake him up.
- Програму без циклу і структурованої змінної не варто писати.
A program without a loop and a structured variable isn't worth writing.
- Мову, яка не впливає спосіб вашого мислення про програмування, не варто знати.
A language that doesn't affect the way you think about programming, is not worth knowing.
- Скрізь, де є модульність можливе непорозуміння: Приховування інформації спричиняє необхідність перевірки зв'язку.
Wherever there is modularity there is the potential for misunderstanding: Hiding information implies a need to check communication.
- Оптимізація перешкоджає еволюції.
Optimization hinders evolution.
- Хороша система не можеt мати слабку мову команд.
A good system can't have a weak command language.
- Щоб зрозуміти програму, ви повинні стати і машиною, і програмою.
To understand a program you must become both the machine and the program.
- Можливо, якщо б ми писали програми з дитинства, то, ставши дорослими, ми були б в змозі їх читати.
Perhaps if we wrote programs from childhood on, as adults we'd be able to read them.
- Подумки людина може тільки відтворити складну інформацію. З огляду на те, що рух або потік або зміна виду є більш важливим, ніж статичне зображення, незалежно наскільки воно гарне.
One can only display complex information in the mind. Like seeing, movement or flow or alteration of view is more important than the static picture, no matter how lovely.
- Завжди буде щось, що ми хочемо сказати в наших програмах, і що всіма відомими мовами можна сказати тільки вбого.
There will always be things we wish to say in our programs that in all known languages can only be said poorly.
- Як тільки ви зрозуміли, як писати програму, переконайте когось іншого написати її.
Once you understand how to write a program get someone else to write it.
- В тому, що стосується комп'ютерів важко знайти правильну одиницю часу для вимірювання прогресу. Завершення деяких соборів зайняли століття. Чи можете ви уявити собі велич і сферу застосування програми, на яку б затратили стільки часу?
Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long?
- Для систем аналог косметичної підтяжки обличчя полягає в додаванні до графу управління ребра, яке утворює цикл, але аж ніяк не додаткової вершини.
For systems, the analogue of a face-lift is to add to the control graph an edge that creates a cycle, not just an additional node.
- У програмуванні все, що ми робимо, є окремий випадок чогось загальнішого — і часто ми дізнаємося про це надто швидко.
In programming, everything we do is a special case of something more general — and often we know it too quickly.
- Простота не передує складності, а постає з неї.
Simplicity does not precede complexity, but follows it.
- Програмістів слід оцінювати не за їх винахідливістю і логікою, а за повнотою аналізу ситуації.
Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis.
- Одинадцятою заповіддю була «Обчислюй» чи «Не обчислюй» — я забув яка.
The 11th commandment was «Thou Shalt Compute» or «Thou Shalt Not Compute» — I forget which.
- Рядок є застиглою структурою даних і всюди, куди він передається, відбувається чимале дублювання процесу. Це досконалий засіб для приховування інформації.
The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information.
- Кожного можна навчити робити скульптуру: тоді довелося б навчати Мікеланджело як не треба робити. Так і з великими програмістами.
Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers.
- Використання програми для доведення теореми про 4 фарби не змінить математики — воно просто демонструє, що теорема, виклик століття, ймовірно не важлива для математики.
The use of a program to prove the 4-color theorem will not change mathematics — it merely demonstrates that the theorem, a challenge for a century, is probably not important to mathematics.
- Найважливіший ком'ютер той, що вирує у нашому черепі і завжди шукає задовільний зовнішній емулятор. Стандартизація реальних (біологічних) комп'ютерів була б катастрофою — і тому вона, ймовірно, не трапиться.
The most important computer is the one that rages in our skulls and ever seeks that satisfactory external emulator. The standardization of real computers would be a disaster — and so it probably won't happen.
- Структурне програмування підтримує закон виключення плутанини.
Structured Programming supports the law of the excluded muddle.
- Стосовно графіки: Зображення вартує 10К слів— але тільки тих, які його описують. Трудно, щоб якийсь набір 10К слів міг бути адекватно описаний зображеннями.
Re graphics: A picture is worth 10K words — but only those to describe the picture. Hardly any sets of 10K words can be adequately described with pictures.
- Є два способи писати безпомилкові програми; тільки третій з них працює.
There are two ways to write error-free programs; only the third one works.
- Деякі мови програмування примудряються вбирати зміни, однак опиратися прогресу.
Some programming languages manage to absorb change, but withstand progress.
- Ви можете виміряти перспективи програміста, спостерігаючи його ставлення до триваючої життєздатності Фортрану.
You can measure a programmer's perspective by noting his attitude on the continuing vitality of FORTRAN.
- В програмних системах частенько саме рання пташка створює черв'ячка.[1]
In software systems it is often the early bird that makes the worm.
- Іноді мені здається, що єдиною універсальністю в комп'ютеризації є цикл вибірка-виконання.
Sometimes I think the only universal in the computing field is the fetch-execute-cycle.
- Метою комп'ютеризації є емуляція наших синтетичних здібностей, а не розуміння аналітичних.
The goal of computation is the emulation of our synthetic abilities, not the understanding of our analytic ones.
- Як і каламбур, програмування — це гра слів.
Like punning, programming is a play on words.
- Як сказав би Вілл Роджерс[2], «Нема такої речі як вільна змінна».
As Will Rogers would have said, «There is no such thing as a free variable.»
- Для дилетанта найкращою книгою з програмування є «Аліса в Країні чудес»; але це тому, що це найкраща книжка з будь-чого для дилетанта.
The best book on programming for the layman is «Alice in Wonderland»; but that's because it's the best book on anything for the layman.
- Відмова від мови асемблера була яблуком в нашому Едемському саду: Мови, використання яких розтрачує машинні цикли, є гріховними. LISP-машина тепер дозволяє програмістам відмовитися від бюстгальтера і фігових листків.
Giving up on assembly language was the apple in our Garden of Eden: Languages whose use squanders machine cycles are sinful. The LISP machine now permits LISP programmers to abandon bra and fig-leaf.
- Коли ми зрозуміємо системи баз знань, все буде як і раніш — за винятком того, що наші кінчики пальців будуть підписані.[3]
When we understand knowledge-based systems, it will be as before — except our finger-tips will have been singed.
- Запровадження комп'ютерів в домівках не змінить ні тих, ні інших, зате може воскресити салун на розі.
Bringing computers into the home won't change either one, but may revitalize the corner saloon.
- Системи складються з підсистем, і підсистеми складаються з підсистем, і так далі до безконечності — ось чому ми весь час починаємо спочатку/проектуємо знизу вверх.
Systems have sub-systems and sub-systems have sub-systems and so on ad infinitum — which is why we're always starting over.
- Про так багато хороших ідей ніколи більше не чули, як тільки вони вийшли в плавання по затоці семантики.
So many good ideas are never heard from again once they embark in a voyage on the semantic gulf.
- Стережіться смоляної ями Тюрінга, в якій все можливо, але все цікаве є нелегким.
Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy.
- Лісп-програміст знає значення всього, але не знає вартості нічого.
A LISP programmer knows the value of everything, but the cost of nothing.
- Програмне забезпечення знаходиться в постійній напруженості. Будучи символічним воно необмежене у вдосконаленні; але також необмежене у змінах.
Software is under a constant tension. Being symbolic it is arbitrarily perfectible; but also it is arbitrarily changeable.
- Легше змінити специфікацію, щоб вона відповідала програмі, ніж навпаки.
It is easier to change the specification to fit the program than vice versa.
- Дурні ігнорують складність. Прагматики страждають від неї. Хтось може уникати її. Генії її усувають.
Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
- В англійській мові з кожного слова можна зробити дієслово. От якби так було в наших мовах програмування.
In English every word can be verbed. Would that it were so in our programming languages.
- Дана Скотт — це Церква Святих Тернистого Шляху.[4]
Dana Scott is the Church of the Lattice-Way Saints./DаNа Sсоtt IS thе снURсн оF LаttIсе-WаY SаINtS
- У програмуванні, як і в усьому іншому, помилятися означає народжуватися заново.
In programming, as in everything else, to be in error is to be reborn.
- У програмуванні інваріанти ефемерні/постійне скороминуще.
In computing, invariants are ephemeral.
- Коли ми пишемо програми, які «вчаться», то виявляється, що ми вчимося, а не вони.
When we write programs that «learn», it turns out we do and they don't.
- Часто навпаки засоби виправдовують цілі. Ціль висуває техніку/метод, а техніка виживає навіть тоді, коли руйнуються структури цілі.
Often it is means that justify ends: Goals advance technique and technique survives even when goal structures crumble.
- Не зробіть помилки з цього приводу: Комп'ютери обробляють числа — не символи. Ми вимірюємо своє розуміння (і контроль) ступенем, до якого ми можемо арифметизувати діяльність.
Make no mistake about it: Computers process numbers — not symbols. We measure our understanding (and control) by the extent to which we can arithmetize an activity.
- Робити щось змінним легко. Управляти тривалістю сталості — оце трюк.
Making something variable is easy. Controlling duration of constancy is the trick.
- Подумайте про всю ту психічну енергію, витрачену на пошуки фундаментальної різниці між «алгоритмом» і «програмою».
Think of all the psychic energy expended in seeking a fundamental distinction between «algorithm» and «program».
- Якщо ми віримо в структури даних, ми повинні вірити і в незалежну (отже й одночасну) обробку. Інакше навіщо ми збираємо елементи в структуру? Чому ми терпимо мови, які дають нам одне без іншого?
If we believe in data structures, we must believe in independent (hence simultaneous) processing. For why else would we collect items within a structure? Why do we tolerate languages that give us the one without the other?
- За 5-річний період ми отримуємо одну чудову мову програмування. Тільки ми не можемо керувати тим, коли 5-річний період почнеться.
In a 5 year period we get one superb programming language. Only we can't control when the 5 year period will begin.
- Протягом століть індіанці розробляли мову жестів/знаків для спілкування про явища, що представляють інтерес. Програмісти з різних племен (ФОРТРАН, ЛИСП, АЛГОЛ, СНОБОЛ і т. д.) могли б використовувати таку мову, яка б не вимагала від них перевозити класну дошку на своїх поні [мову, яка була б зрозуміла без класної дошки].
Over the centuries the Indians developed sign language for communicating phenomena of interest. Programmers from different tribes (FORTRAN, LISP, ALGOL, SNOBOL, etc.) could use one that doesn't require them to carry a blackboard on their ponies.
- Документація подібна до страхування на певний термін: воно задовольняє, бо майже ніхто, хто підписався на нього не залежить від його вигод.
Documentation is like term insurance: It satisfies because almost no one who subscribes to it depends on its benefits.
- Адекватне самозавантаження містить протиріччя в самій назві.
An adequate bootstrap is a contradiction in terms.
- Не слабкості мови, а її сильні сторони/стійкість управляють напрямом її зміни: На жаль, мова ніколи не втече з її зародкового мішка.
It is not a language's weaknesses but its strengths that control the gradient of its change: Alas, a language never escapes its embryonic sac.
- Можливо, що програмне забезпечення не схоже ні на що інше, що воно призначене бути непридатним з часом: що вся справа в тому, щоб завжди розглядати його як мильну бульбашку?
It is possible that software is not like anything else, that it is meant to be discarded: that the whole point is to always see it as soap bubble?
- Через свою живучість, комп'ютерна галузь завжди відчайдушно потребує нових кліше: Банальність заспокоює наші нерви.
Because of its vitality, the computing field is always in desperate need of new cliches: Banality soothes our nerves.
- Це користувачі повинні параметризувати процедури, а не розробники.
It is the user who should parameterize procedures, not their creators.
- Кібернетичний обмін між людиною, комп'ютером і алгоритм подібний до гри в музичні стільці: Шалений пошук рівноваги завжди залишає одного з трьох ніяково стояти.
The cybernetic exchange between man, computer and algorithm is like a game of musical chairs: The frantic search for balance always leaves one of the three standing ill at ease.
- Якщо ваш комп'ютер говорить англійською, він, ймовірно, зроблений в Японії.
If your computer speaks English it was probably made in Japan.
- Року відпрацьованого в галузі штучного інтелекту достатньо, щоб повірити в Бога.
A year spent in artificial intelligence is enough to make one believe in God.
- Тривалий контакт з комп'ютером перетворює математиків на клерків, і навпаки.
Prolonged contact with the computer turns mathematicians into clerks and vice versa.
- У програмуванні перетворення очевидного в корисне є чинним визначенням слова «розчарування».
In computing, turning the obvious into the useful is a living definition of the word «frustration».
- Ми знаходимося на межі: Сьогодні наша програма довела передостанню теорему Ферма!
We are on the verge: Today our program proved Fermat's next-to-last theorem!
- Яка ж різниця між машиною Тьюрінга і сучасним комп'ютером? Така ж, як між сходженням Хілларі на Еверест і встановленням готелю Hilton на його вершині.
What is the difference between a Turing machine and the modern computer? It's the same as that between Hillary's ascent of Everest and the establishment of a Hilton hotel on its peak.
- Девіз для дослідницької лабораторії: Ми працюємо сьогодні над тим, про що інші вперше подумають лише завтра.
Motto for a research laboratory: What we work on today, others will first think of tomorrow.
- Хоча китайці повинні обожнювати APL, вони вкладають свої гроші у Фортран.
Though the Chinese should adore APL, it's FORTRAN they put their money on.
- Ми обманюємо себе, якщо думаємо, що відношення процедур до даних в активній базі даних може бути зроблене як завгодно малим чи навіть утримуватись малим.
We kid ourselves if we think that the ratio of procedure to data in an active data-base system can be made arbitrarily small or even kept small.
- У нас є міні- та мікрокомп'ютер. У яку семантичну нішу потрапив би пікокомп'ютер?
We have the mini and the micro computer. In what semantic niche would the pico computer fall?
- Це не вина комп'ютера, що рівняння Максвелла не є достатніми для проектування електродвигуна.
It is not the computer's fault that Maxwell's equations are not adequate to design the electric motor.
- Не можна навчитись обчислень за допомогою ручного калькулятора, але можна забути арифметику.
One does not learn computing by using a hand calculator, but one can forget arithmetic.
- Обчислення зробило дерево квіткою.
Computation has made the tree flower.
- Комп'ютер нагадує Лона Чейні[5] — це машина з тисячею облич.
The computer reminds one of Lon Chaney — it is the machine of a thousand faces.
- Комп'ютер є забруднювачем найвищого ступеня. Його фекалії не відрізняються від їжі, яку він виробляє.
The computer is the ultimate polluter. Its feces are indistinguishable from the food it produces.
- Коли хтось каже «Я хочу мову програмування, в якій мені потрібно лише сказати, що я бажаю зробити», дайте йому чупа-чупс.
When someone says «I want a programming language in which I need only say what I wish done, „ give him a lollipop.
- Інтерфейси тримають речі в порядку, але не прискорюють ріст: Функції прискорюють.
Interfaces keep things tidy, but don't accelerate growth: Functions do.
- Не проголошуйте хороших ідей, якщо ви не готові нести відповідальність за них.
Don't have good ideas if you aren't willing to be responsible for them.
- Комп'ютери не впроваджують порядок настільки, наскільки вони розкривають можливості.
Computers don't introduce order anywhere as much as they expose opportunities.
- Коли професор наполягає, що комп'ютерні науки це X, але не Y, поспівчувайте його випускникам.
When a professor insists computer science is X but not Y, have compassion for his graduate students.
- В обчислювальній техніці середнє напрацювання на відмову стає все коротшим.
In computing, the mean time to failure keeps getting shorter.
- В людино-машинному симбіозі пристосовуватися повинна людина: Машини не можуть.
In man-machine symbiosis, it is man who must adjust: The machines can't.
- У нас ніколи не закінчаться задачі для програмування, поки існує хоча б єдина програма.
We will never run out of things to program as long as there is a single program around.
- Упоратись з невдачею легко: Важко працюйте над поліпшенням. Успіх також просто опрацювати: Ви вирішили не ту задачу. Важко працюйте над поліпшенням.
Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve.
- Не можна перейти від неформального до формального формальними засобами.
One can't proceed from the informal to the formal by formal means.
- Цілком аплікативні мови[6] погано застосовні.
Purely applicative languages are poorly applicable.
- Доказом цінності системи є її існування.
The proof of a system's value is its existence.
- Ви не можете передати складність, а тільки усвідомлення цього.
You can't communicate complexity, only an awareness of it.
- Це важко видобувати сенс з рядків, але вони єдина монета для автомата/засіб спілкування, на яку ми можемо розраховувати.
It's difficult to extract sense from strings, but they're the only communication coin we can count on.
- Бушують дебати про: PL/I — це двогорбий чи одногорбий верблюд?
The debate rages on: Is PL/I Bactrian or Dromedary?
- Щоразу, коли два програмісти зустрічаються, щоб критикувати свої програми, обоє мовчать.
Whenever two programmers meet to criticize their programs, both are silent.
- Уявіть! Використовуючи НВСІ (мікросхеми надвисокого ступеня інтеграції) ми можемо упакувати 100 ЕНІАКів на 1кв. см.
Think of it! With VLSI we can pack 100 ENIACs in 1 sq. cm.
- Редагування — це процес перефразування.
Editing is a rewording activity.
- Чому розвалилася Римська імперія? Як буде латиною автоматизація діловодства?
Why did the Roman Empire collapse? What is the Latin for office automation?
- Комп'ютерні науки збентежені комп'ютером.
Computer Science is embarrassed by the computer.
- Єдина конструктивна теорія, яка пов'яже нейробіологію і психологію, буде наслідком дослідження програмного забезпечення.
The only constructive theory connecting neuroscience and psychology will arise from the study of software.
- У комп'ютері природна мова є неприродною.
Within a computer natural language is unnatural.
- Більшість людей визнають концепцію програмування очевидною, але здійснення програмування неможливим.
Most people find the concept of programming obvious, but the doing impossible.
- Ви вважаєте, що знаєте про щось, коли вивчаєте, є більш певними, коли можете написати про це, ще більш, коли можете навчити інших, але цілком упевнені, коли можете програмувати.
.You think you know when you learn, are more sure when you can write, even more when you can teach, but certain when you can program.
- Це йде врозріз до сучасної системи освіти — вчити дітей програмуванню. Що веселого в складанні планів, набутті дисципліни в організації мислення, приділенні уваги деталям і навчанні бути самокритичним?
It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical?
- Якщо ви можете уявити собі суспільство, в якому комп'ютер-робот — єдиний слуга, то ви можете уявити все що завгодно.
If you can imagine a society in which the computer-robot is the only menial, you can imagine anything.
- Програмування є неприродним актом.
Programming is an unnatural act.
- Адаптація старих програм до нових машин зазвичай означає адаптацію нових машин, щоб вони вели себе як старі.
Adapting old programs to fit new machines usually means adapting new machines to behave like old ones.
- У пошуках недосяжного, простота тільки плутається під ногами.
In seeking the unattainable, simplicity only gets in the way.
- Якщо є епіграми, повиннні бути і мета-епіграми.
If there are epigrams, there must be meta-epigrams.
- Якщо є епіграми, повиннні бути і мета-епіграми.
- 122. Епіграми — це інтерфейси, через які передаються вдячність і проникливість.
Epigrams are interfaces across which appreciation and insight flow.
- 123. Епіграми параметризують аури.
Epigrams parameterize auras.
- 124. Епіграми є макросами, оскільки вони виконуються під час читання.
Epigrams are macros, since they are executed at read time.
- 125. Епіграми кристалізують невідповідності.
Epigrams crystallize incongruities.
- 126. Епіграми добувають глибоку семантику з бази даних, яка складається лише з процедур.
Epigrams retrieve deep semantics from a data base that is all procedure.
- 127. Епіграми зневажають деталі і висловлюють головне/точку зору: Вони чудова високорівнева документація.
Epigrams scorn detail and make a point: They are a superb high-level documentation.
- 128. Епіграми більше схожі на вітаміни, ніж на білок.
Epigrams are more like vitamins than protein.
- 129. Епіграми мають вкрай низьку ентропію/невизначеність.
Epigrams have extremely low entropy.
- 130. Остання епіграма? Не їжте і не пийте їх, вдихайте епіграми.
The last epigram? Neither eat nor drink them, snuff epigrams.
Примітки
ред.- ↑ Парафраз англійського прислів'я Рання пташка ловить черв'ячка (Хто рано встає, тому бог дає)
The early bird catches the worm / It's the early bird that catches the worm
- ↑ Вілл Роджерс (w:en:Will Rogers, en:Will Rogers) — американський гуморист, актор тощо
- ↑ Мабуть натяк на прислів'я: Знати, як свої п'ять пальців.
To have smth. at one's finger-ends/finger-tips.
- ↑ Послівний переклад. Дана Скотт — американський вчений в галузі математики та інформатики. В [1] приблизно таке пояснення афоризму: lattice — решітка/ґратка, Дана Скотт — спеціаліст з теорії ґраток (частково впорядкованих множин). Прихильники функціонального програмування і строгого контролю типів даних є доволі релігійними в їх теоретичних поглядах. Цікаво, якщо розглянути варіант афоризму написаного сумішшю регістрів (розкладок): DаNа Sсотт IS тне снURсн оF LаттIсе-WаY SаINтS (який, напевно, і символізує тернистий (нерівний) шлях), то можна виділити такі абревіатури: DNS, IS, UR, FLI, які застосовуються в інформатиці: DNS — domain name system/domain name server — служба/сервер доменних імен; IS — Information Systems — інформаційні системи, information science — інформатика, indexed-sequential — індексно-послідовний (файл); UR — unit record — одиничний/елементарний запис; FLI — free language indexing — індексування природною мовою. Насамкінець: SаINтS — святі, залишивши лише букви верхнього регістру, отримаємо SINS — гріхи.
- ↑ Лон Чейні-старший (w:en:Lon Chaney, Sr.) — знаменитий американський актор німого кіно, який отримав прізвисько «Людина тисячі облич» за вміння до невпізнанності змінювати свою зовнішність.
- ↑ Прикладом такої мови є Лісп (LISP). В словах аррLIсатIVе та аррLIсавLе можна вгледіти: LI — Лісп інтерпретатор (lisp interpreter), IV — початкове значення (initial value) L — мітка (label)
Посилання
ред.Пояснення деяких афоризмів(англ.)
Інші висловлювання
ред.В передмові до книги Structure and Interpretation of Computer Programs (переклад російською мовою Структура и интерпретация компьютерных программ ) Алан Перліс пише:
“ Я вважаю надзвичайно важливим, щоб займаючись комп'ютерними науками, ми отримували насолоду від інформаційних технологій. З моменту їх появи це було величезною розвагою. Звичайно, замовники діставали нас час від часу, і згодом ми почали ставитися до їх скарг серйозно. Ми почали відчувати ніби ми насправді несемо відповідальність за успішне, безпомилкове і досконале використання цих машин. Я не думаю, що це так. Я вважаю, що ми відповідальні за розширення їх застосування, виокремлення їм нових напрямків і підтримання зручності в домі. Я сподіваюся, що в царині комп'ютерної науки ніколи не втратиться відчуття насолоди. Передусім, я сподіваюсь, що ми не зробимось місіонерами. Не почувайтеся продавцем Біблій. Таких в світі вже надто багато. Те, що Ви знаєте про використання комп'ютерів, можуть вивчити й інші. Не вважайте, що ключ до успішної роботи з комп'ютерами знаходиться тільки у ваших руках. Що ви, я думаю і сподіваюсь, маєте — це розум: здатність розгледіти в машині більше, ніж ви побачили, коли вас вперше до неї підвели, щоб змогти зробити її чимось більшим. »