

Learn Core Python in a Week – My Way - curphey
http://www.curphey.com/2011/07/learn-core-python-in-a-week-my-way/

======
sukhbir
I really wonder why no one mentions the official Python tutorial
(<http://docs.python.org/tutorial/>). That is by far, the most concise and
easiest to understand Python tutorial I have ever come across. For those who
run after multiple sources and 400 pages books, give the official tutorial a
read. You will not even feel at looking at another Python introductory book
again. I speak from personal experience and based on the feedback from the
people I recommended this -- they simply love it. As talk is cheap, don't
listen to me and go ahead and give it the first few pages a read. You won't
regret it.

~~~
myegorov
...is the tutorial any shorter than 400 page books?

~~~
sukhbir
With the tutorial, you just need to read till Chapter 9 as the continuing
chapters handle the stdlib which serves more of a reference once you know the
language. Point being, you start writing Python with the official tutorial
much earlier as compared to any introductory book because the tutorial teaches
you what you _just_ what you need to know.

------
pyre
I find it telling that even though the entire article focuses on outlining a
way to spend ~1 week to learn 'core python,' the only two comments so far
focus on his choice of Python over Ruby, which is ~2-3 sentences in the entire
article (and said in a very 'this is my opinion, ymmv' way).

------
mikeocool
Stop debating whether Ruby or Python is better and learn both. They're both
great languages and they're super similar, so once you've used an in-depth
technique like the one outlined in the article to learn one, you can learn the
other super easily in a lot less time.

If you know both, you can make an informed decision and choose the right tool.
Even if you're using Django to write your webapp, you'll be able to use Chef
for configuration management. If you're about to embark on writing a new
project, you can choose the language that has the most mature libraries for
your problem domain.

You also won't have to rely on all of the apparently subjective things people
say in comment threads about which language is better when choosing one.

While you're at stop saying how bad
C/C++/Java/Scheme/PHP/javascript/haskell/C#/Cobol and learn those too (ok,
maybe not Cobol).

Remember a few years ago when everyone was all hating on javascript? Now, all
of sudden it's the awesome lingua franca of programmers and the language
hasn't changed a bit. The perception changed because some smart people learned
its strengths and wrote good libraries and runtimes based on those.

------
gary4gar
Why is everyone making this Ruby vs Python? which is unproductive discussion.

I think the article has some good tips for people learning any new language(it
can be python,ruby or anything). The tips most useful according me are:

1\. Dedicate fixed time for learning

2\. Find Good mentor.

3\. Use recommended development practices from Day1

4\. Learn Core Language first, then try frameworks

5\. Write Code(that's the only way!)

~~~
StavrosK
I think that Ruby vs Python is the most useless debate ever. They're similar
enough in design and capabilities as to not matter which one picks, so arguing
about it is moot. Just pick one and go with it, and if you want to learn
another, try a lisp.

------
michaelschade
Great write-up, and nice to see another's experiences. Obviously these are all
just tips and don't all have to be followed, so I do want to point out that I
disagree with the idea of paying for an instructor–at least initially.

One of the nice things about the open-source community and having a great
ecosystem around <insert language> is that you can hop on IRC
(<http://www.python.org/community/irc/>) or find your way to the mailing lists
and there will be at least a few very smart people overjoyed to help you
learn–as long as you put in the initial effort, try the problem yourself
first, and _then_ ask for help (and be willing to listen to their advice).

Then, if you go through all of that and try really, really hard, be patient,
ask for help, and still find yourself lost, maybe seeking an instructor is a
good idea. I'm just saying to beginners that I wouldn't jump to that right
away.

Overall, nice writeup, and thanks Mark for sharing your experiences and being
willing to push your own boundaries and learn more! Yay for not falling into
the abyss of managerial stagnation!

------
civilian
I took the UW course that Brian Dorsey taught, the professor helping the
author out. He's a fantastic professor, the Think Python textbook is
phenomenal, and I'm sure he'll do fine.

------
wyclif
Don't use an IDE if you're learning, that seems like a mistake to me. Just use
a text editor of your choice and the shell.

------
neduma
ahhh.. he said, she said.

i really love to read very good illustrations of how ruby developers being
arrogant for noobies.

------
artursapek
It's interesting what he said about choosing Python over Ruby. I made the same
choice this past week. My friends and I are trying to start creating a web
service off an idea we had months ago and while they were all talked into
learning RoR, watching them struggle to even install Rails on their machines
as well as horror stories about Ruby's constant version updates made me choose
to learn Python instead. Zed Shaw's famous rant/article played a role in my
decision too, and this article seems to support what Zed said a couple years
ago about the community being "arrogant" and difficult.

(Now my friends and I are learning separate languages and planning to work on
the same product, and I'm actually curious how/if this will resolve itself...)

------
dimmuborgir
The problem with Python community is, when comparing Python with Ruby,
Pythonistas give almost no objective reasons to prefer Python but give many
highly subjective (provoking) opinions, like the following:

1\. Zen of Python. _(since Ruby doesn't adhere to it, it's bad)_

2\. Python community is less arrogant compared to Ruby community. _(painting
millions of Ruby programmers with the same brush based on an IRC chat they
had)_

3\. Google loves Python. _(is that even a reason?)_

4\. Zed Shaw said so-and-so against Ruby/Rails which I _want_ to
believe/agree. _(fan mentality)_

~~~
StavrosK
What reasons do the Rubyists give?

~~~
rohitarondekar
They don't. They are busy having fun coding. :)

