Douglas Crockford

Image of Douglas Crockford
Generally, the craft of programming is the factoring of a set of requirements into a a set of functions and data structures.
- Douglas Crockford
Collection: Data
Image of Douglas Crockford
Computer programs are the most complex things that humans make.
- Douglas Crockford
Collection: Computer
Image of Douglas Crockford
JavaScript is the only language that I'm aware of that people feel they don't need to learn before they start using it.
- Douglas Crockford
Collection: People
Image of Douglas Crockford
In JavaScript, there is a beautiful, elegant, highly expressive language that is buried under a steaming pile of good intentions and blunders.
- Douglas Crockford
Collection: Beautiful
Image of Douglas Crockford
People who use Class will never understand all the crap they are doing.
- Douglas Crockford
Collection: Class
Image of Douglas Crockford
Progress comes from finding better ways to do things. Don't be afraid of innovation. Don't be afraid of ideas that are not your own.
- Douglas Crockford
Collection: Ideas
Image of Douglas Crockford
Most programming languages contain good parts and bad parts. I discovered that I could be better programmer by using only the good parts and avoiding the bad parts.
- Douglas Crockford
Collection: Language
Image of Douglas Crockford
Code reuse is the Holy Grail of Software Engineering.
- Douglas Crockford
Collection: Engineering
Image of Douglas Crockford
JavaScript is the world's most misunderstood programming language.
- Douglas Crockford
Collection: Misunderstood
Image of Douglas Crockford
Good architecture is necessary to give programs enough structure to be able to grow large without collapsing into a puddle of confusion.
- Douglas Crockford
Collection: Confusion
Image of Douglas Crockford
Things don't change because people change their minds. They change because they retire or die.
- Douglas Crockford
Collection: People
Image of Douglas Crockford
It turns out that style matters in programming for the same reason that it matters in writing. It makes for better reading.
- Douglas Crockford
Collection: Reading
Image of Douglas Crockford
Software is usually expected to be modified over the course of its productive life. The process of converting one correct program into a different correct program is extremely challenging.
- Douglas Crockford
Collection: Productive Life
Image of Douglas Crockford
Just because something is a standard doesn’t mean it is the right choice for every application. Like XML, for example.
- Douglas Crockford
Collection: Mean
Image of Douglas Crockford
People who should be the first to recognize the value of an innovation are often the last.
- Douglas Crockford
Collection: People
Image of Douglas Crockford
I have been writing JavaScript for 8 years now, and I have never once found need to use an uber function. The super idea is fairly important in the classical pattern, but it appears to be unnecessary in the prototypal and functional patterns. I now see my early attempts to support the classical model in JavaScript as a mistake.
- Douglas Crockford
Collection: Mistake
Image of Douglas Crockford
The structure of software systems tend to reflect the structure of the organization that produce them.
- Douglas Crockford
Collection: Organization
Image of Douglas Crockford
The good thing about reinventing the wheel is that you can get a round one.
- Douglas Crockford
Collection: Wheels
Image of Douglas Crockford
A JSON decoder MAY accept and ignore comments.
- Douglas Crockford
Collection: May
Image of Douglas Crockford
It turns out that strong typing does not eliminate the need for careful testing. And I have found in my work that the sorts of errors that strong type checking finds are no the errors I worry about.
- Douglas Crockford
Collection: Strong
Image of Douglas Crockford
Using int made sense in the 50s. Not any more
- Douglas Crockford
Collection: Made
Image of Douglas Crockford
Features have a specification cost, a design cost, and a development cost. There is a testing cost and a reliability cost. ... Features have a documentation cost. Every feature adds pages to the manual increasing training costs.
- Douglas Crockford
Collection: Design
Image of Douglas Crockford
Obsolete comments are worse than no comments.
- Douglas Crockford
Collection: Obsolete
Image of Douglas Crockford
JS will be a real functional language.
- Douglas Crockford
Collection: Real
Image of Douglas Crockford
Features that offer value to a minority of users impose a cost on all users.
- Douglas Crockford
Collection: Minorities
Image of Douglas Crockford
We see a lot of feature-driven product design in which the cost of features is not properly accounted. Features can have a negative value to customers because they make the products more difficult to understand and use. We are finding that people like products that just work. It turns out that designs that just work are much harder to produce that designs that assemble long lists of features.
- Douglas Crockford
Collection: Long
Image of Douglas Crockford
Programmers are as emotional and irrational as normal people
- Douglas Crockford
Collection: Emotional