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 CrockfordIn JavaScript, there is a beautiful, elegant, highly expressive language that is buried under a steaming pile of good intentions and blunders.
Douglas CrockfordIt 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 CrockfordGood architecture is necessary to give programs enough structure to be able to grow large without collapsing into a puddle of confusion.
Douglas CrockfordIt turns out that style matters in programming for the same reason that it matters in writing. It makes for better reading.
Douglas CrockfordThe structure of software systems tend to reflect the structure of the organization that produce them.
Douglas CrockfordJust because something is a standard doesnโt mean it is the right choice for every application. Like XML, for example.
Douglas CrockfordThings don't change because people change their minds. They change because they retire or die.
Douglas CrockfordFeatures 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 CrockfordMost 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 CrockfordJavaScript is the only language that I'm aware of that people feel they don't need to learn before they start using it.
Douglas CrockfordPeople who should be the first to recognize the value of an innovation are often the last.
Douglas CrockfordSoftware 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 CrockfordI 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 CrockfordGenerally, the craft of programming is the factoring of a set of requirements into a a set of functions and data structures.
Douglas CrockfordWe 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