If you're thinking of learning to code, the language you choose will be heavily influenced by your long-term plans and ambitions. Nonetheless, some languages are easier to pick up than others, have a community dedicated to teaching, or offer more useful skills once you master them. Here are five of the best, based on your nominations.
Title photo by Michael Himbeault.
Let's be clear -- we're not trying to absolutely settle the question of which language you should learn first if you're trying to code. Depending on your specific reasons for learning or the platform you want to target, some options will dominate. Consider this as food for thought.
Oracle's Java is one of the web's longest standing and most influential programming languages. You'll find Java at the core of applications across all platforms, operating systems, and devices. It's a deeply featured class-based, object-oriented programming language that's designed to be portable and workable on as many platforms as possible. For that reason, it's also one of the world's most popular programming languages, which makes it incredibly valuable if you're interested in learning to program. The flip-side to Java is that for all of its portability and applicability, it can be quite tricky to grasp, and quite difficult to program effectively and efficiently.
Many schools and classes start with C or C++ because Java derives a lot of its syntax from those earlier languages. Those of you who championed Java as a good first language noted that Java forces you to act like a programmer -- to think logically and analytically, and really grasp how a computer will process information. It's a fundamental set of core concepts that will help you as you move to other languages and technologies.
Ruby is a dynamic, open-source, object-oriented programming language developed by computer scientist Yukihiro Matsumoto back in the 1990s, which makes it one of the youngest languages in broad use. It was designed to offer syntax that was easy to read and to write by mere humans, without necessarily needing to learn a massive base of commands and specialised "vocabulary" in order to get started. While the language itself is object-oriented, it also supports procedural, functional and imperative programming.
Ruby has a reputation for being relatively easy to learn, with a 20 minute quick start guide available on the language's official website that teaches some of its basics in a really short period. Fans of languages like Perl and Python will find some similarities to enjoy. Those of you who nominated Ruby praised it for being easy to understand and easy to learn, and for having a large, active, passionate developer community that's committed to the success of the language.
When people discuss first programming languages, Python inevitably comes up. It was developed in the 1980s by Guido van Rossum, who then handed the language over to the non-profit Python Software Foundation, which serves as the language's administrator. The language is open source and free to use, even for commercial applications. Python is often referred to as a scripting language, allowing programmers to churn out large quantities of easily readable and functional code in short periods of time, but it's also dynamic, and supports object-oriented, procedural and functional programming styles. Thanks to its flexibility, Python is one of the most widely used high-level programming languages today.
Those of you who nominated Python highlighted the fact that Python's developer community is committed to it being used as a teaching language, so there are numerous learning tools and plenty of documentation available to help first-time coders. The official tutorials are easy to follow, useful and practical.
C and its "successor" C++ have been around since the 1970s and early 80s, respectively (you can read more of their history at the Wikipedia links above). C is an extremely widely-used, general purpose, imperative programming language that has heavily influenced almost every language that's followed it. C++ took things a step further, added object-oriented features such as classes to the language, along with virtual functions and templates. C++ is still in wide use today in everything from video games to productivity software. C++ is a bit more difficult to pick up than C, although many people would argue that there's no reason to start with C anymore at all. That's a debate we're not about to settle.
One thing that's important about C and C++: They're two of of the most foundational languages in computer science and programming. If you learn them, they'll benefit you, even if you wind up not using them later. They'll provide you with insight into the beginnings and roots of computer science and computer programming. Many of you also said that starting with the hard stuff like C and C++ makes other languages (Java, for example) easier in the long run.
We don't nearly have enough space to offer honourable mentions to every language that just missed the cut. We will however give a special nod to C# .NET, a popular and well-supported language.
Have something to say about one of the nominees? Want to make the case for your personal favourite, even if it wasn't included in the list? Tell us (and tell us why) in the comments.