* * * * *
Simple
> You just went to the Google home page.
>
> Simple, isn't it?
>
> What just actually happened?
>
> Well, when you know a bit of about how browsers work, it's not quite that
> simple. You've just put into play HTTP (HyperText Transport Protocol), HTML
> (HyperText Markup Language), CSS (Cascading Style Sheet), ECMAscript
> (Javascript), and more. Those are actually such incredibly complex
> technologies that they'll make any engineer dizzy if they think about them
> too much, and such that no single company can deal with that entire
> complexity.
>
> Let's simplify.
>
Via Hacker News [1], “Jean- Baptiste Queru - Google+ - Dizzying but invisible
depth [2]”
It's hard to simplify how modern computers work. Sure, I could say something
along the lines of “a computer consists of three components, memory, which
stores a program and data, the CPU (Central Processing Unit), which executes
the program out of memory and input/output devices, like a keyboard, the
monitor.” But while I'm not outright lying, I am grossly simplifying and
skipping a lot of details (for instance, memory could be considered an
input/output device, but it's treated differently than other input/output
devices, except when it isn't [3]).
For instance:
> Let's say you've just bought a MacBook Air, and your goal is to become
> master of the machine, to understand how it works on every level.
>
> …
>
> The total of all of this is 79 pages shy of eleven thousand. I neglected to
> include man pages for hundreds of system utilities and the Xcode
> documentation. And I didn't even touch upon the graphics knowhow needed to
> do anything interesting with OpenGL, or how to write good C and Objective-C
> or anything about object-oriented design, and …
>
“A Complete Understanding is No Longer Possible [4]”
And those 11,000 pages exclude documentation on the hardware. For comparison,
the Color Computer [5] (my first computer). The TRS-80 Color Computer
Technical Reference Manual, which covers the hardware, is 69 pages; the
technical reference for the MC6809 (the CPU) is 35 pages; the reference for
the MC6821 (an I/O (Input/Output) adaptor) is 11 pages; the reference for the
MC6847 (the video graphics chip) is 26 pages, and the EDTASM+ manual (the
assembler) is 68 pages.
So, in 209 pages, you will know enough to program the Color Computer
(assuming you know how to program in assembly to begin with—else tack on
another 294 pages for TRS-80 Color Computer Assembly Language Programming for
a little over 500 pages).
Even “Project: Wolowizard” is rather insane, requiring knowledge of SS7
(Signal System 7), IP (Internet Protocol), HTTP, Solaris, Linux, C, C++,
Javascript, Java, Lua, Ruby, Python, SQL (Standard Query Langauge), HTML,
CSS, XML (eXtensible Markup Langauge) and that's just the “off-the- shelf”
stuff we're using (and all the documentation for that probably exceeds 11,000
pages quite easily; there are probably over 2,000 pages just for SS7 and IP
alone)—I'm not mentioning the file formats and protocols we've developed for
“Project: Wolowizard” (just the test plan for one component is over 150
pages, and there's at least seven components just on the backend).
It's simple.
[1]
https://news.ycombinator.com/item?id=5408597
[2]
https://plus.google.com/112218872649456413744/posts/dfydM2Cnepe
[3]
gopher://gopher.conman.org/0Phlog:2013/03/09.3
[4]
http://prog21.dadgum.com/129.html
[5]
http://en.wikipedia.org/wiki/TRS-
Email author at
[email protected]