navigation

miete ("thought") + lause ("phrase")

count: 11

filter: title = Worse Is Better clear


Worse Is Better (Richard P. Gabriel)


http://dreamsongs.com/WorseIsBetter.html and https://www.jwz.org/doc/worse-is-better.html

Simplicity: the design must be simple, both in implementation and interface. It is more important for the interface to be simple than the implementation.
tags: design simplicity

Correctness: The design must be correct in all observable aspects. Incorrectness is simply not allowed.
tags: correctness design

Consistency: The design must not be inconsistent. A design is allowed to be slightly less simple and less complete to avoid inconsistency. Consistency is as important as correctness.
tags: consistency

Completeness: The design must cover as many important situations as is practical. All reasonably expected cases must be covered. Simplicity is not allowed to overly reduce completeness.
tags: simplicity completeness software

Unix and C are the ultimate computer viruses.

Both early Unix and C compilers had simple structures, are easy to port, require few machine resources to run, and provide about 50-80% of what you want from an OS and programming language. One expects that if 50% functionality of Unix and C is satisfactory, they would start to appear everywhere.
tags: virus

Worse-is-better software first will gain acceptance, second will condition users to expect less, third will be improved to a point that it is almost the right thing.
tags: acceptance conditioning improvement

Diamond-like jewel: The right thing takes forever to design, but it is quite small at every point along the way. To implement it to run fast is either impossible or beyond the capabilities of most implementors.

Big complex system scenario: The right thing needs designed. Then it needs implementation design. Then it needs implemented. It has nearly 100% functionality and takes a long time to implement. Very large and complex. Requires complex tools. The last 20% takes 80% of the effort. Only runs on the most sophisticated hardware.
tags: design implementation functionality systems

The idealism of money is often different than the idealism of system design.