I'm going to throw some two cents into this.
The biggest thing I have to say about when learning programming is
the language is irrelevant. It doesn't really matter what language you use, as you can learn the basics of programming from almost any language. I had my start with TI BASIC and VisualBasic, one that's never used in any serious capacity and one that for some reason still crops up in job postings (it's not really used outside of maintaining some old VB app or Office macro). As long as you learn things like how to go about developing algorithms and know how to structure your code well, then I'd argue you're learning how to program. Language "features" (for lack of a better term) like object-oriented or whatever are just tools to facilitate the basics.
On that end, if someone were to ask me the burning question of "what language should I start with" and they're starting from scratch, I say Python for the following reasons:
- It's stupid easy to setup and get going. You basically install it, open a command line, type "python" and you can start coding.
- You can move from the interpreter to source files with ease
- Since it's multi-paradigm, you can start with procedural programming like C, then move onto object oriented like C++ (though the object oriented feature in Python feels tacked on as an afterthought)
The only gripe I have with Python is that it's a dynamically typed language. Meaning that you don't have to declare what kind of data a variable is. While this is nice from a convenience point of view, it can be a pain in the butt.
Otherwise if you have some idea what kind of apps or whatnot you want to do, start with something closer to that. For instance if you're wanting to get into web page or web app development, I'd recommend starting with JavaScript, despite how headbanging it can be at times.
But just remember, the language is irrelevant. All that matters is you learn the basics. If you're working from examples, take care to read beyond the code samples