Thompson and Ritchie were among the first to realize that hardware and compiler technology had become good enough that an entire operating system could be written in C, and by 1978 the whole environment had been successfully ported to several machines of different types.— Eric S. Raymond
The most seductive Eric S. Raymond quotes that will activate your inner potential
Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.
Berkeley hackers liked to see themselves as rebels against soulless corporate empires.
The workstation-class machines built by Sun and others opened up new worlds for hackers.
For the first time, individual hackers could afford to have home machines comparable in power and storage capacity to the minicomputers of ten years earlier - Unix engines capable of supporting a full development environment and talking to the Internet.
Smart data structures and dumb code works a lot better than the other way around.
Given enough eyeballs, all bugs are shallow (e.
g., given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone).
Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.
Prototype, then polish. Get it working before you optimize it
Lisp was far more powerful and flexible than any other language of its day;
in fact, it is still a better design than most languages of today, twenty-five years later. Lisp freed ITS's hackers to think in unusual and creative ways. It was a major factor in their successes, and remains one of hackerdom's favorite languages.
A software system is transparent when you can look at it and immediately see what is going on. It is simple when what is going on is uncomplicated enough for a human brain to reason about all the potential cases without strain
The beginnings of the hacker culture as we know it today can be conveniently dated to 1961, the year MIT acquired the first PDP-1.
In early 1993, a hostile observer might have had grounds for thinking that the Unix story was almost played out, and with it the fortunes of the hacker tribe.
It is widely grokked that cats have the hacker nature
If Unix could present the same face, the same capabilities, on machines of many different types, it could serve as a common software environment for all of them.
Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
Provided the development coordinator has a communications medium at least as good as the Internet and knows how to lead without coercion, many heads are inevitably better than one.
Ugly programs are like ugly suspension bridges: they're much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code.
Being able to break security doesn't make you a hacker anymore than being able to hotwire cars makes you an automotive engineer.
The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
Linux evolved in a completely different way.
From nearly the beginning, it was rather casually hacked on by huge numbers of volunteers coordinating only through the Internet.
Release early. Release often. And listen to your customers.
Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
A security system is only as secure as its secret. Beware of pseudo-secrets.
If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource.
The ARPAnet was the first transcontinental, high-speed computer network.
Alchemists turned into chemists when they stopped keeping secrets.
Why the hell hasn't wxPython become the standard GUI for Python yet?
With enough eyes, all bugs are shallow.
On first blush this looks to be about money, but it is about power.
Is power going to go to the information monopolies, or will it go to developers and users?.
Microsoft is not the problem. Microsoft is the symptom.
In the U.S., blacks are 12% of the population but commit 50% of violent crimes; can anyone honestly think this is unconnected to the fact that they average 15 points of IQ lower than the general population? That stupid people are more violent is a fact independent of skin color.
The easiest programs to use are those which demand the least new learning from the user
If you have the right attitude, interesting problems will find you.
We hackers are a playful bunch; we'll hack anything, including language, if it looks like fun (thus our tropism for puns). Deep down, we like confusing people who are stuffier and less mentally agile than we are, especially when they're bosses. There's a little bit of the mad scientist in all hackers, ready to discombobulate the world and flip authority the finger - especially if we can do it with snazzy special effects.
In the beginning, there were Real Programmers.
The iPhone brand is in worse shape than I thought was even possible.
And the implications of that are huge... The iPhone is in deep trouble.
Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
To solve an interesting problem, start by finding a problem that is interesting to you.
Programmer time is expensive; conserve it in preference to machine time
When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
And for any agents or proxy of the regime interested in asking me questions face to face, I've got some bullets slathered in pork fat to make you feel extra special welcome.
Of course, C proved indispensible to the developers of all its alternatives.
Dig down through enough implementation layers under any of the other languages surveyed here and you will find a core implemented in pure, portable C
The central problem of C and C++ is that they require programmers to do their own memory management
Anybody who has ever owned a dog who barked when strangers came near its owner's property has experienced the essential continuity between animal territoriality and human property. Our domesticated cousins of the wolf know, instinctively, that property is no mere social convention or game, but a critically important evolved mechanism for the avoidance of violence. (This makes them smarter than a good many human political theorists.)
The Wesnoth devs are good but not exceptionally so, and we're weighed down by a crappy implementation language (C++). Nevertheless our productivity, in terms of goals achieved per hour of work, is quite high.
Free markets select for winning solutions.
When your language is nowhere near Turing-complete, syntactic sugar can be your friend.
A critical factor in its success was that the X developers were willing to give the sources away for free in accordance with the hacker ethic, and able to distribute them over the Internet.
The only way to write complex software that won't fall on its face is to hold its global complexity down - to build it out of simple pieces connected by well-defined interfaces, so that most problems are local and you can have some hope of fixing or optimizing a part without breaking the whole