Previous | Next --- Slide 25 of 42
Back to Lecture Thumbnails

Similar to one of the Unix philosophies:

"Extra" features are usually unnecessary, and keeping it simple, while it may in some cases may not be optimal in terms of performance, will often make things easier to understand.


From experience doing homeworks, sometimes our initial optimization becomes clustered and complicated and still doesn't run well. What ended up working was restarting the homework and using simple ideas first.


Even though we want simplicity, it's important to always keep track of whether the primitives communicate the necessary information for a domain aware system to be useful. Brainfuck is both simple and powerful, but it's hard to argue that it is very useful or communicates much. Too much of a focus on reducing things to a small handful of operators leads us into the Turing Machine level of generality we were trying to avoid.