About Author
Matt Zand is a programmer, businessman, IT Consultant, and writer. He is the founder and owner of WEG2G Group. He is also the founder of DC Web Makers. His hobbies are hiking, biking, outdoor activities, traveling and mountain climbing.
Logic of Coding
If you are a programmer, you may have heard the saying, “once you have learned one language, you have practically learned them all.” While this is true to some extent, learning one language definitely means that you only know that one. Learning other programming language’s syntax can be difficult but typically you use the same logic to complete a specific task. So, really the saying should be, “once you have learned how to think like a programmer, you never go back”.
Capabilities of different coding languages
Some languages are incredibly similar to others (like Java and C++) while others are very different, like Ruby and JavaScript. The only thing that makes these things truly different (from a programming perspective) is what they are capable of. Object-oriented languages are different from scripting languages which are different from embedded languages which are different from every other type. Now, having good knowledge of only one language can only get so far, however, having great knowledge of at least one of every type of language would make you the best programmer in the world.
High level versus low level programming languages
Within each type, there are similarities with how variables, functions, classes, and libraries are handled, and in some languages, none of these are used. Some languages are also of a “higher” level than others, which basically means that the programmer needs to do less to actually get the result they want. For example, assembly language is very low level, as you are directly dealing with the registers and memory within the computer. But a higher level language like Java, is a whole lot different, as there are many layers of abstraction so that the programmer does not have to worry about where they are storing their data, rather they just have to worry about the bigger picture. This is why high-level languages are so much more popular than lower-level languages, as they save you time and energy while also making things easier for the programmer.
Set career goal first, then pick a language
In reality, the number of languages that you should know depends on what you want to do as a programmer. Here is an excellent article for learning more on coding and Technology career roadmap. Do you strictly want to stick to the web? Then, you should probably know at least 4 languages (or 2 if you don’t count HTML and CSS). One is JavaScript, which allows you to program the actual behavior of a webpage, and another would have to be a language that specializes in creating databases, like SQL. But if you want to create an iPhone app, then HTML, CSS, and JavaScript are most likely useless to you. In fact, all you really need to know to start creating a native iPhone app is Swift. Of course, having some backend knowledge would help immensely with creating a great iPhone application, however, it is not necessary. Most people specialize in one area, either being an app developer, software engineer, game developer, Devops developer, web developer etc. Languages that cross between these fields are often; however, if you are a game developer, there is no reason for you to also know JavaScript. It is worthwhile noting that JavaScript used to play a role in front-end web design development; however, by the emergence of powerful libraries such as Angular and React, now developers can use JS to build native iOS and Android Apps or use JS to store and manage data in database via JS Object Node or JSON. It is worth noting that the best way to learn a coding language is via projects and practice. For instance, DC Web Makers Company only offers project-based training where students learn concepts through real world projects.
How many languages to learn
So how many languages should you know? It all depends on what kind of programmer you want to be. Want to stick strictly to frontend web development? Well, if you just like designing the web pages, be prepared to find a backend developer who knows how to handle databases. Want to do it all by yourself? Learn both frontend and backend languages, and become a full-stack developer.
If there is one thing that you take away from this though, is that you should only learn one language of each type most of the time. For example, you really are not doing yourself any favors by learning Java and C++ as both have virtually the same exact functionality.
Summary
While you can use online free resources and self-study to learn coding for your hobby projects, it’s highly recommended to learn it from professional instructors if you wish to pursue it as a software engineer, mobile App developer or professional web designer. There are lots of tricks and recipes that only can be learned from seasoned programmers. Likewise, all advance programmers start with learning the logic of coding, then they move on to algorithm design. Indeed, the most accomplished programmers are the ones that can create most efficient algorithms for new coding problems. One of the most challenging courses in computer engineering or computer science schools is algorithm design. In short, for any programming language you wish to learn, you have to master it through hands-on project-based training. There are lots of resources for learning programming professionally. For instance, Coding Bootcamps institute offers many basic to advance programming classes with focuses on projects and algorithm design for adults while High School Technology Services offers similar classes for teenagers.