Image for post
Image for post
14 Monkeys

Your choice of 14 major programming languages

The major programming languages all share several traits, including substantial ecosystems that make them quite versatile, large user communities that make hiring easier, and proven track records in real-world use.

They also have fundamental, intrinsic qualities that imbue them with unique strengths (and weaknesses). Here are my insights on 14 popular languages (as ranked by Redmonk).

A note about language choice

Different languages are preferred for different purposes, tastes, strengths, and philosophies.

  • A general-purpose language may satisfy most users, but there are instances where you may prefer a language that is more closely tailored to a particular problem domain.

Now, on to the languages…

JavaScript

The lingua franca of the web. It’s the one and only language that is native to web browsers, making it the common choice for front-end web development.

  • JavaScript has a remarkable user community that has created an impressive collection of tools and frameworks — in particular, Node.js. At the same time, the vast array of web frameworks, such as AngularJS, React, Ember.js, Backbone.js, Knockout.js, Meteor, Aurelia, etc., leads to “framework fatigue” and “analysis paralysis” for some.

Java

The standard enterprise language. It is the fastest and most versatile of the managed languages, thanks to its highly optimized JVM.

  • The JVM is Java’s principal strength. It provides for application portability and platform independence. Plus you can build wholly new languages on top of it. Popular JVM languages besides Java include Scala, Groovy, and Clojure.

PHP

The language that drives the majority of the world’s websites. Much of its continued success can be attributed to its ecosystem of modular CMSes: Wordpress and Drupal.

  • PHP is a preprocessor for HTML.

Python

The scripting language that can do nearly everything!

  • Along with Java and C++, Python is one of the most versatile programming languages in the world.

C#

Largely Windows-centric, C# is starting to break out with Xamarin, Unity, and other platforms. Microsoft has gradually changed its stance toward open source over the last few years and has even open sourced the .NET platform on which C# runs.

  • C# shares much in common with Java. It was basically Microsoft’s response to Java.

C/C++

I’ve lumped these two languages together because of their tightly bound heritage. C is essentially a subset of C++.

  • C++ is the Swiss Army knife of programming languages. It can do it all, from hardware-level programming to complex engineering and financial models.

Ruby

Best known for web development with the Rails framework, Ruby is also a general-purpose programming language.

  • Ruby was designed to make programming as easy and pleasant as possible. Ruby is an amalgam of Perl, Smalltalk, Eiffel, Ada, and Lisp. As such, it’s both a functional and OO language.

Objective-C/Swift

I’ve lumped these two languages together because they’re heavily Apple-centric. Swift is Objective-C’s anointed successor.

  • Swift is syntactically very similar to Scala.

R

The golden child of data science.

  • R is a Domain-Specific Language that is very specific to statistics.

Perl

Powerful scripting.

  • Perl is used for CGI scripting, graphics programming, system administration, network programming, data mining, and many other applications. It was once described as the “duct tape that holds the Internet together.”

Scala

Scala is a JVM language designed as an improvement on Java both in terms of syntax and having a very strong static type system. It was also designed to have full support for functional programming.

  • It does away with Java’s verbosity and boilerplate code.

Go

The little language that could. Go was built by Google and is heavily used for concurrent, server-side software, but it’s finding new uses everywhere. It’s already a Top 10 language on several rankings, and it’s only six years old!

  • Go is extremely succinct and is designed with minimalist syntax. Thus, it’s very easy to learn.

Haskell

The archetype of functional programming endowed with a sophisticated type system.

  • It’s a pure functional language with a steep learning curve.

Clojure

The best Lisp around. You can find it on the JVM, as well as on the web (ClojureScript).

  • Clojure is homoiconic, i.e., code is data and data is code.

Send us your thoughts

These tips are based on my experiences with these languages and other developers’ reviews of the languages. Share your own experiences in the comments and let us know if you have any thoughts contrary to these points.

Originally published at techbeacon.com.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store