Ever since the software was invented text-based coding had always been, and still remains, a code that requires writers to obey and conform to formal syntax. Yes, it uses old-fashioned symbols, letters, and numbers. Despite this, it is still the most widely-used coding method and continues to be learned and used by people all over the world. New languages gain popularity and fizzle but insofar, for creating software that we use in our everyday life’s, they all are text-based platforms.
Although text-based coding is less visual and has higher standards for users’ knowledge of computers, our programming courses presented in a way that students as young as age 9 can follow along and have a fun time learning. The main two advantages of this approach are that: Firstly, students interest is kept for longer as they are learning to create real software programs; and Secondly, exposing kids to text-based programming languages early is that the syntax of a programming language is like the grammar of a foreign language –the earlier kids are exposed to a language, the easier (and more intuitive) it is for them to comprehend and master.
Here is where it gets a little tricky – there are more than fifty types of text-based programming languages and thousands of actual languages. We will only glance at the Compiled, Interpreted, and Object-Oriented Programming Languages. Very briefly, here is how they differ:
- Compiled Programming Languages – these are programs that require to be “compiled” first before they are run. This means that you write your code out (lets say in C++). Then you use another program to parse that code and pack it up into an executable running program. After being “compiled,” the program cannot be edited anymore. This means that even if a programmer writes wrongly a single bit of syntax, the entire program will not perform as it supposed to. You then have to go back, find the error and fix it. Then repeat the compiling process again before the software is ready. The fact that the code cannot be altered, however, has its advantages.
- Interpreted Programming Languages –they are also called “run on the fly”or code is “interpreted” as they go. A lot of what powers the cellphone Apps or the World Wide Web run on interpreted language programs. Compiling every bit of code to run apps or web pages would be an enormous (and impossible) task. Java, Python, PHP, and JavaScript are some of the interpreted programming languages allowing as to experience apps and websites as we know it today.
- Object-oriented Programming Languages – they view the world as a group of objects that have internal data and external accessing parts of that data. The aim of these programming languages is to think about the fault by separating it into a collection of objects that offer services that can be used to solve a specific problem. One of the main principles of an object-oriented programming language is an encapsulation that everything an object will need must be inside of the object. This language also emphasizes reusability through inheritance and the capacity to spread current implementations without having to change a great deal of code by using polymorphism.
And it gets even more confusing –one can technically run interpreters and compilers on many languages traditionally considered top fall within the above two categories. For example, JavaScript can also be compiled. And to top it up some consider scripting languages such as HTML and CSS as “programming” languages which in fact they are not. (HTML identifies how a page should be displayed. CSS (officially style sheet language) is similar as evident from the full name.
We cannot single out (at least at present) a programming language that is better than the others. Each language has its strengths by better performing specific tasks in comparison to the other languages and shortcomings in different areas. Maybe your child will be the one able to develop a universal coding language. The languages we selected to teach at present are leading providers of specific solutions their respective areas. This brings us to the second very important question:
Q3: What coding language should I get my child to learn first?
A3: Based on everything we said above, no wonder there is no straight forward answer. One thing is certain – sparking children interested and creating sound fundamental understanding of computer/cellphones programming at an younger age has many positive long-term benefits. Languages are popping-up with increasing frequency. Considering this, nobody knows for certain what languages will be in highest demand by the time kids graduate. If they know one language, however, all other programming languages can be learned a lot easier.
We can use, however, the following rule of thumb – children can start exploring by using Visual Block Platforms before the age of 10 yo. There are many Visual Block Platforms. Each of them has its advantages and is better at achieving certain goals. Some are incomparable simply because they are for different platforms. Nobody ca say that one is better than the other. There is something very useful your child can learn from each one we selected to teach: