Several of the usual suspects are among the programming languages seasoned developers recommend for beginners. But there are some newer options worth considering in 2023.
Python "is extra dope"
Python is a good programming language choice for beginners because it's a popular language used to wrangle the data fed into machine learning algorithms, which are hot topics in tech.
Python has also been a software development and data analysis mainstay for more than three decades, said Kelsey Hightower, Google Cloud's distinguished engineer.
"Python is extra dope," Hightower tweeted last week. "The fact that Python remains relevant after 30 years says a lot."
Beginners can also use frameworks to make video games, such as Pygame, which offer a visible feedback loop as well, Hightower said in an interview. Pygame is a free open-source library used to develop multimedia applications using Python.
Another Python strength is being a powerful, flexible and easy-to-read programming language, said Tam Ayers, field CTO for North America at Digibee, an enterprise integration PaaS provider based in Sao Paulo, Brazil.
"These tools allow you to focus on learning to write code to achieve a specific goal rather than worrying about managing a web server," he said. "The Python community is also very supportive, with plenty of resources and libraries available to help you get started."
Python is used to manipulate, model and move data sets into buzz-generating tools such as ChatGPT, said Dustin Pearce, vice president of engineering at Amplitude, a digital analytics platform company based in San Francisco.
"If I'm a [beginner] programmer… then learning data engineering and how to manipulate data and move data around with the patterns that have been established in the industry, using Python, is a very valuable skill," he said.
One reason why HTML is a good programming language for beginners is that most people frequently use a web browser, so they have some experience with it already, Hightower said. The HTML and CSS experience is like working with Google Docs or Microsoft Word. Plus, the visual element makes HTML an especially good choice for beginners in Hightower's view.
"A lot of people would benefit from the visual feedback loop you get when working with HTML and a browser," Hightower said.
Starting from Scratch with newer languages
Beginners should expect a steep learning curve no matter what programming language they choose to begin with, Pearce said.
"It takes a lot of time, a lot of resilience, a lot of focus," he said. "People have to almost be obsessive."
Kelsey HightowerDistinguished engineer, Google Cloud
Hightower agrees that the jump to any programming language is going to be hard. That's one reason that he recommends Scratch, which helps people learn the logic behind programming languages using blocks. Since its creation, Scratch -- developed and maintained by MIT Media Lab and Lifelong Kindergarten group -- has amassed more than 100 million registered users aged four to 80.
Scratch could also bring greater variation to learning to code, Pearce said, which may be more effective than one learning approach alone.
Hightower also recommended that people learn to program with tools they already use. For example, Microsoft Excel users can learn to write macros with Visual Basic for Applications, and Roblox players can use the Lua programming language to code custom features, he said.