4 ms·
You won't learn anything unless you need it, and it depends on your interests whether you need C in your programmings. Other than that, I can't speak for anyon
by yason 16y ago
You won't learn anything unless you need it, and it depends on your interests whether you need C in your programmings.
Other than that, I can't speak for anyone but myself.
For me, C has taught me so much since I was 14 that I couldn't possibly be where I am if I hadn't spent years writing C and I couldn't possibly recommend anyone not to learn it. But it's a different world for everyone and I can't say it's a bad thing if you don't know C. It would be a bad thing in my line of business but not everyone does the same things I do.
One thing about C is that it's a nice forced marriage with the von Neumann machines we're using these days. If you really want to know C, you really want to know the current hardware architecture as well. It will change but it won't do that at least in the next couple of decades.
On the other hand, mastering high-level languages first and dropping down when necessary might be a wise choice, if you only know you can do it. Like I said, architectures and paradigms will change in the future, and higher-level languages can embody abstractions that are very hard if impossible to contain in a von Neumann machine and it is the revolution of some new architecture when C will eventually be obsoleted.
- barrkel 16y agoAn irony is that von Neumann architecture - specifically, code and data in the same memory space - is not modeled by the C language in its most distinguishing sense, and would arguably be better modeled by a language with first class functions. First class functions - the notion of creating new code, and passing it around as if it were data - capture this essence, that the data and code lie in the same memory space, and that both are potentially mutable.