Re:Ask HN: Which complied language to learn?
by dagw on Monday December 10, 2012 @06:45AM
(#4898585)
1: Probably Java. C++11 makes many things related to pointers and memory management easier, but there are still lots of corner cases that will bite you.
2: If you want to learn modern idiomatic C++11, then there aren't many online resources out yet, but it's getting better fast.
3: a tie
4: C++, but for many 'normal' use cases it's not too big a difference
5: C++
6: Depends entirely what you want to do. Java is pretty ubiquitous in large companies and for writing enterprise system. C++ is more of a niche language these days, used in areas like 3d-engines, high-speed simulations, low-latency systems and other areas where performance is paramount.
With all that said, personally I'd learn C as well. Calling C from most dynamic languages is pretty easy (certainly easier than calling C++ or Java) and the combination of the productivity of your dynamic language of choice plus the speed of C when needed is a very powerful one.
2: If you want to learn modern idiomatic C++11, then there aren't many online resources out yet, but it's getting better fast.
3: a tie
4: C++, but for many 'normal' use cases it's not too big a difference
5: C++
6: Depends entirely what you want to do. Java is pretty ubiquitous in large companies and for writing enterprise system. C++ is more of a niche language these days, used in areas like 3d-engines, high-speed simulations, low-latency systems and other areas where performance is paramount.
With all that said, personally I'd learn C as well. Calling C from most dynamic languages is pretty easy (certainly easier than calling C++ or Java) and the combination of the productivity of your dynamic language of choice plus the speed of C when needed is a very powerful one.