Re:Learn Core Python in a Week – My Way
by sukhbir on Sunday July 17, 2011 @06:22AM
(#2773018)
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.
Re:Learn Core Python in a Week – My Way
by homofaber on Sunday July 17, 2011 @06:33AM
(#2773031)
This was true for me too, it was just called 'Learn Python In One Afternoon' and it was true.
There is need for other short begginer tutorials, simply because we are all different, but for majority of people official tutorial will really be the best place to start.
Re:Learn Core Python in a Week – My Way
by sukhbir on Sunday July 17, 2011 @02:16PM
(#2773822)
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.
Re:Learn Core Python in a Week – My Way
by pyre on Sunday July 17, 2011 @03:58AM
(#2772801)
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).
Re:Learn Core Python in a Week – My Way
by mikeocool on Sunday July 17, 2011 @11:44AM
(#2773474)
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.
Re:Learn Core Python in a Week – My Way
by StavrosK on Sunday July 17, 2011 @06:14AM
(#2773012)
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.
Re:Learn Core Python in a Week – My Way
by michaelschade on Sunday July 17, 2011 @04:27AM
(#2772839)
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!
Re:Learn Core Python in a Week – My Way
by civilian on Sunday July 17, 2011 @05:03PM
(#2774193)
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.
Re:Learn Core Python in a Week – My Way
by artursapek on Sunday July 17, 2011 @02:44AM
(#2772727)
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...)
Re:Learn Core Python in a Week – My Way
by dimmuborgir on Sunday July 17, 2011 @04:46AM
(#2772861)
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)
Re:Learn Core Python in a Week – My Way
by true_religion on Sunday July 17, 2011 @05:16AM
(#2772919)
Ruby and Python are very very close. When I initially chose Python to me it was a like a choice between chocolate ice cream and raspberry---one can't really critique something so subjective.
However as time has passed by and I have become competent at Python, I see some clear wins for Python where Ruby lags:
1. Machine Learning with PyML, et al. Python has some of the best tools for scientific programming by far.
2. Two order of magnitude improvements for numeric code using either:
- NumPy
- Cython
- PyPy
3. I prefer Cython to integrate C/C++ code to using any form of FFI.
Yes, the cultures are different but that rarely affects beginners.
Re:Learn Core Python in a Week – My Way
by espeed on Sunday July 17, 2011 @05:49AM
(#2772974)
Here are the reasons I recommend Python over Ruby:
* Python is easier to learn (not much syntax)
* Easier to read (explicit vs implicit)
* Has a bigger ecosystem (more packages/libraries)
* Taught at universities so it's easier to find good programmers to help
* More research/resources going into to its development (e.g. PyPy)
* Used by more websites/companies so its easier to find jobs
Re:Learn Core Python in a Week – My Way
by Troll_Whisperer on Sunday July 17, 2011 @01:00PM
(#2773637)
As a relative newb, who got his first real experience with AS3 (flash games), I've put some serious thought into this issue. I've seen that job chart come up a number of times, and it's true that python is bigger now. But clicking on relative gives a startlingly opposite picture:
For now, since I've gotten a programming job (yay!) at an iOS shop, I've gotta work on Obj. C. But when the time comes to really get good at a higher level language, it's hard to say which way I'll go.
Re:Learn Core Python in a Week – My Way
by dpritchett on Sunday July 17, 2011 @03:34PM
(#2773978)
I've also noticed that python listings on Indeed.com are often optional automation skills for sysadmin or build coordinator jobs rather than pure programming. These are valid jobs but hardly comparable to the dev jobs listed for other languages e.g. "Ruby Developer".
Re:Learn Core Python in a Week – My Way
by zedshaw on Sunday July 17, 2011 @01:36PM
(#2773720)
I tell people to learn both, and I fucking hate Ruby. It's the way of the industry right now that if you want to easily get a job, you know Ruby and Python. I also think Ruby is slowly going away and Python is taking its place, but we could debate that forever and a day.
There is need for other short begginer tutorials, simply because we are all different, but for majority of people official tutorial will really be the best place to start.
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.
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!)
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!
i really love to read very good illustrations of how ruby developers being arrogant for noobies.
(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...)
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)
However as time has passed by and I have become competent at Python, I see some clear wins for Python where Ruby lags:
1. Machine Learning with PyML, et al. Python has some of the best tools for scientific programming by far.
2. Two order of magnitude improvements for numeric code using either: - NumPy - Cython - PyPy
3. I prefer Cython to integrate C/C++ code to using any form of FFI.
Yes, the cultures are different but that rarely affects beginners.
* Subjective
* False: http://modulecounts.com
* Some American universities.
* Agreed.
* Statistics please.
http://www.indeed.com/jobtrends?q=python%2C+ruby&l=&...
For now, since I've gotten a programming job (yay!) at an iOS shop, I've gotta work on Obj. C. But when the time comes to really get good at a higher level language, it's hard to say which way I'll go.