So you want to learn programming. Which programming language do you start with? There are so many programming languages out there. Wikipedia lists about 650 of them here. From the well known ones such as Java, Python, C#, and Javascript to less popular ones such as E, A+, and Onyx. With all these choices, it's hard to figure out where to start out.
Depending on who you ask, different people are going to give you different advice. Some will suggest that you should just go with the languages that are popular and most used. According to tiobe, the most popular programming languages as of June 2014 are C, Java, Objective-C, C++ and C#.
tiobe index for June 2014 |
Others may suggest that you learn an object-oriented programming language. These are languages which use a programming paradigm that represents the concept of "objects" that have data fields (attributes that describe the object) and associated procedures known as methods. Objects, which are usually instances of classes, are used to interact with one another to design applications. Examples include Java, C#, and Python. Some of the advantages given to OOP languages include:
- Increased understanding.
- Ease of maintenance.
- Ease of evolution.
- Encouraging safe ways of programming.
- Stateless programming.
- Encouraging quick prototyping.
- Programs are usually shorter.
So back to our question. Which language should one learn first. I think the best language to learn is one which is able to do the task that one wants to do. For example, if you want to start by making websites, then choose a language that is used to make websites. If you want to make mobile apps, then choose one that can do so. If you want to do scientific computation, then same thing. Below I have outlined the most used languages that are for particular tasks.
- Android Development - Java
- Windows Phone Development - .NET
- iOS Development - Objective-C and Swift
- Front end Web Development - HTML, CSS and Javascript
- Back end Web Development - Python, Ruby, PHP, .NET, Go and Java
- Embedded Programming - C and C++
- Scientific Computing - Python, C and Fortran
- High end Game Development - C++
- Web Game Development - Flash, Javascript, HTML5
No comments:
Post a Comment