I’ve in university and the classes have been almost exclusively taught in Java. Learning C/C++ definitely felt like a step backwards, as there’s more you have to implement yourself instead of using the standard library. With that said, I think I learnt a lot more about how systems work under the hood by learning C, so perhaps it’s not as good for learning programming concepts IMO
zarzavat|7 months ago
Learning Java before C is like learning to ride a bicycle before you learn to walk. You will need to learn C eventually, but learning C once you already have a high level language under your belt will make the experience frustrating. Having to manage your own memory, build your own data structures, it can be fun, but it's less fun once your brain is already wired to expect these things to be done for you.
tialaramex|7 months ago
As a result it's more honest to use a language where it doesn't feel as though you're touching the bare metal, because you aren't anyway†
When I last checked both Oxford and Cambridge teach an ML as First Language. So did the place where I did my degree decades ago although today it teaches Python (which I believe is a mistake). That's because the theory of computation is foundational here, not the practice.
† Even assembler isn't touching the bare metal, you have features like out-of-order execution and register renaming between the machine code you wrote and the actual things done.
vict7|7 months ago
Quite a bold assertion. I learned C in university—and while I am sure it was beneficial to my development as a programmer—there have been exactly 0 times since then that I have needed to read or write C.
That’s just my anecdotal experience, but I’d reckon many people can have a very successful professional career while never having touched C.
parallax_error|7 months ago