In a room full of programmers if you were to ask which is the best programming language you will find a room full of people pulling at the Gordian knot in all directions. A difficult question no doubt and also controversial. Ask a software Guru in private and you would get a sane answer, the choice of the programming language depends on the requirement. Here we give a quick rundown of the essential programming language relevant in the mainstream software industry as of today.
A. Mobile Developer
If you aspire to be a mobile developer, you have two choices, either native applications or hybrid applications.
- Native Application for Android- you have only one choice, you have to learn Java and XML.
- Native Application for iOS– you have two choices, either go for Objective C or Swift. The recent trend is to move towards Swift because it has lots more features compared to Objective C.
- Hybrid Applications: If you are going for hybrid applications then you have a few choices of frameworks like Cordova, Phonegap , Ionic etc. For working on these frameworks you have to learn Java script
B. Web Designer
C. Web Developer
To be a champion web developer there are a number of routes and depending on how you wish to position yourself in the market you will need to master a particular language from the industry prevalent shortlist- PHP, Java, Python, C#&ASP
- Small Websites: Go for PHP given it is easy to learn, simple to configure and hosting charges are cheap. Majority of the websites in the world today run on PHP.
- Middle level websites: However if you are also looking for additional features like stability and security then Python or Ruby fit the bill better.
- High traffic or data intensive websites: If you aspire to work on building a website of the scale of Twitter then SCALA or JAVA is the answer. However Ruby enthusiasts still maintain that Ruby is highly scalable, however Twitter had to move over from Ruby to Scala to accommodate its burgeoning traffic.
D. Enterprise Developer
If you wish to be star in big companies like Google or Amazon then you have to be good at enterprise level software which translates into working with huge amount of data which in the realm of ‘big data’. You have to master frameworks like Hadoop or Spark. The supporting skill required is data processing proficiency which comes through mastering R language or Python. You would also need to be familiar with Java or Scala since the frameworks were made in these languages. Advantage with being familiar with Scala over Java is that Scala enables you to work both on Spark and Hadoop.
So remember there is nothing called a perfect programming language or framework, what you need to learn depends on what your career goals are. And coming back to the room full of programmers let them keep arguing what is the best, for it makes for some interesting listening.