The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
Frank, Honestly my first language was BASIC (on a Timex Sinclair, no less). Having programmed in over 30 languages and more than a few "custom" languages, I like the idea of Python for a first language. (C was always my favorite language, but is requires running before you can walk for most new programmers).
Here is why I like Python: 1) It teaches INDENTATION (and requires it), which makes code more readable to humans, a big point for beginners 2) It is quite forgiving, and does not require that ; 3) It has the basics, and even the advanced iterators 4) You can leverage libraries very early, very easily 5) It can grow to handle large problems
And frankly, the argument over what language is best is TOUGH. Whatever language someone is teaching, and if you enjoy the class, and really sink your teeth into the work, it really does not matter that much.
I think of the language as a TOOL, like a TYPE of Hammer... The problem, many times, screams for a specific language.
I learned this lesson when I tried to write a BASIC "renumber" program using COBOL (ANSI 76 Cobol). I gave up. The string handling/parsing was near impossible for me. I was still in high school, and I challenged myself. I switched to Fortran, and it got was easy. I always felt it would have been easier to use the MACRO-11 Assembly over Cobol (and later when I taught myself the Assembly, I realized it would have been).
So, don't get all religious on the choice of the first language. As long as he doesnt get a disease from his "first", he will be fine, and able to choose better according to the problems he has to solve.
Instead encourage him to READ a lot of the code, and IMPLEMENT something interesting.
Programming is more about how you solve the problem, not what language you use. If the teacher can teach this process best with python,then go for it. I've coded in multiple languages (including python) and the syntax is rarely the issue for me.
I think you're overthinking this. What he needs to do first is to learn how to be a good programmer -- the language doesn't matter. If he's an awesome Python programmer, how long will it really take him to pick up C#?
Good programmers can learn new languages fairly quickly, especially if they are to use on the job with others who know the language.
Also, it not be a bad idea for you to learn Python. For your next personal project, try using Python -- real Python, not Iron Python, and see what you think. In the end, it will make you a better C# programmer.
Give yourself one afternoon and watch these two videos: http://youtu.be/tKTZoB2Vjuk[^] and code along with it. You'll know enough to write Python code after that.
I haven't used Python for long, still I think it's clean and friendly enough to be a good choise to learn programming. Sure I think it may not be the best option when talking about market share, but if you really like programming, you will learn a new language; it has never been a stoper for somebody that really likes programming. And Python will give you a fine setup for everything else.
There's also the advantange of knowing a scripting language to do those little or repetitive tasks that sometimes big languages are not the fastest (on development time, at least) options or the best fit. For example, I like Ruby when it's time to process text files.
If we are talking about the languages used in "the real world", why has nobody said a word about Java? From my understanding, Java is the most widely used language (if we take apart C/C++ since it is innecesarilly complex nowadays, at least for line of business applications). I'm mainly a C# developer, so I can't say a lot about Java, but I can't deny its importance in the business. What do you think?
Amazingly indestructible wish my D7000 would have been as much. It's in the repair shop now because it got partially submerged in the lake. I dried it for 4 days and it almost worked but wouldn't take pictures...damn. Hoping I get it back before camping trip in 2 weeks! Man I am lost without it, I can do without my cell phone but feel naked without the camera.
If first you don't succeed, hide all evidence you ever tried!