Which programming language should I learn next?

Learning to program: these are the best languages

Mike Bedford, Sabine Schischka

Do you want to learn to program? We'll tell you which languages ​​make sense and how you can get there quickly.

EnlargeWhich programming language is right for you?
© iStockphoto.com/KIVILCIM PINAR

The will to learn a programming language is there - congratulations! But in which of the myriad programming languages ​​should you invest your valuable time and effort? First, clarify: Do you want to develop apps for smartphones and tablets? Or do you prefer to build websites? Or program embedded chips - i.e. microcontrollers that are in your television or car?

We introduce you to some programming languages ​​with which you can venture into the world of coding.

Programming in blocks

One of the programming languages ​​most commonly taught in (elementary) schools is Scratch - developed by the Lifelong Kindergarten Group at the MIT Media Lab. In contrast to other languages, scratch programs are created by putting blocks together on the screen. In this way, students not only get to know the structure of applications, but also the concept of algorithms without having to learn the syntax - that is, without having to write a text in the respective language. The blocks represent pieces of the puzzle. As with a real puzzle, it is therefore impossible to put two pieces together that do not fit together - that is, if the result of the combination made no sense.

Despite its unconventional approach, Scratch is actually a procedural programming language like many other popular computer languages. In other words, it allows the programmer to determine a sequence of operations that the computer will end up doing. Scratch is often used in elementary schools, but it would be little wise to say that the language is only suitable for children. If you have never written a line of code in your life, Scratch may be a very good starter.

Scratch is free - you can either download a version for offline use, or you can program programs directly on the website.

The BASIC alternative

BASIC is also one of the programming languages ​​that is particularly popular in computer science lessons at school - with conflicting opinions. Some say that BASIC is such an outdated language that the learner will find it difficult to familiarize himself with a newer, more modern language later on. Others, on the other hand, think that because BASIC is so uncomplicated, it offers the best insights into the work of a processor and, thanks to these insights, makes it easier to work with others later and also to understand other programming languages.

In the 50 years that BASIC has already existed, numerous "dialects" have formed. Newer versions of BASIC even include concepts such as block structure and object orientation. For a start, a version called SmallBASIC, with appropriate extensions for graphics programming, works well. You can download this language for free.

Note that, despite the similar name, Microsoft's Visual Basic is basically very different from the original BASIC. The current version of Visual Basic is object-oriented (more on this in the next section) - another possible candidate if you want to study further in this area.

Object-oriented programming languages

Python takes second place in the ranking of the most popular programming languages ​​in school lessons. In contrast to BASIC, Python already takes up more current thinking structures of programming - such as the block structure and object orientation. This makes it more similar to familiar languages ​​like Java, C ++, and C #, which are widely used in the industry. However, Python is considered to be easier to learn.

We won't go into what object orientation actually means at this point, you'll learn that quickly anyway if you learn about Python. Suffice it to say: a good knowledge of an object-oriented programming language is a very useful skill. You can download a Python interpreter for free.

If you want to learn Python, there are numerous online courses such as the “Complete Python Bootcamp” and “The Complete Python Developer Course”.

With the current explosive market growth of Android smartphones and tablets, you could also harbor the desire to develop your own apps. The majority of all apps are written in Java (that's not the same as JavaScript, more on that later). Learning Java could also be helpful in terms of career opportunities, as Android continues to grow in popularity. Java is also one of the object-oriented languages ​​- the step via Python to Java would be logical. If you want to learn Java, you have several options: The Java Developers Kit (JDK) is available free of charge and runs on your PC.

Alternatively, there are various online providers where you can write the code online and try it out on a website - CompileJava is one of them.

If you are specifically targeting Android app development, you need Android Studio and - in addition to the Java language - good familiarization with the Android development environment. So don't rush anything and just concentrate on Java for now.

Most programming languages ​​today are object-oriented. Although the syntax varies between languages, once you have learned one object-oriented language, it will be easier for you to switch to another. If you want to know which programming languages ​​are most commonly used in the industry, take a look at the Ttiobe Index.

Web programming with HTML and CSS

Programming for the web is fundamentally different from anything we've covered so far. Nevertheless, it is worth the effort to learn web programming. HTML “HyperText Markup Language” is generally used for creating rather simple websites, preferably in the latest version HTML5. As a “markup language”, HTML does not compile a list of instructions and commands that are executed in sequence, but rather describes how text and images should be displayed on the screen. The majority of an HTML document therefore often consists of the text that you see on the website - but interspersed with so-called tags. If, for example, the

tag is in front of a text, the following text is displayed as a heading. This principle becomes more complex, of course, the more images, graphics, tables and links you insert.

Validation tools for HTML, CSS and Javascript

The software, which is usually already on your PC, is sufficient to create HTML. For example, an HTML document can be written in a normal text editor such as Notepad - as long as the file name ends in .htm or .html. Because then the document opens as a website in your standard browser. Most browsers now also show you the HTML code of a web page that you have just visited. More professional tools - such as the CoffeeCup Free HTML Editor - offer extended functions, such as coloring tags in the document for a better overview.

HTML forms the basic structure of a website, but you can only get an appealing layout with CSS (Cascaded Style Sheets). An example of how CSS works: HTML can be used to turn normal text into a heading. In the best case scenario, the browser with which the page is accessed uses its default font, size and color for each level of the heading. With HTML, these properties can be manually adjusted individually, but CSS makes it even easier. Because a separate CSS document can determine exactly how each level of the heading should look. And if a change is necessary, you simply replace the CSS document instead of revising the entire HTML code. With a CSS document, for example, every subpage of a company page can be given the same corporate look without having to re-enter the formatting options each time.

Webmaster tools for HTML, CSS, Javascript and web apps

A website based on HTML and CSS is static - only an additional programming language allows you to incorporate dynamic content. So you need to include code that responds to the user's actions. For example, this type of code is executed when you log into a page. Typically, JavaScript is used for code to be executed in the browser or on the client computer and PHP for execution on the server.