What is the best programming language?

There is no such thing as a best programming language. Sorry about that, I've just thought it would be a catchy title. I would rather choose my tools after I know the problem I have to solve.

Some programming languages are very good at some tasks. I don't know any that is very good at every task.

This comic illustrates what I mean:

A fair test - comic - illustration - cartoon - caricature

A fair test

Bash

The bash is great for tiny tasks where other programs are involved.

Example

Resizing all jpg-images in a given folder to a maximum resolution of 1600x1600 while maintaining the aspect ratio:
for i in *.JPG;do convert "`$i" -resize 1600x1600 "$`{i%.JPG}-resized.jpg"; done

See Converting Files with Linux for more examples.

Python

Python does a incredibly well job for small problems. I don't have experience with big projects, but some have been done using Python (see list below). Python is dynamically typed, offers a lot of functions out of the box and is easy to learn and understand. You might argue that Python is executable Pseudocode as it is so easy to read. Additionally, it offers a very neat library for math functions with NumPy.

Examples of Python-Code in applications include:

Java

Java is used in the economy for simple, but huge tasks. It is static and strong typed, has some widely used coding convetions, is easy to learn and has a big library.

Here are some examples for programs written in Java:

  • Mars Rovers (source)
  • BitTorrent client Vuze
  • Sites that have URLs like ".do", ".jsp" and "...servlet..." are most likely written in Java.
  • Games:

C++

C++ is easy to write and blazing-fast. See Performance of Matrix multiplication in Python, Java and C++.

Some projects done in C++ are:

C

See Is C still used? and a comment from Linus Torvalds.

Programs done with C:

See also

Matlab

What is MATLAB good for? Why is it so used by universities? When is it better than Python?

Do you know some more programs that are famous and should be in these lists? Preferably with an open repository?

Leave a Reply

comments powered by Disqus