| Antoine de Saint-Exupery |
You know you have achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away. |
|---|---|
| Albert Einstein |
If you can't explain it simply, you don't understand it well enough. We can't solve problems by using the same kind of thinking we used when we created them. |
| Fred Brooks |
Good judgement comes from experience, and experience comes from bad judgement. |
| Larry Wall |
the three great virtues of a programmer: |
| Howard Aiken |
Don't worry about people stealing your ideas. |
| Paul Graham |
The atmosphere of the average workplace is to productivity what flames painted on the side of a car are to speed.... the people pretending to work interrupt the ones actually working. |
| Steve Yegge |
Agile evades criticism [by] embracing anything good, and disclaiming anything bad. |
| Bjarne Stroustrup |
The idea of programming as a semiskilled task...is dangerous.... one aim should be to make tools that will serve skilled professionals— not...people who can hardly understand the problems, let alone express solutions. |
| Paul Graham |
Programming FAQ
Being Popular Hackers are lazy, in the same way that mathematicians and modernist architects are lazy: they hate anything extraneous. A hacker would consider being asked to write add x to y giving z instead of z = x+y as something between an insult to his intelligence and a sin against God. A good programming language should have features that make the kind of people who use the phrase "software engineering" shake their heads disapprovingly.
Design Philosophy |
| Kode Vicious |
most certifications ... certify only that you can pass a test, not that you can think about problems, which is the more important skill. |
| Paul Graham |
On Lisp What skates are to ice, functional programming is to Lisp. ... in Lisp ... an invocation owns objects it receives as return values, but not objects passed to it as arguments. Code written so that each invocation only modifies what it owns is almost as good as purely functional code. In Lisp's dynamic environment, functional programs can be written with unusual speed, and at the same time, can be unusually reliable. Experienced Lisp programmers actually design their programs to be easy to test:
|