The key is to acknowledge from the start that you have no idea how this will grow
when you accept that you don't know everything,
you begin to design the system defensively.
—Nicholas Zakas (1974-), creator of the ESLint open source project
that I can't figure out how to get it to work at all.
—Ken Beck (1961-), creator of Extreme Programming
—Miško Hevery, creator of Angular
It sucks the life out of developers, it makes products difficult to plan, build and test,
it introduces security challenges
and it causes end-user and administrator frustration.
—Ray Ozzie, former Microsoft CTO (2005-2010)
I have always wished that my computer would be as easy to use as my telephone.
My wish has come true.
I no longer know how to use my telephone.
—Bjarne Stroustrup (1950-), creator of the C++ programming language
The purpose of software engineering is to control complexity, not to create it.
—Dr. Pamela Zave, coauthor of Software Requirements and Design
Such is modern computing;
everything simple is made too complicated because it’s easy to fiddle with;
everything complicated stays complicated because it’s hard to fix.
—Rob Pike (1956-), member on the Go Language team at Google; Unix team at Bell Labs
It is not that uncommon for the cost of an abstraction
to outweigh the benefit it delivers.
Kill one today!
—John Carmack (1970-), lead programmer of Commander Keen, Wolfenstein 3D, Doom, Quake, Rage and their sequels
The computing scientist’s main challenge
is not to get confused by the complexities of his own making.
—Edsger Dijkstra (1930-2002), 1972 Turing Award recipient
Controlling complexity is the essence of computer programming.
—Brian Kernighan, contributer to the development of Unix
When you think you're simplifying
you're usually just transferring the complexity to another place.
—Bill Buxton, principal researcher at Microsoft Research, pioneer in the human-computer interaction field
Increasingly, people seem to misinterpret complexity as sophistication, which is baffling.
The incomprehensible should cause suspicion rather than admiration.
Possibly this trend results from a mistaken belief that using a somewhat mysterious device
confers an aura of power on the user.
—Niklaus Wirth (1934-), Swiss computer scientist, designed several programming languages, including Pascal
Some problems are so complex that you have to be highly intelligent and well informed
just to be undecided about them.
—Laurence J. Peter (1919-1990), formulator of the Peter Principle
Any computer science problem can be solved
by adding another level of isolation.
—Butler Lampson (1943-), pioneer in distributed personal computing
Unix is simple;
It just takes a genius to understand its simplicity.
—Dennis Ritchie (1941-2011), created the C programming language and Unix OS
Debugging time increases as a square of the program’s size.
If any part of a system depends on the internals of another part,
then complexity increases at the square of the size of the system.
Compositionality is THE way to control complexity.
Most programmers treat threads and processes as a necessary evil;
Elixir developers feel they are an important simplification.
Developers spend time coming up with intricate hierarchies of classes that try to model their problem,
much as Victorian gentleman scientists created taxonomies of butterflies
Simplicity does not precede complexity,
but follows it.
—Alan Perlis (1922-1990), first recipient of the ACM Turing Award
I would not give a fig for the simplicity on this side of complexity,
but I would give my life for the simplicity on the other side of complexity.
— Oliver Wendell Holmes
Any intelligent fool can make things bigger, more complex, and more violent.
It takes a touch of genius, and a lot of courage, to move in the opposite direction.
Oh, what a tangled web we weave.
—Sir Walter Scott