What Are the Categories for Programming Languages

Programming Languages are first split off into High level or Low level languages.

High level languages – are written in human readable languages similar to English. This means that they require translation before the computer can understand the instructions. High level languages are also portable meaning that it can be run on different machines which also mean that you can access module libraries.

Low level languages – are much harder to learn and are far easier to have bugs in as they are not written in a human readable langue. Low level languages allows for a one on one conversation which means that it is preferred when there is no translating software present, you want greater control of the of the hardware, or you want to optimise the code.

For here you can split up high level languages into they type of translator they use.

Interpreter – translates a line of code into machine code and executes it immediately after.

Complier – translates the line of code into a object code file to be executed later.

High level languages can then be broken down into 3 different paradigm.

Procedural – is logical and has a structured order to it. The code is set out in to be step by step procedures that the data is then passed through. It is important to not that the data is stored separately from the code.

Declarative – is structured by a programer supplying the program with a knowledge base which contains a series of facts and rules.

Object Orientated – both the data and the code are held together as an object in a class.

Assembly Lanuage

  • Low level language
  • assembler
  • N/A

Uses binary code to interact with the machine. Assembly code is not portable meaning that it is specific to the machine. This mean that people are more likely to use a different programming language that is a high level language before assembly language unless a key factor such as speed or code optimisation prevents otherwise. An example where assembly language may be uses is in kitchen appliances.

Python

  • High level language
  • Interpreter
  • Object Orientated

Python is primarily used for website development, building software, automate tasks, and conducting data analysis. It was created by Guido van Rossum in the 90’s. He created his work on the ABC language for both giving him the inpiration and skill need for creating Python. This programming language is used by many people around the world and is considered to be very stable and beginner friendly. A fun fact is that Python got its name form the well known movie ” Monty Python”, although you don’t have to be a fan in order to use the programming language.

Java Script

  • High level language
  • Interpreter
  • procedural

Java Script is used to add dynamic components to web pages and other web base programs. A good example of where Java Script could be used is in a web game. It dose this by interacting with both the html and the css of a web page. Java Script was created by Brendan Eich in 1995 and became popular shortly after in 1996.

Pascal

  • High level language
  • both Interpreter and Compiler
  • Procedural

Pascal original purpose was to teach people how to code and was really popular. In fact is still used as an introduction to code today. Other than that the only people who really use Pascal outside of learning are software engineers and developers as C, C++, and Java have pretty much replaced it entirely. Pascal was created in the 1960’s by Nikaus Wirth.

Swift

  • High level language
  • Interpreter
  • Object Orientated

Swift is used to create apps for a variety of apple products. It was created in 2010 by Chris Lattner and was released the first version to the public after the contributions of many others. There are many programming languages that where used to model Swift so of which are Python, Java, C, C++ ,and the list continues on. One of the newer version of Swift version 4.1 was released in 2018.

Ruby

  • High level language
  • Interrupted
  • object orientated

The debate on which is better Ruby or Python seems to be a very heated debate among people online. The majority seeming to say that they prefer Python. The major differences seeming to be that Ruby is more object orientated and Python being faster. Ruby was created by Yukihiro Matsumoto in japan in the 1990’s.