Re:How to Succeed as a Poor Programmer
by jmnicolas on Monday September 30, 2019 @09:54AM
(#21115352)
In the article he says he learned C++ in 1995, so he probably knows C.
Re:How to Succeed as a Poor Programmer
by notacoward on Monday September 30, 2019 @10:17AM
(#21115570)
He says he learned C++ in 1990, and never says anything about C, so it's still likely that he only has a distant memory of something like C. I have a distant memory of something like Ada, but I might struggle for a while if asked to program in Ada professionally.
Re:How to Succeed as a Poor Programmer
by jmnicolas on Tuesday October 01, 2019 @09:40AM
(#21125191)
I bet 1990 C++ was for most people C with classes.
Re:How to Succeed as a Poor Programmer
by notacoward on Tuesday October 01, 2019 @05:55PM
(#21131145)
Pretty much, IIRC. I wasn't exposed to it until about a decade later myself, but my wife was. Most or possibly even all C++ compilers were still front ends for C compilers. Exceptions either didn't exist or weren't considered reliable, so her company rolled their own using setjmp and longjmp - which don't do stack unwinding so forget about relying on destructors and RAII. Similar for templates, so no STL. Does anyone even remember the NIH class library any more? It was very stripped down compared to the cancer it has become.
So yeah, somebody who knew C++ in 1990 was probably within spitting distance of knowing C at the time ... but now, they know it the same way I know Lisp or Prolog, since I used those long ago too. But if they've stuck with C++ ever since, do they effectively know C today? Could they be productive in it more quickly than they could in Rust or Go which they'd never even seen before? That's not clear at all.
Re:How to Succeed as a Poor Programmer
by kazinator on Wednesday October 02, 2019 @03:01AM
(#21133989)
In the mid 90's, I was very surprised to discover that a popular telnet program widely distributed in Linux distros was written in C++, with cruft like abstract base classes with pure virtual functions and whatnot.
(I was looking at the source because the stupid thing would disconnect whenever the PPP connection went donw; it was over-reacting to EHOSTUNREACH errors on the socket, which are recoverable; I fixed that, at least for myself.)
Here it is: https://github.com/marado/netkit-telnet/tree/master/netkit-t...
I would make no such assumption. Most C++ programmers I've known would have a hard time being productive in a language where they had no collections, templates, virtual functions, destructors, lambdas, exceptions, etc. Trading deep knowledge of how C++ manages memory for knowing how to do it yourself might be even more of a challenge. A lot of C++ programmers know C because they were around as the two evolved, but at this point there are many who entered the profession with C++ and would find C almost as confounding as COBOL.