I think it would be very confusing for a child to start with a language so far away from low-level logic.
...And some people said BASIC was evil. At least what it is doing looks plain and direct.
Depending on the person.
For some, it would be very frustrating to start with a language so close to the implementation detail, and so far away from what you want to do. It's very possible that someone might have long lost the motivation before one can do anything non-trivial.
I started from Python, to C, to assembly, to 4-layer circuit boards. Whenever I went a level deeper, it feels like opening the inner working of a blackbox that I normally only interacts with pushbutton on its front panel, but I otherwise is roughly aware of what they do.
On the other hand, much of my childhood was spent on tinkering with PCs and servers, including hosting websites and compiling packages from source, so I was already well aware of the basic concepts in computing before I started programming. So, top-down and bottom-up are both absolutely workable, under the right circumstances.
Why?
I started with C++ and when they showed me C# I instantly feel in love cuz I didn't have to deal with unnecessary complexity and annoyances and could focus on pure programming, algorithms, etc.
but you are confirming my point :) ...You started with C++, then went to C#...
Both: high-to-low and low-to-high have some advantages, but it's not like one is always better than the other.
high-to-low allows you to write stuff earlier - like programs that do something useful, GUI, web, whatever.
but at the cost of understanding internals / under the hood.
On the other hand, it made me think a lot about computer memory, and it makes computer memory easy to work with. Now I’m really comfortable with memory and encodings so that’s nice. I don’t think I would have gotten that by starting with Java or Python.
I agree that its popularity is very odd, but academics take what they are given when attending fully paid conferences (aka vacations).
"Code Persona Attack"
Python is fine.
And they're right. Python is not a well designed programming language - it has exceptions and doesn't have value types so that's two strikes against it.
Of course, C++ isn't either.
It really doesn't have any redeeming characteristics vs. Common Lisp, or Haskell, to warrant this bizarre popularity imo