Python is best choice as first language.
Not my opinion. Just fact.
What you represented here is opinion- the only fact here is that you are presenting the opinion of somebody who wrote down some thoughts in 2003 as a source of objective fact on the matter. The cited article provides zero objective evidence supporting the claim that certain languages (in this case, it lists Perl, Python, REXX, and Visual Basic) are in some way better than other languages; most interestingly, it also labels Visual Basic a "Scripting Language".
The former are statically typed, usually compiled, and represent a modest abstraction from the underlying machine. The latter are dynamically typed, usually interpreted, and very high-level.
The issue being that this doesn't actually present two mutually exclusive options, because many languages have attributes that fall into both categories; additionally, we have the added issue of ambiguity and vagueness; it says that the latter (scripting languages) are "usually interpreted"- what does that mean? How much interpreting is the cutoff? is C# a Scripting Language? is Java? if you compile C to P-code- so it get's interpreted at run-time, does it become a scripting language, and if it does, does that not make the label redundant enough to be entirely useless? By the definition given here, practically any language that doesn't compile directly to native code is a "scripting language"; but does that not completely surpass the actual word being used? That is, would it not be expected that a scripting language's primary purpose be for- I don't know-
scripting. Instead, what we have is a mathematician coming up with arbitrary word definitions based on prior art (also made by mathematicians) to try to buttress a subjective opinion enough to make it actually appear to have objective merit.
It then supports it's thesis that Python is better for this purpose than other languages with a few arguments:
-Python is simple
In this section, it discusses that python is simple, and it demonstrates this with an example that is trivial enough to be useless. Assembly is simple to. Heck that exact example would be equally simple in c- a puts("string") does the same thing. It tags certain approaches (eg Java's requirement that all things be in a class) as "worse"- Worse than what? in what way? Why? It doesn't explain that. It then supports a further thesis that Python is simple to understand; in particular, it starts with Python's Variable declarations being optional-
-Python is safe
This argument surrounds Python's use of a Garbage Collector and run-time checks. This presents a curious definition of "safe". If anything it is better because it gives you a useful error message, rather than segfault or related error/crash. It's also the case that while GC'd languages with these sort of run-time capabilities were only just hatching proper in 2003, now about half the languages used in the world fall under their "scripting" definition and use Garbage collection (Java, Javascript, Typescript, CoffeeScript, Python, Perl, C#, VB.NET, F#, Boo, Haskell, Scala, Groovy, D, Clojure, etc.)
Semantically, Python is also simple. Python is dynamically typed, so there is no need for variable declarations. This reduces the amount of code that students have to write and also eliminates common errors stemming from misunderstanding the subtle distinctions of declaration, definition and use. For example, students in C++ and Java often ``accidently'' redeclare variables where they really only want to use them (typing int count = 0; when they mean count = 0). Such mistakes can be hard to track down.
I bolded the relevant section here; considering that precise mistake that is described is going to be a compiler error on pretty much every language that has variable declarations, it would seem that argument is demonstrably false.
No, no, it is not my favorite language.
Python is now the choice for new students. Read the article.
Python is an excellent language, however, it's worth noting that the article is simply presenting arguments as to why Python might be preferred. It doesn't present a roadmap for switching curricula to Python nor does it describe present implementations.
Also notable: it was written 11 years ago, if web.archive.org
is any indication. I was tipped off that the article was probably old by the first paragraph which mentions Pascal.
Most CS cirricula use languages like Scheme (mentioned therein) and Haskell; I'm sure some use Python, others use Java, C, C++, and so on and so forth. The fact is there really is no "best" beginning programming language to become a programmer, any more than there is a "best" beginning cake somebody should eat to properly enter the world of cakes.