Michele Pasin / Quotes

Epigrams On Programming

www.cs.yale.edu ↗

#computer4 #program4 #programming4 #language3 #activity2 #complexity2 #programmers2 #time2 #variables2 #words2 #artificial-intelligence #attention #cancer #cases #children #computation #concept #cost #data-structure #description #differences #disciplines #English #evolution

Understand the program, then delegate it

Once you understand how to write a program get someone else to write it.

#program

No formal route from the informal

One can't proceed from the informal to the formal by formal means.

#means #formal-means

Computers that speak English

If your computer speaks English it was probably made in Japan.

#English #computer

The computer in our skulls

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.

#computer

Programming languages

A language that doesn't affect the way you think about programming, is not worth knowing.

#language #programming

Artificial intelligence

A year spent in artificial intelligence is enough to make one believe in God.

#years #intelligence #artificial-intelligence #God

The law of the excluded muddle

Structured Programming supports the law of the excluded muddle.

#programming #law

Programs worth writing need loops

A program without a loop and a structured variable isn't worth writing.

#program #variables

Simplicity and complexity

Simplicity does not precede complexity, but follows it.

#complexity

Editing is rewording

Editing is a rewording activity.

#activity

Top-down, except the first time

Everything should be built top-down, except the first time.

#time

Pictures and the limits of 10K words

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.

#words #graphics #set

Syntactic sugar causes cancer of the semicolon

Syntactic sugar causes cancer of the semi-colons.

#cancer

Teaching computer science

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?

#fun #disciplines #thought #children

On structuring data

Functions delay binding: data structures induce binding. Moral: Structure data late in the programming process.

#function #structure #data-structure #process

Recursion

Recursion is the root of computation since it trades description for time.

#time #roots #description #computation

Programming as punning

Like punning, programming is a play on words.

#play #words #programming

One man's constant is another's variable

One man's constant is another man's variable.

#variables

Low level programming languages

A programming language is low level when its programs require attention to the irrelevant.

#levels #program #attention #language

Seek symmetry everywhere

Symmetry is a complexity reducing concept (co-routines include sub-routines); seek it everywhere.

#concept #complexity #symmetry

Lisp programmers and the cost of nothing

A LISP programmer knows the value of everything, but the cost of nothing.

#values #cost #programmers

Everything is a special case of something more general

In programming, everything we do is a special case of something more general - and often we know it too quickly.

#cases #programming

Optimization

Optimization hinders evolution.

#evolution

Motto for a research laboratory

Motto for a research laboratory: What we work on today, others will first think of tomorrow.

#today

Things no language can say well

There will always be things we wish to say in our programs that in all known languages can only be said poorly.

#language #things #program

Turing machine

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.

#machine #computer #differences

Computers process numbers, not symbols

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.

#activity #extent #number #understanding #mistakes #computer

Great programmers must learn what not to do

Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers.

#programmers