Skip main navigation

Hurry, only 3 days left to get one year of Unlimited learning for £249.99 £174.99. New subscribers only. T&Cs apply

Find out more

What is programming? Computer programming structures and more

Gain a strong understanding of programming as we discuss types of programming, logical computer programming structures and more.

Man with reflection of code in his glasses

In the digital age, discussions of programming have become commonplace. But what does programming actually mean? In this article, we’ll offer a comprehensive breakdown of computer programming, shedding light on its fundamental principles, creative nature, and the variety of languages that make it accessible to individuals from all walks of life.

What is Computer Programming?

To put it simply, computer programming is the process of humans communicating with computers to make them perform specific tasks. It involves crafting a set of instructions, enabling computers to execute operations and fulfil particular purposes. The programmer plays a pivotal role here, imparting purpose and functionality to these electronic devices. Without programming, computers are just sophisticated machines with untapped potential.

The Creative Aspect of Programming

The art of programming extends beyond code – it’s a creative endeavour where the programmer is the artist. There’s no one “right” way to solve a problem, allowing for a variety of choices and individual expression within the logical structures. The allure of programming lies in its endless possibilities, allowing for a career path where you can push the limits of your imagination.

Types of programming languages

1. High-Level Programming Languages

High-level languages, such as Python and Java, abstract complex operations, providing a more human-readable syntax. They are designed for ease of use and portability, allowing developers to focus on problem-solving rather than low-level details.

2. Low-Level Programming Languages

Low-level languages, like Assembly and Machine Code, interact more closely with hardware. They offer greater control over a computer’s resources but require a deep understanding of the underlying architecture.

3. Procedural Programming Languages

Procedural languages, including C and Pascal, organise code into procedures or routines. These languages emphasise step-by-step procedures and are often used in system programming and algorithm implementation.

4. Object-Oriented Programming Languages

Object-oriented languages, such as C++ and Java, model code around objects that encapsulate data and behaviour. This paradigm promotes code reuse, modularity, and a clearer organisation of complex systems.

5. Functional Programming Languages

Functional languages, like Haskell and Lisp, treat computation as the evaluation of mathematical functions. They emphasise immutability and avoid changing state, making programs more predictable and easier to reason about.

6. Scripting Languages

Scripting languages, including JavaScript and Ruby, are often interpreted and executed directly by a host environment. They excel in automating tasks, web development, and are known for their flexibility and rapid development.

7. Domain-Specific Languages (DSLs)

DSLs are tailored for specific tasks or industries. SQL (Structured Query Language) is an example used for database queries, while CSS (Cascading Style Sheets) is a DSL for styling web documents.

8. Compiled vs. Interpreted Languages

Programming languages can be classified based on how they are processed. Compiled languages like C and C++ are translated into machine code before execution, while interpreted languages like Python are executed line by line.

These categories represent just a glimpse of the rich and diverse landscape of programming languages, each catering to specific needs and preferences within the vast realm of computer programming.

>> Discover our online IT and computer programming degrees

Logical Structures in Programming

Creative elements aside, understanding programming also involves delving into its basic logical structures. These structures include:

  • Sequence: Executing instructions in a specified order.
  • Selection: Making decisions based on conditions.
  • Repetition: Iterating or repeating actions.

Programming comparable to providing a series of steps for a computer to follow. For instance, if we imagine instructing a computer to jump off a cliff, the sequence of actions becomes clear. To prevent mishaps, the computer can also make decisions (selection) and repeat specific actions (repetition).

The Diversity of Programming Languages

Given that computers don’t comprehend human languages, programming also involves understanding languages as the intermediary. Python, mentioned earlier, is one such language. Others include C, Ruby, Java, and BASIC. Each language has its merits, but the overarching theme is that they provide a structured means of communication between humans and computers.

Consider the simplicity of this Python program:

print(“Hello and welcome.”)

name = input(“What’s your name?”)

if name == “Martin”:

 print(“That’s my name too!”)

print(“Hi ” + name)

Even without prior programming knowledge, the English-like syntax of Python makes it approachable. This accessibility extends to online courses, where introductory programming courses often use languages like Python, ensuring a gentle entry for beginners.

Final thoughts

In conclusion, programming leads us to the art of giving life to computers, transforming them from silent machines into problem-solving companions. It’s a creative pursuit where individuals craft instructions, allowing computers to execute tasks and fulfil specific purposes. This overview scratches the surface of the vast realm of programming, emphasising its creative nature and the diverse languages that facilitate this communication.

Transform your career and earn a programming degree at your own pace with one of our online IT & computer science degrees.

Related stories on FutureLearn

FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now