Programming Languages Compared

A starter for most is deciding on which programming languages one would like to pick up and learn. A few questions raise to mind:

  • Which language is easy to pick up; low learning curve
  • How widely used is the language by industry
  • How many projects use these languages
  • How long has the language been around

C

Born: 1972

Learning curve: Medium
Notable Projects: Linux OS
Mostly used: Embedded Devices, Library extensions for many other languages
C++

Born: 1983

Learning curve: High
Notable Projects: Blender, Apache
Mostly used: Desktop applications, Mobile applications, Financial service platforms

Erlang
Born: 1986
Learning curve: Medium
Notable Projects: ??

Mostly used: Telephony messaging

Java
Born: 1995
Learning curve: Medium
Notable Projects: Hadoop

Mostly used: Desktop applications, Mobile applications

Javascript
Born: 1995

Learning curve: Low
Notable Projects: ??
Mostly used: Web applications

Perl
Born: 1987
Learning curve: Medium
Notable Projects: ??

Mostly used: ??

Php
Born: 1995

Learning curve: Low
Notable Projects: Facebook

Mostly used: Web applications

Python

Born: 1991

Learning curve: Low
Notable Projects: OpenStack
Mostly used: Web applications, Desktop applications, Scientific data crunching

Ruby

Born: 1995

Learning curve: Low
Notable Projects: Twitter

Mostly used: Web applications

Scala
Born: 2003

Learning curve: Medium
Notable Projects: ??
Mostly used: ??

Tcl

Born: 1988

Learning curve: Low
Notable Projects: ??
Mostly used: ??
Developers now will need to know controlled versioning. Controlled versioning is a system that supports multiple developers working in the same set of codes. Common version systems used are.
  • SVN (born 2000)
  • GIT (born 2005)
  • Mercurial (born 2005)
Several good ways to get started.
  • Online tutorials like nettuts or w3c
  • Check on developer forums
  • Participate in developer opensource contributions like Apache Software Foundation, Github, Bitbucket, Google code
Final note is, that like all languages, the syntax is different but the core philosophy is the same. If you can weave comfortably in one language, using the next is mostly about picking up the structure, libraries available for use, and syntax. Good luck!