2 comments

[ 2.6 ms ] story [ 9.9 ms ] thread
The article seems to equate understanding something with reading documentation.
No, it doesn't.

What it does is give a glimpse of how beyond complete understanding of a system end to end is not achievable (the very title of the article is "complete understating is no longer possible").

Keyword is "complete".

It's not about understanding enough of the system to be a good programmer, but knowing it end to end.

For that it uses the mere documentation of the parts as a proxy of how difficult this has become.

If just a small part of the documentation of basic libs, the OS kernel, etc is already 11,000 pages, the system is well out of reach for everybody.

This in contrast (and this is a common theme for the author) to the era of home computers, where from the assembly and the CPU design, to the BASIC you could fit everything in 1000 pages or less (including the whole code).

Even a professional system like the early UNIX would fit that definition (add all the documentation for C, PDP-11 assembly, UNIX source, and the available userland at the time, and you were still well bellow 11,000 pages -- even with the whole source code included).

The Unix kernel in 1983 (not even 1975) was "less than 20,000 lines of C".

Today the Linux kernel is 2 millions of lines -- and that's without the drivers.