• Like P Jones, I've never used C / C++ in my 26 years in the IT industry But similar to P Jones, I cut my teeth on 6502 Assembler, Pascal, creating sprites on a Commodore 64, PEEKing and POKEing bits on a Timex Sinclair, studying operating systems and file system hashing techniques and compilers in college, etc. I've always been convinced that I am the developer / troubleshooter / manager that I am today BECAUSE I have a basic understanding of the underlying architectural principles.

    In my current position, I often see technical people struggle, especially when troubleshooting a problem, simply because they don't have knowledge of or understand the underlying principles. (Which could lead to the whole degree / non-degree issue, but that is another topic. 🙂 )

    I agree with the general concept - where people are training for a technical computer career, that training should include topics that allow for deeper interaction/experimentation between the hardware and software. Even if you never use that particular setup in your career, the basic knowledge can be applied in many different ways. In my case, C / C++ were not the tools selected for my course of study. But the languages / courses we had gave us a broad foundation from which to launch our careers.

    (My college study included these languages / courses: Pascal, 6502 Assembler, Honeywell Level 6 Assembler, APL, SNOBAL, COBOL, ADA, PL/1, FORTRAN 77, LISP, Compiler design, Dynamic System design, File System design, Operating Systems, Data structures (sorting, looping), Computer Language Design and Construction, Business Systems, plus a math minor.)