Once again, many new programmers are faced with this question, “Which programming language should I be using”? Usually programmers go through several languages, trying them out, until they settle on one. This guide will help you speed up that process and find a language that works well both for you, and for the platform you wish to work on.
So what things should you be considering when picking a programming language? For starters, narrow down the platforms on which you intend to be programming on. Secondly, you need to have a clear image on what you intend to be doing. Maybe you’re into web-programming and scripting? Perhaps you want to make desktop applications, or maybe even Artificial intelligence. Each programming language has several uses, but usually has this one specific application for it’s well-known for, and that’s what we’ll be covering here.
Python, one of the most popular and fastest growing languages in the world currently. It gets most of its popularity due to it’s simplicity and easy to use nature. That, and it’s vast libraries allow it to be used in a massive number of applications ranging from Web-development to Desktop Applications. The current Python version is Python 3, the successor to Python 2.
Python is well known for it’s easy to read and maintainable code. It’s short, precise and doesn’t use any fancy words in it’s syntax. Python’s community is also one of the best things about it. You’ll find a massive amount of support and guides available online for Python.
Consequently, Python is one of the most in-demand languages right now in the job market, as well as one of the highest earning languages. Python is a pretty solid language to start out with, and makes the transition into other harder programming languages like C++ easier.
C++, created as an extension to the original C programming language. It’s one of the oldest languages around and one of the most popular as well. Unlike languages like Java and Python, C++ is a more low level oriented language. C++ is a language designed to powerful, efficient and flexible (due to low abstraction). It is is often found in operating system, games and other systems where performance is a key factor.
The slight downside to all this is that C++ isn’t the easiest language to learn. It’s learning curve is a bit steeper than most hence it’s not something we would normally recommend to someone completely new. High level languages are easier to understand and read, since they follow a more English-like pattern. Low-level languages however, resemble machine code more and hence, they do not require a compiler, thus saving time and improving performance.
C++ is a great language to know, but it wouldn’t be my first choice when recommending it to beginners, unless they were really determined or aiming for a field that works best in C++.
The successor to the programming language Visual Basic, VB.NET is also a very well-known language. It uses the .NET framework which gives it full access to all the .NET libraries. Made by Microsoft, it has strong roots and is a good option for both novice and advanced programmers. With many useful features like the “Windows form” mode, it allows coders to make windows application with a GUI very easily, without having to go through many of the hassles you might face in a language like C++. It’s also a language recommended by Engineers due to it’s strong structure as a language.
Unfortunately, Visual Basic.NET’s popularity has died down in recent years, and with the popularity boom of languages like Python and Java, VB.NET’s popularity and usage is stagnating. One of VB’s key features was the ability to make windows applications. However many other, more popular languages have gained that ability too. While it still has some uses, we would not recommend it due to it’s uncertain future.
Along with Python and C++, Java is a language that consistently ranks in the TOP 5 programming languages in the world. Java is a language used in several different fields. It’s two main strengths lie in Android Mobile Development and Web applications/servers.
Some interesting facts about Java. Java’s syntax resembles C++ and C#, which makes it easier for programmers to switch to Java or vice versa. Java is used on over 3 Billion Devices in the world, which speaks volumes for how big it’s community and customer base must be.
The gist of all this if that Java is an extremely stable language that is widely supported on many platforms. It is used extensively is Web and App development. This is a very strong language to have in your arsenal.
Hypertext Markup Language (HTML) isn’t actually a programming language, it’s a Mark up language. Due to it’s significance in web development however, I’ve included it here. The interesting thing about HTML is that there is no real alternative to it. You’ll never see anyone asking “Should I be using HTML or XXX Language”. HTML is also really simple and easy to learn so learning it as a secondary language can have a-lot of benefits. If any of you are interested in making a website or getting into web development in the future, HTML is a must learn.
HTML uses Tags as it’s syntax. For instance, creating a hyperlink utilizes the “<a>” tag. While technically there are over 100 tags in HTML, 99% of the time you won’t be needing more than 10 of them. With the help of these tags HTML creates the basic structure of a website. We then use other languages like PHP, CSS and Java script to add more functionality to it.
PHP is used to manage dynamic content, databases, session tracking, even to build entire e-commerce sites. It’s also integrated within several popular database systems like MySQL, Oracle, Microsoft SQL server and Informix. PHP is platform independent and will run on almost any system. In simpler terms, what this means is that you can use PHP to access, update and delete a database, and make websites.
Now, PHP isn’t the only language that can be used to access databases and make websites. Python and Java are also options. However due to some limitations these languages have, (e.g Python has some issues on phones) and since PHP is the most widely used language for these tasks, PHP is your best Option.
Setting up PHP can be a bit of a pain at times. If you already have a web server, then all you have to do is the put the .php files in the web directory. However if you don’t, and want to set up the database on your own then you have to go through alot of steps. There will be a separate guide for the installation of PHP.
Learning Multiple Languages
If you’ve read the “Types of Programming Languages” Article, you’ll know that different types of languages have different uses. Web development makes heavy uses of Scripting languages, Operating systems use low level languages etc. So what am I getting at here? See, if you learn only one language you’ll end up only able to do certain things. While this isn’t a hard fast requirement, I would highly recommend keeping several languages in your arsenal, though you’re specialty should still be within one language.
Here is an combination as an example.
Let’s say person X has Python as his primary language. He knows PHP as a secondary language as well as HTML and CSS which are really useful in making websites and in other web development related activities.
I think, that should get the point across. This is also around the point where the concept of transferable skills comes into play. Programming languages, especially High Level languages resemble each other significantly, and the concepts in them are mostly the same, with some minor tweaks in structure and limitations. The end result is, that this allows you to switch between languages pretty easily once you’ve learnt one or two. The take away is that you don’t really have much to lose by experimenting with different languages as you’re skills will carry on.
Instead of learning a particular language, or set of languages, as a beginner you’re better of learning “how to code”. Developing your problem solving skills, learning how to write good code, maintaining a proper order and structure and knowing how to take advantage of different frameworks and IDE’s is what really makes you a professional coder. Not the number of languages you may know.
The language you start off with, is just a means for you to begin your programing journey. What you ultimately end up doing, will likely greatly differ from what you started out with.
And that’s about it for now! We’ll be adding more and more languages as the opportunity presents itself, so keep checking in every now and then.