Friday, June 01, 2018

Which Computer Programming language[s] should we focus on for education/ capacity-building?

For several years now, I have advocated for using Java as a first programming language for computer science education (with side orders of HTML, linked Cascading Style Sheets stuff and some Python). My reason for that is, it is a widely used, freely available general language that stresses Object Oriented Programming and is C-family. 

My underlying concern, of course, is that our region -- the Caribbean -- has to make a transition to becoming far more productive with digital technology, which requires making the step change to being able to program computers in a modern language. 

I am convinced that a suitably designed three credit, semester-length course can do the job. (See my long-term work in progress here. Observe Units B and F. I also recently ran across a good source for constructing my intended key case study and DV will be moving ahead. I am still looking for techies.)

 Now, recently, I have been wondering if that approach is still "about right" and went looking at some info on most popular or top computer languages.

Let me pause and note on how infrequently I have been posting recently:
Pardon that lack of regularity, I have been busy on multiple fronts, especially after the passing of my Father. I hope to be more frequent, especially as I rebalance to address prophetic intellectual and cultural, transformational leadership in the region and the need for the churches to get serious about being embassies of the Kingdom of God. That will take a little while.
Back to the post that is already in progress (and for which a cluster of tabs has been open in my main browser for several weeks) . . .

Of course, different ratings give fairly different answers but a major popular rating is TIOBE, and it puts out a graph (HT, Wikipedia):

Obviously Java has been dominating the number one slot for the past 15 years, with C and C++ being below. C# I gather was quite close to Java but has moved away in recent years.

Given the web presence of JavaScript, that language, too, seems to be important.

So, it looks like going Java as main introductory language with Python and JavaScript as immediate onward languages seems to be a viable approach going forward -- that sounds like a course sequence emerging. Where of course, HTML basics, some CSS and odds and ends will be helpful. I also think plug-in packages ("libraries") for math, statistics and science will be important. However, there are specialised languages out there such as R for statistics, Math CAD, Mathematica etc. 

The issue is to open a door, not to pretend that there are no valid alternatives or powerful specialised things out there. But if we are to open a door, let it be a/the main door. END