What Programming Language Should I Learn First?—The Million Dollar Question
Spoiler alert: just pick one!
It’s intimidating enough to learn new skills, but when you don’t even know where to begin you can find yourself stuck in neutral. This is particularly true when it comes to programming languages. There are so many options when learning to code that knowing which language to learn first is almost harder than learning a language itself. So what IS the best programming language to learn?
To clear things up, I asked a group of web developers and tech professionals where they recommend beginners start — and if starting with one programming language over another even matters.
Table of Contents
- Getting Started (With ANY Language) is the Most Important Part
- HTML/CSS
- JavaScript
- Ruby/Ruby on Rails
1. Spoiler Alert: It Doesn’t Matter Which Programming Language You Learn First (as Long as You Learn One)
Chase Bell, Co-Founder at Paq Bags, says he often gets asked, “What programming language should I learn?”, but this is the wrong question to ask.
“It doesn’t matter what language you start with,” says Bell, “as long it’s [in service of] something that interests you.” Unless your motivation for learning to code involves finishing a project or reaching a goal you’re passionate about, “you’re going to start to hate it,” Bell says.
Bell started coding by learning HTML and JavaScript when he wanted to fix a broken website slider (a website feature that rotates images and creates a slideshow) and from there he went on to establish a professional career as a developer. He suggests aspiring coders should find a problem that interests them, then research what language would be best to solve that problem. “For me, [the problem] was a broken slider,” Bell says, “but for you maybe [it’s] a one-page personal website or a simple mobile app.”
Michael Haapaniemi, Founder and CEO at Current Nightlife, echoes the idea of starting with a project goal and picking the right language from there. “Learning your first language is more about learning the basics of how [coding works],” says Haapaniemi. The simple act of learning that first language—regardless of what it is—will give you a much easier time when you’re ready to start a new one, since many coding languages are only separated by minor differences in syntax, he says.
Well, great: you can probably find a problem or part of a site you don’t like pretty easily. But if you’re brand new to coding, that next part—the solution—is probably a mystery. Here are some jumping off points if you’re confused about where to begin.
2. HTML and CSS
If you’re interested in developing websites, you’ll inevitably be using HTML (HyperText Markup Language) and CSS (Cascading Style Sheets). HTML is the standard language used to create basic web pages, and CSS is a language used to add style (layout, color, fonts, etc.) to the documents you create with HTML. Since both programming languages are essential for web development, web developer Charlotte O’Hara recommends an HTML/CSS combo as a worthy “best programming language to learn” for aspiring coders.
According to O’Hara, HTML and CSS make up the base of all websites and applications, and if you think of them as building blocks—starting simply and moving up in complexity as you go—it makes them easier to learn. The two coding languages also complement each other, O’Hara says, giving you a foundation in website structure and design at the same time.
Mazdak Mohammadi, Web Developer at BlueberryCloud, recommends that you should practice HTML and CSS until you feel comfortable building a basic website. “You can create so much value with these skills alone, and charge for it,” says Mohammadi.
HTML was the first coding language that Mohammadi tried back in 2003. He learned HTML as a hobby in order to build fan websites for his favorite TV shows, and it eventually grew into a professional career. Today, Mohammadi is self-employed and enjoys maximum flexibility and freedom. “It’s so hard to find good [HTML and CSS coders], so go do it,” Mohammadi says. “Hone your skills, be better than the rest, and get paid well for it!”
Even if you’re not interested in becoming a web developer, HTML and CSS can still be vital skills to add to your tech toolkit. Ulysis Cababan, SEO Specialist at RapidVisa, says he learned HTML and CSS in order to communicate better with the web developers at his job. When it comes to optimizing a website “it’s…important [for me to speak the developer’s] language.” says Cababan.
Learning HTML and CSS allowed Cababan to get a greater appreciation of the development process, and the more he learned, the more he was motivated to keep learning. After HTML and CSS, Cababan went on to learn PHP (the programming language WordPress uses).
3. JavaScript
While HTML and CSS are foundational building blocks for creating web pages, JavaScript is a programming language that controls a site’s interactive elements. Pop-up ads, slideshows, search field autocompletes, and other web features that change without refreshing the page are all powered by JavaScript. HTML and CSS are often recommended as a starting point before moving on to JavaScript. However, James McCarthy, CEO and Lead Developer at Boldtask, says JavaScript worked well as his own “best coding language to learn” starting out.
According to McCarthy, JavaScript began its life with a reputation as a “front end toy” (a tool for adding bells and whistles to the visible part of a website), but it’s since become a respected programming language. What makes JavaScript an ideal “best programming language to learn,” McCarthy says, is its sliding scale of complexity. JavaScript is easy to jump into as a beginner but offers incremental levels of depth as your needs and experience increase.
4. Ruby/Ruby on Rails
Ruby is a programming language that’s easy to use but powerful enough to fuel websites like Hulu, Groupon, and GitHub. Ruby on Rails is a framework (a collection of code libraries) that allows applications written in Ruby to run on the Web. According to Marko Anastasov, Co-Founder at Rendered Text/SemaphoreCI, Ruby is an ideal first programming language for a number of reasons:
First, Ruby is open source, meaning it’s absolutely free to use.
Second, it has a friendly and readable syntax. “Your first language shouldn’t feel intimidating,” says Anastasov, “and writing basic Ruby code can feel almost like writing plain English.” Anastasov says this is part of why Rails Girls (a worldwide, non-profit community that gives women tools to build their ideas) has had global success teaching programming with Ruby.
And third, Ruby has a mature ecosystem. Ruby on Rails has existed as a web framework for more than 10 years now, which means there’s a thriving catalog of tools and services that make it easier to build with Ruby, even if you’re inexperienced.
Ruby was the first programming language Anastasov learned outside of his college curriculum, and he credits it with helping him build his company. Ruby’s gentle learning curve and supportive community make it an easy to learn yet flexible and powerful tool for building websites and web applications.
Now that you’re ready to pick a project, set some goals, and learn the language that will empower you to build your own ideas, take a look at our Skillcrush Front End Developer and Web Developer Blueprint courses—online classes designed to be completed in 3 months by spending just an hour a day on the materials.
These courses will teach you everything you know to start coding like a pro AND give you the tools to make your own jump into the tech industry.
Scott Morris
Category: Blog, Coding Languages and Tools, Front End Developer, JavaScript, Learn to Code