We ❤️ Open Source

A community education resource

The best programming languages to learn first

Establish a foundation of smart programming by learning these computer languages.

Jon “Maddog” Hall, a pioneer in the open source community, recommends starting with shell scripting to gain a strong foundation in programming, particularly on Unix/Linux systems. Despite the inclination to move straight into higher-level languages like Python, he advocates for learning Assembly language next.

After mastering shell scripting, Maddog suggests learning Assembly language to understand how machines work at a low level, including registers and cache memory. While Assembly isn’t for everyday use, this knowledge helps prevent writing inefficient code, overcoming the challenge of understanding system-level intricacies.

Read more: Why you should learn assembly language

Subscribe to our All Things Open YouTube channel to get notifications when new videos are available.

Video transcript

People ask me what’s the first programming language that I should learn. I believe it’s shell programming, the shell script. Because just as soon as you log into a Unix or Linux system you’re in Shell. This is probably one of the most powerful things you can learn in your day-to-day programming after you’ve got the shell script down, go ahead and learn Python or some other things.

But the next thing, and this will sound strange, I think you should learn some Assembly Language and I would be the last person to ever say code in Assembly. Okay you need to know how the machine actually works, you need to know how the registers work, and how cache memory works, because you can write really abysmal code if you don’t know that.

More from We Love Open Source

About the Author

The ATO Team is a small but skilled team of talented professionals, bringing you the best open source content possible.

Read the ATO Team's Full Bio

The opinions expressed on this website are those of each author, not of the author's employer or All Things Open/We Love Open Source.

Want to contribute your open source content?

Contribute to We ❤️ Open Source

Help educate our community by contributing a blog post, tutorial, or how-to.

This year we're hosting two world-class events!

Join us for AllThingsOpen.ai, March 17-18, and All Things Open 2025, October 12-14.

Open Source Meetups

We host some of the most active open source meetups in the U.S. Get more info and RSVP to an upcoming event.