I will start this post by stating that I am used to write computer programs in C++. It’s the language I have learned at college, and I am quite comfortable with C++. Hence it is unlikely that I will abandon this language anytime soon.
Personally, I think there too many different programming languages out there. In my humble opinion, only a few programming languages are necessary to do the programming work the world needs. Learning multiple languages does not seem to make sense to me, as most stuff can be done in C++.
Nevertheless, I am curious about the other languages. Today I have installed a python 3 IDLE, and I wrote three small programs in python. Save for a few struggles with syntactic issues, I really like the language.
Python is a neat and relatively simple language, and for that reason I think it is a good language to learn computer programming. Because programming in python is quite straight forward, it is quite suitable to teach fundamental concepts to high school students.
Unlike C++ or Java, a program in python needs as little as one line of code to be functional. For instance:
is a complete, albeit a little simple, program in python. While the corresponding program in C++ would be:
using namespace std;
There are several ways to write this program in C++, but this one is among the shorter ones. Personally I have no problem with the C++ format, as I generally use a template when writing a program. Nevertheless, the amount of stuff one need to include in a C++ program are cumbersome to young and inexperienced programmers.
In python you can easily demonstrate an if-statement, a while loop and the like, just by writing these thing and run the program. Since python does include the most basic concepts of programming languages, it is my conviction that people who have learned programming python would learn other languages such as C++ more easily.
Though I like python quite well, I am not planning to switch from C++ to python (entirely). I see no reason for that, not in the least since I have a sound understanding of C++.
What are my current programming projects? Well, as refreshing I am working on a simple program which can manipulate complex numbers. But more exciting is that I am working on a video game. Though that will take some time, I intend to have a simple text version of one part of the game by the end of next month.