I’m a php developer and I want to broaden my knowledge base by learning a higher language (java, c#, c++). My specialty is in building web applications (ria etc). I’m trying to think of the appropriate path to take (hedging my bets so to speak) in terms of which language I should be focusing on. I love open source technology but at the same time C# seems to be getting a lot of notoriety. Despite the newer technologies available there still remains c++ which is the staple for many popular vendors including google and facebook (hip hop) in building scalable and robust cross platform apps.
Can anyone offer suggestions as to how I should be looking at this. Should I go Java, C# or C++). They all take time to master and I just want to choose a specialty.
Thanks
C++ only comes in play when you work on large applications where you need low-level language features to write back end with performance in mind.
Java and C# are meant to boost your productivity. First of all, by taking care of memory management and offering a very functional class library.
Java seems to be a less actively developed language, due to the vendor position. It has however the largest ecosystem in terms of various libraries and third party products. Also cross-platform. Java jobs are plenty, but tend to pay less.
C# language is being quite actively developed, to the point that sometimes annoys developers (who say they don’t manage to keep up). Through this however you get a modern and powerful language including huge .NET class library, which makes developers very productive and on average very happy. It is however not cross-platform (except for Mono experiment) and at some point of your growth you may have to pay for licenses (Visual Studio IDE above Express edition and SQL Server (if you use it and if you exceed 4 GB database limit)). Jobs are usually fewer but pay more.