▲ | jll29 3 days ago | |
There is also the related joke [I think by Jamie W. Zawinski of Netscape Navigator fame] that any sufficiently complex program eventually will be enabled to send email, and its sister joke that any sufficiently complex program eventually will have an embedded LISP interpreter (Emacs is an example for both phenomena). Hardware people tend to say "Everything is a machine". Compiler people tend to say "Everything is a compiler". Database people tend to say "Everything is a database/relational database management system". Operating system people tend to say "Everything is an operating system". There are many broadly-applicable paradigms in modern computer science. Linguistic abstraction, i.e. the definition of a Domain Specific Language (DSL), is a very powerful technique that is often the right choice (but don't apply it to read an *.ini file! That is called overkill/distraction). Abelson and Sussman's "Structure and Interpretation of Computer Programs" book (SICP) is the gold standard book to teach you the various forms of abstraction. |