dark mode light mode Search Menu

How to Pick a Programming Language

Rumpleteaser on Flickr

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 repl.it 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