GB
  
You are currently viewing the United Kingdom version of the site.
Would you like to switch to your local site?
16 MIN READ TIME

WE COMPARE TONS OF STUFF SO YOU DON’T HAVE TO!

ROUNDUP

Kotlin Go Rust Python C++

Michael Reed started programming on a computer with 32K of RAM. He’s got more RAM at his disposal now, yet he runs out just as much.

Beginner programming languages

Multi-lingual Michael Reed investigates the best programming languages for a beginner to start learning how to code with.

HOW WE TESTED…

We tried to approach each language from the perspective of a beginner – someone who has either never programmed before or only has a little bit of experience. However, we had a goal in mind. We are looking for a language suitable for someone who is just starting out but would like to eventually graduate to being able to create substantial applications or become a contributor to existing Linux projects.

These criteria rule out some simpler teaching systems, such as Scratch, as they aren’t designed to create full apps. We’re also thinking about people who might be thinking of doing an academic course involving programming and want to learn a coding language for that.

With our selection of potential languages, we’ve tried to balance ease of use at the beginning with something that could ultimately be used when contributing to open source software or making your own applications.

If you are a beginner programmer, one of your first questions is I probably which language you should learn. With this in mind, we’re going to examine five languages that are worth knowing about for programmers who are new to the field but want to learn something that’s relevant to creating Linux programs. C++ is a venerable language. It was created in the mid-’80s, and is now one of the most widely supported languages on Linux and it’s highly likely something beginners will come into contact with.

Python is one of the most popular languages at the moment, and it has a reputation for being easy to learn. It can be used to create everything from commandline utilities to games and full applications.

Go (sometimes called Golang) is a relatively new programming language that is backed by Google. It aims to offer the speed and simplicity of C, but it has a modern design and it’s easy to learn.

Rust is another newish programming language. It offers the full slew of modern features as well as excellent performance, and has recently been accepted into the Linux kernel itself.

Kotlin is, effectively, an updated version of Java, and it uses many of the same tools. If you’re a beginner, you’ll like it because it’s streamlined and easy to use and learn. CREDIT: Ole_CNX/iStock/Getty Images Plus

Python code has a clean look to it. The learning curve of the language is fairly linear, without feeling complex for its own sake.

The first few hours

None of these are toys, but some are easier to pick up than others.

W ith Python, you can start with something as simple as printing a message on the screen using a single command. From here, you can learn about assigning variables, looping over a section of code or making decisions about the flow of the program. The language strikes a good balance between allowing the creation of complex applications while stripping things down to the essentials. If you’ve got at least a rough idea about what programming involves, you could probably pick up the basics in Python in a few hours.

Unlock this article and much more with
You can enjoy:
Enjoy this edition in full
Instant access to 600+ titles
Thousands of back issues
No contract or commitment
Try for 99p
SUBSCRIBE NOW
30 day trial, then just £9.99 / month. Cancel anytime. New subscribers only.


Learn more
Pocketmags Plus
Pocketmags Plus

This article is from...


View Issues
Linux Format
July 2023
VIEW IN STORE

Other Articles in this Issue


Linux Format
Linux Format
Future Publishing Limited, Quay House, The Ambury, Bath,
WELCOME
MEET THE TEAM
We’re trying to keep things light this issue, so what’s your top tip for making something run faster or use less memory?
Keep it light
It’s fascinating to read the constant online forum
REGULARS AT A GLANCE
Newsdesk
THIS ISSUE: Art apps get touch-ups HDR Hackfest hopes KeePassXC passes test Ghostly chicken haunts AMD CPUs
It’s a wrap on HDR Hackfest
Exciting plans are in motion after the 2023 HDR Hackfest in Prague. Simon Ser shares his hopes.
KeePassXC passes audit
Independent security consultant was impressed.
NOT END OF LIFE
Joe Brockmeier is head of community, Percona.
KERNEL KUDOS
Muhammad Usama Anjum is a software developer at Collabora.
AMD haunted by spectral chicken
Kernel code is hen-pecked.
X.Org cleanup
Certain X.Org packages are retired and now archive-only.
Linus commits
Torvalds explains his changes to the Linux kernel.
Distro watch
What’s behind the free software sofa?
IN EURO WE TRUST
Italo Vignoli is one of founders of LibreOffice and The Document Foundation.
BUG OUT
Jon Masters is a kernel hacker who’s been
Kernel Watch
Jon Masters keeps up with all the latest happenings in the Linux kernel, so you don’t have to.
Answers
Got a burning question about open source or the kernel? Whatever your level, email it to answers@linuxformat.com your Intel branch prediction.
Mailserver
WRITE TO US Do you have a burning
HotPicks
THE BEST NEW OPEN SOURCE SOFTWARE ON THE PLANET
REVIEWS
Adata Legend 960 Max
Heatsinks make everything better, even Shane Downing.
Nvidia RTX 4070
Put that foreign holiday on hold, shouts Dave James, it’s time to invest in a shiny new graphics card instead!
Tiny Core Linux 14.0
Hold on tight as Nate Drake dares to embark on a white-knuckle ride on the stripped-down Tiny Core Linux!
Lubuntu 23.04
Nate Drake samples the lighter flavour of Ubuntu and has brought enough to share.
MidnightBSD 3.0.0
Nate Drake almost gets lost in the labyrinth that is MidnightBSD – a surprising open source alternative to Linux.
The Verdict
Beginner coding languages
LIGHTSPEED UBUNTU
Fitness guru Jonni Bidwell is here to trim down your Ubuntu installations for summer. Not a single star jump required.
Pi USER
It’s artificial not human intelligence
The Pi Foundation outlines its approach to teaching AI to young learners.
Micropython 1.20
Supports the Pico!
More GPIO!
Same old SOC.
YOUR JAMMY EVENT HERE!
Les Pounder works with groups such as the
Ubuntu 23.04 Beta
Les Pounder loves the B-52s’ ‘Rock Lobster’ but will he find Ubuntu 23.04 Lunar Lobster also rocks or is just a bit rocky?
Creality CR-M4
“Look at the size of that thing!” cries Denise Bertacchi, but this 3D printer from Creality is certainly no moon.
Setting up virtual Python environments
Les Pounder enjoys dancing to Jamiroquai’s ‘Virtual Insanity’, but much prefers losing himself in Python’s virtual environments.
Eye spy with my little Pi API…
Tam Hanna uses the new Raspberry Pi Camera API and Microsoft Azure to create a machine that can classify things.
IN DEPTH
Join the Pod, Man!
Aaron Peters, unabashed container newbie, explores the Podman management application and why you might pick it over Docker.
Stay on top of your to-do list
If creating to-do lists were an Olympic event, Shashank Sharma would be a winner, seeing as how his just keep on growing.
Search desktop file contents instantly
Super-sleuth Nick Peers reveals how to find any file by searching its contents as well as filenames with the help of Recoll.
Climbing the ALPs
Piling survival essentials such as containers, Btrfs and KVM into his backpack, Matt Holder sets out to conquer OpenSUSE’s latest technological answer to immutable OSes.
TUTORIALS
LISP - exploring the original AI language
Discover one of the first programming languages, which Mike Bedford realises couldn’t have been more different from its early stablemates.
Creating better documents in AsciiDoc
Making well-formatted documents is a snap for Karsten Günther because he’s learnt how to use a metaformat – and now you can, too.
Master Linux VM creation in Azure
Swallowing his pride, Stuart Burns tests out what Microsoft has to offer for Linux servers in its Azure cloud.
Kicking your music ’80s Amiga-style
Musical Michael Reed shows you how to create an Amigastyle tracker tune using modern open source Linux software.
CODING ACADEMY
Generate and then solve mazes with C
David Bolton demonstrates how a Raspberry Pi can create mazes in C/SDL and then solve them with animations.
Spice up your Python console applications
Matt Holder demonstrates how to use the Python Rich library to add formatting to your console applications.
Chat
X
Pocketmags Support