Programming

What is programming?Ada Lovelace

Programming is the process of developing computer programs that do certain tasks and it is used in nearly every aspect in our lives. Programming differs from many other technical professions in that programmers do not need to be licensed or pass any certification tests in order to call themselves “programmers”.

Programmable devices have existed at least as far back as 1206, when the automata of Al-Jazari could produce various rhythms by moving around pegs.

The first computer program and therefore the first computer programmer dates back to 1843, when Ada Lovelace created the first algorithm for Charles Babbage’s early mechanical general-purpose computer.

Terminology

In programming there are many specific terms that are used regularly.

  • Bug

An error in coding that causes a program to produce incorrect results.

  • Compiler

A program which takes the code you have written and translates it into machine-readable code.

  • Debugging

The process of finding and fixing errors in the program.

  • “Hello, World!”

A computer program that displays text “Hello, World!”. Being a very simple program, it is often used to illustrate the basic syntax of a programming language.

  • Syntax

The structure of statements in a computer language.

  • Source code

Computer program written in a high-level programming language which is converted into machine-readable code.

  • Variable

A named storage location which can then be modified during program execution.

Quality requirementsProgramming Quality

To ensure that a program is of a high quality, it should follow multiple quality requirements. Few of the most important are:

  1. Efficiency – how good is the program’s performance.
  2. Maintainability – how easy it is for programmers to fix bugs, add new features etc.
  3. Reliability – how often the results of the program are correct.
  4. Robustness – how well does the program respond when it encounters errors like incorrect input or corrupt data.
  5. Security – how safe is the program from security hackers.
  6. Usability – how easy and intuitive it is to use the program.

Programming languages

A programming language is a computer language used to communicate instructions to a computer. Like natural languages, programming languages conform to specific set of rules. No programming language is perfect. They each have their advantages and disadvantages and can look very different from each other. However, most of them contain basic instructions like:

  • Input – receive data from user
  • Output – display or save data
  • Arithmetic – perform basic arithmetic operations
  • Conditional execution – check whether certain conditions are true or not
  • Repetition – perform some action repeatedly

 

Here are a couple of the most popular programming languages and their corresponding “Hello, World!” programs:

  • JavaJava
  • CC
  • C++ C++
  • C#C#
  • PythonPython
  • PHPPHP
  • JavaScriptJavaScript

To read more about them and see their comparisons, visit the links below.

Types of programming languages

There are dozens of types of programming languages and a single language can follow multiple types. Here are a few:

  • Declarative

Declarative languages describe a problem instead of giving a solution. Solving the problem often looks like automatically proving a system of logical statements.

  • Imperative

Imperative languages describe a system of state changes. The program is given steps to follow and they change its state.

  • Functional

In functional programming the program receives some information as an input, and uses this information to create output.

  • Object-oriented

In object-oriented programming information is placed into a single unit called object. Objects can interact with each other.

Learn it yourselfLearn Programming

Online there are numerous websites and courses dedicated to learning programming. Here are a few sites you might want to explore:

Read more

Computer programming – https://en.wikipedia.org/wiki/Computer_programming#Methodologies

Comparison of programming languages – https://en.wikipedia.org/wiki/Comparison_of_programming_languages

List of programming languages by type – https://en.wikipedia.org/wiki/List_of_programming_languages_by_type

The Tower of Babel – http://www.cprogramming.com/langs.html

TIOBE Index – https://www.tiobe.com/tiobe-index/


Have you already joined our mailing list? You can be notified about our latest articles here.

Leave a Reply

Your email address will not be published. Required fields are marked *