beanz Magazine

How to Pick a Programming Language

Rumpleteaser on Flickr

Should you learn Python, Scratch, Java, Assembly? If you’re feeling overwhelmed by too many options, this article is here to help.

Every ten years the thought occurs to me that I should stop writing about technology and instead learn software programming and be a programmer. I know PHP but many people don’t consider that to be a real programming language (I tend to agree, although it has evolved into a real language). And I know front end languages like HTML, CSS, and some JavaScript. Plus I can read many programming languages because of writing about technology.

Lately, I’ve been writing about software that uses Java and Groovy, a scripting language that fits well with Java. And there’s some Kotlin tossed in. If I do switch to programming instead of writing, I’ll probably learn those languages.

But what about you? If you want to learn a programming language, where would you begin? The answer depends on what you want to do and what interests you about programming.

If you want to play with programming, to see what it’s like, then Python is a great place to start. It’s an easy to read language yet has enough structure to teach you what to look for when coding. The website, this magazine, and many books and online sites have Python tutorials to help you become familiar with the basics of programming and Python.

If you really want to fool around, find a Sphero robot which lets you program with block code then see how that code translates to a simple programming language.

For people who want to play with programming without getting too deep too fast, Python and Scratch and products like Sphero probably are a good place to start. These languages are fairly easy to figure out and they reward playing.

If you’re more serious about programming, or you’ve played with simple programming and want to learn more, then Python is another good place to start. Lots of people use Python for machine learning, for example, and business software. Plus the Python language is mature with lots of features.

Beyond Python for serious programming, the question of what language to learn depends on your interests.

If you’re curious about the internals of computer hardware and software, for example, then you might explore Assembly and C. These are complex languages that translate the 1s and 0s of computer hardware into data used by operating systems and software interfaces.

However, most people serious about programming learn either (or both) Java or C# (called C sharp) or C++. The latter two are Microsoft technologies. And Java works on many operating systems including Windows. All three languages are heavily used in business.

The last option is a little quirky. I hear there are still COBOL software applications in use. It’s possible you could learn a language from 1959 and get work! The COBOL language is still under development. And there’s at least one online emulator (so you can practice without installing software) and an editor optimized for COBOL.

Whatever language you decide to start with and evolve into over time, it’s important to learn by doing. Create small applications using what you learn. Use online forums like Stack Exchange and any search engine to look up error messages and find solutions to problems you encounter. Find tutorials and books that show how to create applications. Find online emulators to practice your language. And, if you become serious about programming, be sure to set up a page on Github to upload your coding projects to show people who might hire you to create software.

I find programming to be both solitary and social. While lots of coding is done by oneself, defining and solving problems often involves people working together. Communities like Stack Exchange, for example, let people work together to pose questions and provide solutions. If you decide to try coding, whatever language you choose, hopefully you’ll enjoy both working on your own and with others.

Learn More

Five best programming languages for kids

Best programming language for your child

20 best programming languages

Top Ten programming languages for kids

Programming languages videos

What programming language should we use

programming languages and there uses

Also In The February 2020 Issue

Can you figure out how to divide up coconuts between a group of sailors and a monkey? This puzzle mixes math and coding. Plus you can go online to try the code yourself!

Recreate the classic game in this simple Python tutorial. What whimsical stories can you write?

If you like ships, then you’ll love this easy-to-use website that keeps track of seafaring vessels around the world. Bonus: it helps prevent maritime collisions!

Ready for some good old-fashioned winter fun? In this article, build a digital snowman with Sketchup.

A fun, silly way to share your coding trials and triumphs with friends — because everything is better with kittens!

Should you learn Python, Scratch, Java, Assembly? If you’re feeling overwhelmed by too many options, this article is here to help.

Illustrating computational concepts like decomposition and algorithms with simple, hands-on, and occasionally messy activities.

In the old days, before video game systems had cameras and sensors, programmers had to get creative.

Six women were hired to use their math skills to program the ENIAC computer. They called themselves The First Programmers Club.

Learn about the key software that keeps your computer safe from viruses.

Programs are constantly being patched and improved. How do we keep track of all this new code?

Dive into the nitty-gritty details of binary numbers: how they work, why they’re used, and where they come from.

An easy way to code your own 3D graphics online. Dive into the world of pixels, triangles, textures, and colours!

Learn about the smallest, simplest computers and where they’re still used today.

Interesting stories about science and technology for February 2020.

Links from the bottom of all the February 2020 articles, collected in one place for you to print, share, or bookmark.