What is the BEST Programming Language? (The Answer Will SHOCK You!!!)





Introduction:


Last week (14/09/2020-20/09/2020) was #nationalcodingweek so it feels only right to talk about coding, programming languages, and everything else that encompasses that!!


Before we get into that, lets distinguish between 'coding' and 'programming' because these are two terms which are often used interchangeably however there are differences:


Also comment down below what your favourite/most used programming language is !!!


Coding - Translating ideas from a human language to a machine based one.


Programming - Creating complex programs (apps,websites...) that the machine can execute.


For the purpose of this post we will be focusing on programming. So things such as Python, Java, C, Kotlin, variables, loops ... will be very much applicable.


Lots of people make assumptions, leading to daft statements like the following:

  1. 'Java is the worst language because you have to write so much!'

  2. 'Python's bad because you literally get errors for white-space'

  3. 'HTML isn't a programming language, therefore it's useless' (first part is true)

  4. '{insert language} is the best for everything!!! No other language is needed'


Factors:

A more logical way to break things down would be to consider these factors:

Purpose (Use Cases)

Level (High vs Low)

Paradigm

Syntax

Speed (Compiled/Interpreted)


So lets get into them:


Purpose - Every programming language has a different purpose, aiming to meet different needs. Some are more generalised than others however this comes with +'s and -'s.


Level - There are high level languages like Python and Java, as well as lower levels such as C. Further down at the lowest level, there's Assembly Language and Machine Code. This links into the speed at which they operate and we'll get into it later.


Paradigm - This refers to the style of the programming language. Examples include procedural, declarative, OOP, functional, declarative and many more ...




Syntax - This refers to white-space, semi-colons, the number of lines required. Potentially combining with paradigms, this can also reference scalability too! Syntax is often what encourages/puts people off.


Speed - This is pretty self explanatory, it's significant because wait time is important. Big O nation can be referenced here, time complexity!!!