... What ever can be done in C can be done better in C++. By better I mean more maintainable and with fewer errors. C++ contains C as an almost complete subset. Any low level operation that can be done in C can be done in C++. But C++ gives the programmer the ability to structure code in a way that is clearer and more maintainable.
Linus is not God but the microkernels have not panned out as much as what Tannebaum wants you to believe.Well, I could also quote Andrew Tannenbaum on how Torvalds missed the core lessons that Tannenbaum was trying to teach about the construction of operating system microkernels.
Just because Torvalds says it doesn't mean it's true. I stand by what I wrote.
The fact that people continue to use an ancient programming language is simply depressing.
The very fact that anyone would even argue for using C (again, except in heavily constrained embedded systems) is iconic of what is wrong with software engineering in practice.
Start with C++. You don't specifically need to learn C. If you come across something related to C while learning C++ just google those things which is what I do normally.
So I've been putting off learning C++ and have continued to use Java and Matlab for all of my computing needs for class. But fall recruiting season is fast approaching, so I'll need to teach myself some decent C++ before then. Is it worth it to start it with C, or at this point (and given my Java experience) should I skip straight to C++? Thanks!
F# is very useful for cetain kinds of applications and is certainly worth keeping an eye on imo.I've seen some of F# (shied away from it since it is Windows based), been picking up some OCaml on the side for fun. I've done functional programming before, but the ML static type-inference paradigm is a new one for me, so it's been interesting.