Saturday, May 17, 2008

Learning curve for C programmers : C++ vs Java

All other things being equal ... actually, all other things are hardly ever equal, so it would be good to know more about your goals. (In particular, what performance goals do you have? Are you doing hard real time systems? Games? Web development? More rapid development is always better than less rapid development, but how much development speed might you willing to trade off for software execution speed? Put another way: If you got your software working, but slowly, what forces would be at play with new features vs. better performance? I'm not saying Java performance is bad, I'm just trying to characterize your goals.)

The Java language is easier to learn than the C++ language. The Java runtime libraries are much bigger (and provide a lot more functionality) than the C++ standard library; and thus, take more time to learn.

Software written in Java is not inherently slow; software written in C++ is not inherently fast.

Tool support is better for Java than C++. Yes, you can use Eclipse for either; but I think Eclipse's Java support is far more mature than its C++ support. I've used Visual Studio and C++, and I've used Eclipse and Java, and I'm far more impressed with the latter. Java compiles much faster than C++. Also, FindBugs is awesome.

The link below shows programming language book sales. Java is the big spike. Make of this what you want.

No comments: