The question is as old as Java itself since Java from inception was marketed as "C++ with errors fixed". I fell into the argument recently on a Facebook thread and we had to move it to the gamingnigeria.info forum where me and this creativdeveloper dude proceeded to try and incinerate each other's ego in the ensuing argument, it was a lovely discussion but the underlying question is still just pertinent in today's software development scene.
The first thing any good software achitect does even before putting anything on paper is to determine the software language to go for based on factors like licensing, available knowledge base and such, this makes design decisions easier and more realistic within the context of the problem at hand. The appeal of C++ and Java to most programmers is the fact that you don't pay a dime for licensing and such shiznits and both have high function free open source RAD tools, the next obvious question is now which one to use or in most cases learn?
To quickly answer the which one should I learn question, it depends on your dream job in the monstrosity called ICT, in the Nigerian market though and most places for that matter Java has a strong appeal due to the ease with which freakishly large enterprise solutions can be developed, deployed and maintained. C++ has it niche though and one of such is Games where it is a core essentiality to speak and understand C++.
Java's major strenght is in the networked application running on different hardwares with differing capabilities and over the years it has been fine-tuned to it this department but C++'s major strenght is in what I call "sapping" meaning that if the code is properly optimized it would take complete advantage of the hardware and has a very little footprint signature, something that is very useful when working with very limited harware resources like RAM and the likes.
More to come.
Hi, am a complete novice in software. But i get the gist sha! tnx for following my blog.
ReplyDelete