We remember what we learn when we care about performing better and when
we believe that what we have been asked to do is representative of
reality.
-- Roger Schank, Engines for Education
This challenge, viz. the confrontation with the programming task, is so
unique that this novel experience can teach us a lot about ourselves. It
should deepen our understanding of the processes of design and creation,
it should give us better control over the task of organizing our
thoughts. If it did not do so, to my taste we should no deserve the
computer at all! It has allready taught us a few lessons, and the one I
have chosen to stress in this talk is the following. We shall do a much
better programming job, provided that we approach the task with a full
appreciation of its tremenduous difficulty, provided that we stick to
modest and elegant programming languages, provided that we respect the
intrinsec limitations of the human mind and approach the task as Very
Humble Programmers.
-- E. W. Dijkstra, The humble programmer
More computing sins are committed in the name of efficiency (without
necessarily achieving it) than for any other single reason - including
blind stupidity.
-- W.A. Wulf
This challenge, viz. the confrontation with the programming task, is so
unique that this novel experience can teach us a lot about ourselves. It
should deepen our understanding of the processes of design and creation,
it should give us better control over the task of organizing our
thoughts. If it did not do so, to my taste we should no deserve the
computer at all! It has allready taught us a few lessons, and the one I
have chosen to stress in this talk is the following. We shall do a much
better programming job, provided that we approach the task with a full
appreciation of its tremenduous difficulty, provided that we stick to
modest and elegant programming languages, provided that we respect the
intrinsec limitations of the human mind and approach the task as Very
Humble Programmers.
-- E. W. Dijkstra, The humble programmer
Since programmers create programs out of nothing, imagination is our
only limitation. Thus, in the world of programming, the hero is the one
who has great vision. Paul Graham is one of our contemporary heroes. He
has the ability to embrace the vision, and to express it plainly. His
works are my favorites, especially the ones describing language design.
He explains secrets of programming, languages, and human nature that can
only be learned from the hacker experience. This book shows you his
great vision, and tells you the truth about the nature of hacking.
-- Yukihiro "Matz" Matsumoto, creator of Ruby
Since programmers create programs out of nothing, imagination is our
only limitation. Thus, in the world of programming, the hero is the one
who has great vision. Paul Graham is one of our contemporary heroes. He
has the ability to embrace the vision, and to express it plainly. His
works are my favorites, especially the ones describing language design.
He explains secrets of programming, languages, and human nature that can
only be learned from the hacker experience. This book shows you his
great vision, and tells you the truth about the nature of hacking.
-- Yukihiro "Matz" Matsumoto, creator of Ruby
Side projects are less masturbatory than reading RSS, often more
useful than MobileMe, more educational than the comments on Reddit,
and usually more fun than listening to keynotes.
-- Chris Wanstrath
Training research shows that if you get speed now you can get quality
later. But if you don't get speed you will never get quality in the long
run.
-- Philip Greenspun
Something Confusing about "Hard":
It's tempting to think that if it's hard, then it's valuable.
Most valuable things are hard.
Most hard things are completely useless -- (picture of someone smashing
their head through concrete blocks kung-fu style).
Hard DOES NOT EQUATE TO BEING valuable.
Remember Friendster back in the day?
You'd sign in, invite friends, have 25 friends, go to their profile, and
then it'd show how you were connected to each one.
That's an impressive [some geeky CS jargon] Cone traversal of a tree -
100 million string comparisons per page -- it won't scale.
Used to take a minute per page to load, and Friendster died a painful
death.
MySpace -- not interested in solving problems
They use the shortcut of "Miss Fitzpatrick is in your extended network"
(i.e. even when you're not even signed up for MySpace)
They didn't solve the hard problem. But they make the more relevant
assumption that you want to be connected to hot women. [LOL]
Shows Alexa graph showing that in early 2005 Myspace took off, and
quickly bypassed Friendster and never looked back.
-- Max Levchin, PayPal founder, Talk at StartupSchool2007
Students should be evaluated on how well they can achieve the goals they
strived to achieve within a realistic context. Students need to learn to
do things, not know things.
-- Roger Schank, Engines for Education
Functional programming is to algorithms as the ubiquitous little black
dress is to women's fashion.
-- Mark Tarver (of "The bipolar Lisp programmer" fame)
The general principle for complexity design is this: Think locally, act
locally.
-- Richard P. Gabriel & Ron Goldman, Mob Software: The Erotic Life of Code
Vigorous writing is concise. A sentence should contain no unnecessary
words, a paragraph no unnecessary sentences, for the same reason that a
drawing should have no unnecessary lines and a machine no unnecessary
parts. This requires not that the writer make all sentences short or
avoid all detail and treat subjects only in outline, but that every word
tell.
-- William Strunk, Jr. (The Elements of Style)
The greatest of all weaknesses is the fear of appearing weak.
-- J. B. Bossuet, Politics from Holy Writ, 1709
Programming is the art of figuring out what you want so precisely that
even a machine can do it.
-- Some guy who isn't famous
Don't worry about what anybody else is going to do. The best way to
predict the future is to invent it.
-- Alan Kay
It is impossible to sharpen a pencil with a blunt axe. It is equally
vain to try to do it with ten blunt axes instead.
-- Edsger Dijkstra
The only way of discovering the limits of the possible is to venture a
little way past them into the impossible.
-- Arthur C. Clarke
If it looks like a duck, walks like a duck, and quacks like a duck, it's
a duck.
-- Official definition of "duck typing"
We remember what we learn when we care about performing better and when
we believe that what we have been asked to do is representative of
reality.
-- Roger Schank, Engines for Education
The problem is that Microsoft just has no taste. And I don't mean that
in a small way, I mean that in a big way.
-- Steve Jobs
Any sufficiently advanced technology is undistinguishable from magic.
-- Arthur C. Clarke
The job of a leader today is not to create followers. It’s to create
more leaders.
-- Ralph Nader
-- [Ideas for flamewars]
C and Lisp stand at opposite ends of the spectrum; they're each great at
what the other one sucks at.
-- Steve Yegge, Tour de Babel.
Show, don't tell.
-- unknown
If you tell the truth, you don't have to remember anything.
-- Mark Twain
If it keeps up, man will atrophy all his limbs but the push-button
finger.
-- Frank Lloyd Wright
Good programmers use their brains, but good guidelines save us having to
think out every case.
-- Francis Glassborow
This challenge, viz. the confrontation with the programming task, is so
unique that this novel experience can teach us a lot about ourselves. It
should deepen our understanding of the processes of design and creation,
it should give us better control over the task of organizing our
thoughts. If it did not do so, to my taste we should no deserve the
computer at all! It has allready taught us a few lessons, and the one I
have chosen to stress in this talk is the following. We shall do a much
better programming job, provided that we approach the task with a full
appreciation of its tremenduous difficulty, provided that we stick to
modest and elegant programming languages, provided that we respect the
intrinsec limitations of the human mind and approach the task as Very
Humble Programmers.
-- E. W. Dijkstra, The humble programmer
It is better to be quiet and thought a fool than to open your mouth and
remove all doubt.
-- WikiHow
More computing sins are committed in the name of efficiency (without
necessarily achieving it) than for any other single reason - including
blind stupidity.
-- W.A. Wulf
This challenge, viz. the confrontation with the programming task, is so
unique that this novel experience can teach us a lot about ourselves. It
should deepen our understanding of the processes of design and creation,
it should give us better control over the task of organizing our
thoughts. If it did not do so, to my taste we should no deserve the
computer at all! It has allready taught us a few lessons, and the one I
have chosen to stress in this talk is the following. We shall do a much
better programming job, provided that we approach the task with a full
appreciation of its tremenduous difficulty, provided that we stick to
modest and elegant programming languages, provided that we respect the
intrinsec limitations of the human mind and approach the task as Very
Humble Programmers.
-- E. W. Dijkstra, The humble programmer
Since programmers create programs out of nothing, imagination is our
only limitation. Thus, in the world of programming, the hero is the one
who has great vision. Paul Graham is one of our contemporary heroes. He
has the ability to embrace the vision, and to express it plainly. His
works are my favorites, especially the ones describing language design.
He explains secrets of programming, languages, and human nature that can
only be learned from the hacker experience. This book shows you his
great vision, and tells you the truth about the nature of hacking.
-- Yukihiro "Matz" Matsumoto, creator of Ruby
Since programmers create programs out of nothing, imagination is our
only limitation. Thus, in the world of programming, the hero is the one
who has great vision. Paul Graham is one of our contemporary heroes. He
has the ability to embrace the vision, and to express it plainly. His
works are my favorites, especially the ones describing language design.
He explains secrets of programming, languages, and human nature that can
only be learned from the hacker experience. This book shows you his
great vision, and tells you the truth about the nature of hacking.
-- Yukihiro "Matz" Matsumoto, creator of Ruby
Side projects are less masturbatory than reading RSS, often more
useful than MobileMe, more educational than the comments on Reddit,
and usually more fun than listening to keynotes.
-- Chris Wanstrath
Sound methodology can empower and liberate the creative mind; it cannot inflame
or inspire the drudge.
-- Frederick P. Brooks, No Sliver Bullet.
Training research shows that if you get speed now you can get quality
later. But if you don't get speed you will never get quality in the long
run.
-- Philip Greenspun
Simplicity means the achievement of maximum effect with minimum means.
-- Dr. Koichi Kawana
Fools ignore complexity. Pragmatists suffer it. Some can avoid it.
Geniuses remove it.
-- Alan J. Perlis (Epigrams in programming)
Do not accept anything because it comes from the mouth of a respected person.
-- Buddha
Something Confusing about "Hard":
It's tempting to think that if it's hard, then it's valuable.
Most valuable things are hard.
Most hard things are completely useless -- (picture of someone smashing
their head through concrete blocks kung-fu style).
Hard DOES NOT EQUATE TO BEING valuable.
Remember Friendster back in the day?
You'd sign in, invite friends, have 25 friends, go to their profile, and
then it'd show how you were connected to each one.
That's an impressive [some geeky CS jargon] Cone traversal of a tree -
100 million string comparisons per page -- it won't scale.
Used to take a minute per page to load, and Friendster died a painful
death.
MySpace -- not interested in solving problems
They use the shortcut of "Miss Fitzpatrick is in your extended network"
(i.e. even when you're not even signed up for MySpace)
They didn't solve the hard problem. But they make the more relevant
assumption that you want to be connected to hot women. [LOL]
Shows Alexa graph showing that in early 2005 Myspace took off, and
quickly bypassed Friendster and never looked back.
-- Max Levchin, PayPal founder, Talk at StartupSchool2007
If you tell the truth, you don't have to remember anything.
-- Mark Twain
Students should be evaluated on how well they can achieve the goals they
strived to achieve within a realistic context. Students need to learn to
do things, not know things.
-- Roger Schank, Engines for Education
Functional programming is to algorithms as the ubiquitous little black
dress is to women's fashion.
-- Mark Tarver (of "The bipolar Lisp programmer" fame)
If everything seems under control, you're not going fast enough.
-- Mario Andretti
A non negative binary integer value x is a power of 2 iff (x & (x-1)) is
0 using 2's complement arithmetic.
-- [fact]
The general principle for complexity design is this: Think locally, act
locally.
-- Richard P. Gabriel & Ron Goldman, Mob Software: The Erotic Life of Code
Any fool can make the simple complex, only a smart person can make the
complex simple.
-- unknown
We will never become a truly paper-less society until the Palm Pilot
folks come out with WipeMe 1.0.
-- Andy Pierson
Simplicity means the achievement of maximum effect with minimum means.
-- Dr. Koichi Kawana
Programming is the art of figuring out what you want so precisely that
even a machine can do it.
-- Some guy who isn't famous
Vigorous writing is concise. A sentence should contain no unnecessary
words, a paragraph no unnecessary sentences, for the same reason that a
drawing should have no unnecessary lines and a machine no unnecessary
parts. This requires not that the writer make all sentences short or
avoid all detail and treat subjects only in outline, but that every word
tell.
-- William Strunk, Jr. (The Elements of Style)