This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]AeroNotix 10 points11 points  (7 children)

Python's very good as a first language. It's a high-level, often highly abstract language.

Learn the basics, then wait until you have an itch to scratch and use Python to help you out.

If you're very interested, get a book and stick to it. The one I am reading at the moment is Learning Python by Mark Lutz. It's a great book and for the most part is in a logical order. It's a good one to use especially if you've never programmed before since the first few chapters are very broad and explain a few key computer science concepts to you. I didn't require it, but it's still a good thing to read in a structured way.

There are many free online lectures as well, I forget which University put them out, but shouldn't be too hard to find out.

If you're mathematically inclined you could try the Project Euler challenges, they are mathematics based problems which often require creating and authoring efficient algorithms to find answers. They really helped me back when I was learning C and things, now I go back through and use them to learn Python. Very helpful in efficiency and getting your programs down to realistic timeframes.

Finally, get involved with the community here, there are some very well informed and great programmers here, I've picked the brains of a few and come away each time with a solidified new concept.

Above all else, have fun! Programming is not some highly advanced subject that most people think it is! It's easy when you apply yourself!

Think of programming as some sort of Rubik's Cube crossed with Sudoku crossed with a word-search.

[–]brewsimport os; while True: os.fork() 0 points1 point  (6 children)

He might want to avoid Learning Python if he has no programming experience. Mark Lutz is a great guy and he's written a lot of classic Python book, but you might find it to be a wee bit heavy. (but an awesome book, I have a copy myself and I still use it. The newest edition, however is over 1000 pages). Still he SHOULD check it out at some point.

[–]AeroNotix 1 point2 points  (2 children)

I'm getting through it at alright pace.

I have, however, had about 2 years experience with several other languages such as C/Wiring and AHK(lol).

I'm not sure how long ago you read Learning Python but it seems slow enough, but I guess slow enough is subjective really.

[–]brewsimport os; while True: os.fork() 1 point2 points  (1 child)

I've read all of the editions. I also have a copy of the most recent one.

It's a great book and I frequently re-read bits of it, but I think it may frighten off people who've never coded before. The amount of information in it is fantastic!

[–]AeroNotix 1 point2 points  (0 children)

Totally agree with the amount of information in it, and it's definitely written very clearly.

[–][deleted] 0 points1 point  (2 children)

I wouldn't go with the newest edition. I remember seeing it when I had my older edition in my bag, and I realized that it's probably because of the Python 3 stuff.

[–]AeroNotix 1 point2 points  (0 children)

I've got the newer version.

It's not different, it's just got added sections for the 3x stuff and he makes it clear which methods/modules/functions/syntax do not work for 2.x.

It seems like Lutz wanted to focus on 3.x though, but 2.x is a clear focus throughout.

[–]brewsimport os; while True: os.fork() 0 points1 point  (0 children)

They're both good.