Which programming language should you learn

The good news is that all popular languages are pretty fair in terms of compensation. The median pay today with 3-5 years of experience is around $60-80k/year, but that number can vary wildly, and can be much higher, particularly for folks on the east or west coast, or in consulting. YMMV.
The popular languages today are: Ruby, Python, PHP, Objective-C, HTML, CSS, JavaScript, Java, .Net, C/C++. Google all of those.

 Before we go into comparing programming languages, let’s first take a look at the languages we’re going to be covering.

Dynamically Typed Languages

Dynamically typed languages are generally thought of as easier for non-coders to learn because they’re flexible. 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. Dynamically typed languages are often interpreted (non-compiled), which means your running application can quickly reflect the changes you make, which can save you time.
In general, web applications are usually written in dynamic languages.
JavaScript
Not to be confused with Java, JavaScript is a primarily 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 now also be used as a server-side language through the Node.js platform, and while Node.js is relatively new, the community is gaining a lot of momentum. You can also build hybrid mobile apps with JavaScript through using frameworks such as phonegap, while Facebook’s React Native aims to allow you to build native mobile apps with JavaScript.
On a side note, Facebook’s React also supports JSX, a JavaScript syntax extension that would compile as JavaScript.
Ruby
Developed to make developers have fun and be productive at the same time, Ruby was made popular by the Ruby on Rails framework, a full-stack web framework optimized for programming happiness. As Ruby reads like English and Rails has tools that make common development tasks easier “out-of-the-box”, many would recommend learning Ruby as your first programming language.
Ruby is mostly used for backend development, and popular sites such as Airbnb, Shopify, Bloomberg, Hulu, Slideshare, and more have been built with Ruby on Rails.
Python
Python is another highly recommended language for beginners, and is the most popular introductory language at Top U.S. Universities. Developers have used Python to build desktop apps and web apps alike, and it has great tools for data mining. In addition, Python is particularly popular with the academic community for scientific computing, data analysis, and bioinformatics.
Google, Dropbox, Pinterest, Instagram, Reddit, BitTorrent, Civilization IV, and more have been built with Python.
PHP
PHP is a server-side scripting language and is usually considered beginner-friendly because it’s easier to conceptualize what the PHP code will do, so it’s not difficult to pick up. Most websites have been built with PHP because the language is heavily specialized for the web.
Facebook, Wikipedia, Yahoo!, Tumblr, WordPress, and more have been built with PHP.

Statically Typed Languages

Apps built with statically typed languages are known to be more scalable, stable, and maintainable. Static languages are usually more strict with catching errors through type checking, and it takes more code to build a prototype. Game engines, mobile apps, and enterprise-level backends are usually built with statically typed languages.
Java
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 backend 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 all programming languages we’ll be examining in this article, especially Objective-C and C++. So, if you know C well, you’d probably have less difficulty picking up other popular languages. Since C takes more complex code to perform simple tasks, beginners may find it tough to keep themselves motivated if they choose it as their first language. However, knowledge of C will definitely help you as a programmer.
Objective-C / Swift (for iOS development)
Objective-C is a layer built on the C language, making it static, but 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 aims to be easy for coding newbies to pick up. We will mostly be examining Objective-C in this article as Swift is relatively new.
C++
C++ is a powerful language based on C. It is designed for programming systems software, but has also been used to build games/game engines, desktop apps, mobile apps, and web apps. C++ is powerful and fast, so even Facebook has developed several high performance and high reliability components with it.
Many pieces of software have been built with C++, including Adobe Systems, Amazon, Paypal, Chrome, and more. Much like C, C++ is generally considered harder for beginners to learn on their own, so if you decide to learn C++ as your first language, feel free to look for a mentor via Meetups or find a C++ Codementor.
C#
C# (“C Sharp”) is developed to be used for Microsoft’s .NET framework, which runs primarily on Microsoft Windows.
C# is used for web development, game development, and general Microsoft development. Although Microsoft was not known for being cross-platform compatible in the past, Xamarin is also working on an open-source project called Mono, which aims to port C# to other platforms and bring better development tools to Linux developers. Recently you can also use C# to build native mobile apps for iOS and Android through Xamarin.

Other

SQL
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).



Each language has its popular uses:
Language Popular Use
Python/Ruby/PHP 
Server-side for websites and mobile apps.
Objective-C
IPhone
HTML
Client-side for websites. Markup language for building web sites, the 'building block' of websites.  
CSS
Client-side for websites. Presentation language for HTML.
JavaScript
Client-side for websites, used to manipulate HTML/CSS. jQuery is what you need to know here.
Java/.Net
Android programming. Server-side for websites, more popular with big businesses.
C/C++
High performance (stock trading) or graphics (video games).
Which programming language should you learn to make money? The bad news is probably not just one. The good news is you don't need to learn everything about every language, just enough to accomplish your goals.

In the job market, you would not likely not be using all the languages I suggested, rather jobs are generally broken out by skills:
Job Role Skill Set
Back-end/Server-side Programmer 
Usually uses one of the following: Python, Ruby, PHP, Java or .Net. Has database knowledge. Possibly has some sysadmin knowledge.
Front-end/Client-side Programmer
HTML, CSS, JavaScript. Possibly has design skill.
Mobile Programmer
Objective-C or Java (for Android). HTML/CSS for mobile websites. Potentially has server-side knowledge.
3d Programmer/Game Programmer
C/C++, OpenGL, Animation. Possibly has good artistic skill.
High-Performance Programmer
C/C++, Java. May have background in mathematics or quantitative analysis.
Typically, there are folks who deal with the back-end and folks who deal with the front-end. These days there is a new crop of people who do mobile. Sometimes you can find people who do all of the above, but generally when you look for a job you will fill just one of those roles.

No comments:

Post a Comment

Genuine websites to earn money.

If you are interested in PTC sites then this article is for you. I have personally tried many of the sites and found that the best thing ...