13 May 2017

Which programming languages should beginners learn?

Before we go into comparing programming languages, let’s first take a look at the languages we’re going to be covering.
Dynamic Languages
Dynamic languages are generally easier for total beginners to learn because they’re flexible and fun. You can quickly build an app from scratch with less lines of code, and there is no hard rule on how to write things to behave in the way you want them to. As dynamic languages are usually very high level languages, you'd spend less time trying to get the details right and more time learning programming concepts, which is another reason dynamically typed languages are popular with beginners who are motivated by being able to build things and see results quickly.
Not to be confused with Java, JavaScript is primarily a client-side scripting language used for front-end development. JavaScript is compatible across all browsers and is used to create interactive web apps, often through libraries such as jQuery and front-end frameworks such as AngularJS, Ember.js, React, and more.
JavaScript can also be used as a server-side language through the Node.js platform. Two years ago, Node.js was still quite young, but its community has grown a lot since then, and you can now find many resources here. You can also build hybrid mobile apps with JavaScript through using frameworks such as phonegap, while Facebook’s React Native allows you to build native mobile apps with JavaScript.
However, JavaScript is also known as a difficult language because it is untyped and, thus, difficult to debug. There are statically typed versions, such as Microsoft's TypeScript or the JSX, that React uses
As a general-purpose language, Java is used to build Android apps, desktop apps, and games. Java is also commonly used as a server-side language for enterprise-level back-end development - 90 percent of Fortune 500 companies use Java.
Furthermore, Hadoop is a popular Java-based framework used for storing and processing big data, and is implemented by enterprises such as Yahoo, Facebook, and Amazon Web Services.
C
C is often used to program system software and is the lingua franca of Operating Systems.
C has influenced almost every programming language we’ll be examining in this article, especially Objective-C and C++. So, if you know C well, it'd probably be easier for you to pick up other popular languages. Since C takes more complex code to perform simple tasks, beginners may find it tough to stay motivated if this is their first language. However, knowledge of C will definitely help you as a programmer in the long run.
Objective-C / Swift (for iOS development)
Objective-C is a layer built on top of the C language, which makes it static. With that said, it can also be used for dynamic typing. Apple’s Swift is a static language designed to be compatible with Objective-C, but its static-typing makes it more resilient to errors.
Inspired by Python, Swift is designed for coding newbies to pick it up easily and is aimed at fixing some of the issues of Objective-C
Other
SQL ("Sequel"), or Structured Query Language, is a query language used to communicate with databases. Although SQL cannot be used to build apps, it is used to manage the data in apps that use relational database manage systems (RDMS).
So, now you know a bit about different programming languages and their perceived difficulty. With that said, not all languages have the same demand or salary. If your goal in learning how to program is to increase your job opportunities and you aren’t going to be dissuaded by how hard people say a language is going to be, here are some pointers to help you figure out what language you should learn.
Based on the salaries estimations from Job Search | Indeed’s analysis of job ads, we can pretty much divide programming languages into 9 tiers:
Based on this result, it appears that Swift will rake you in the most money, while Java, Ruby, Python, C++, and C are also decent choices. In addition, if salary is your main concern, then maybe JavaScript, C#, SQL, and PHP aren’t the most ideal choices... or are they?
Average salary can be affected by many things such as demand (how many job postings there are), supply (how many developers know the language) and experience (a junior developer would naturally earn less than a senior developer), so it’s a good idea to take a deeper look at these elements before jumping to any conclusions.

2 comments:

commnet here