Python is good because it’s pretty ubiquitous these days. Even if you don’t write in straight Python from scratch (and very few programmers write from scratch – most coding starts off with copy/paste, customize, copy paste customize) – it’s important to be able to read it at least.
There’s kids programming books on Python up to advanced. They teach it from elementary to university to senior citizen classes. It serves the purpose that BASIC used to hold.
I learned BASIC first, so it stuck with me. At one time I would’ve suggested BASIC first then move to Pascal then to C – but that was a long time ago because BASIC is less common, Pascal is uncommon although C is still around.
Now I’d start with LUA (game scripting) or Python and then go on from there.
If you do gaming, LUA is a great start because you can do really interesting things in your games with it. I’d recommend LUA for people whose favorite games support LUA scripting.
But Python is good overall. Do I gripes about it as a language? Sure, but I do with every language. Still, it’s solid. As far as “what version?” Well, whatever the tutorial you happen to like uses.
I never mastered Python fully. The way I use it is: There’s something I want to accomplish. “Oh look, the only way I can do it is by using someone’s Python code”.
So, I get the code. I try to use it. Doesn’t work because my Python isn’t EXACTLY like theirs. [lots of extensions to Python]. So I fiddle with my Python until I can get it to work. Oh, but it was written for Python 3 but with 2 in mind as well. Ok, now I have to learn what to REMOVE from the code to make it work.
Then, a couple of hours later, I get it working.
That’s my usual experience with Python.
For tutorials? Pick any one of them that looks good to you.
If you like the look of that Python book you saw, use that. Any tutorial you like will get you there. I know the ‘gist’ of Python but could I make it add 2+2? Not off the top of my head.
The good news is: Once you learn a computer language, as long as it’s some sort of imperative language (DO THIS, DO THAT, DO THE OTHER THING), you can learn the ‘gist’ of any of them.
Now I don’t know if this is everybody, but I think the first language you learn you’ll be able to write in your sleep eventually.
I could write BASIC in my sleep. With Line numbers.
10 PRINT “hi there!”
20 goto 10
’cause that was my first. Of course BASIC was *designed* to be easy to learn and use. It’s really the only language that had that specific goal in mind. But, it’s out of fashion and the GOTO keyword is anathama to programmers today Yet, you look at BASIC and it’s easy to understand.
Then again, it’s because it was my first language. Catch-22. I’m not objective.
So, objectively, Python.
If you want to learn to “think like a programmer” though – and aren’t looking to master syntax of a particular language, consider going through https://scratch.mit.edu/ and making a few things. It’s different in that it’s visual but because it’s used by kids and teenagers in the millions it’s proven. It’s made by MIT specifically to help your brain “think like a programmer”. Thinking in loops and variables and stuff.
Plus you’re messing with sound and graphics right away, so it’s fun.