That quote is exactly right. The UNIX weenie idea of fun is writing tens of millions of lines of code to do simple things in complex ways. Linux has hundreds of system calls and there are tens of thousands of kernel developers and 15 million lines of code. Pipes are fragile and depend on the bit encodings of text which is supposed to be human readable. The UNIX way is to pretend that programs communicate through virtual PDP-11 tapes, making everything even more complicated. C bit operators are based on the PDP-11. UNIX weenies "have never separated the program from the machine." They "make every machine emulate a PDP-11."
He's absolutely right. C does not do anything about registers, interrupts, stacks, or many other things you can do in assembly and with a compiler, like garbage collection, coroutines, overflow checks, arbitrary precision arithmetic, lazy evaluation, closures, and so on. That's because C is not your computer. C is just a language with a compiler that doesn't do as much as other compilers. Weenies do not respect compilers that do things like bounds checking and string handling because AT&T shills have convinced them that worse tools are better.
High level languages resemble algebra. This goes back to "autocodes" designed for scientists and mathematicians in the 50s, which led to Fortran and Algol. C does stupid bullshit like 00011 being equivalent to 00009 and "hello" + 2 meaning "llo" (but you can also subtract 2 again) because it's pointer arithmetic.
homepages.ed.ac.uk/jwp/history/autocodes/
That's monopolistic thinking. UNIX weenies believe there should be one language used for everything even if it sucks because that's the AT&T culture. The whole idea of a "de facto lingua franca" sucks because different languages have different ways of doing things. Different data types, concurrency, object systems, and so on. Even worse is a language like C that is designed for flat memory PDP-11 hardware because it prevents better hardware from being built.
They're AT&T employees. AT&T employees didn't do anything to correct these weenies who say UNIX is the first OS written in a high level language and all that other bullshit, so they probably don't care much about you learning anything.
That weird std:: syntax comes from Lisp packages, like cl::setf means setf in the common-lisp aka cl package. Most languages that use . for methods and structs/records use . for that too, like Ada, Java, and OCaml. I don't know why C++ copied Lisp instead of something that would fit better with the rest of the language. Then again, C and C++ suck, so something that actually makes sense would stick out.
C, C++, and Java are all UNIX languages. A lot of things in UNIX languages make no sense and have no reasoning besides being whatever the compiler or interpreter did. They copy/paste because they don't know what the code does.
But it's much worse than than because you need to invokethis procedure call before entering the block.Preallocating the storage doesn't help you. I'll almostguarantee you that the answer to the question "what'ssupposed to happen when I do ?" used to be"gee, I don't know, whatever the PDP-11 compiler did." Nowof course, they're trying to rationalize the language afterthe fact. I wonder if some poor bastard has tried to do adenotational semantics for C. It would probably amount to atranslation of the PDP-11 C compiler into lambda calculus.