Ask HN: Python for web development. What next?

10 points by adrianmn ↗ HN
I have taken CS classes about 10 y ago during high school. I have now decided to learn Python.

I am taking the Coursera Programming Fundamentals(very basic), MITx - Introduction to Computer Science and Programming and I also did the Google Academy Python class.

I am learning Python mainly for web developement and maybe some machine learning in the future.

Do you have any suggestions for more material(I prefer video to books but any would do) to study, tailored to web development? Am I too early in the learning process to jump on a web framework and if not what resources should I look at?

If you are asking why Python and not Ruby is because Python has something Ruby doesn't: Nick Parlante as a teacher :)

Nick if you are reading this or anyone can pass it to him it, would be awesome to have you as a Python mentor.

Of course I would highly appreciate any help from any skilled Python developer willing to help me or mentor me.

Thanks, Adrian

15 comments

[ 3.3 ms ] story [ 41.0 ms ] thread
The Udacity CS253 course is geared towards making web applications, was taught by Steve Huffman, co-founder of Reddit - http://www.udacity.com/overview/Course/cs253/

Other than that, pick a web framework and start going through the examples in the documentation.

start with a python micro-framework. I highly recommend flask (http://flask.pocoo.org). Go through their exercise of creating a simple blog. Then start looking at their extensions which are also awesome.
I have seen this advice a lot while I googled for python web frameworks. Wouldn't be more complicated for someone new to frameworks to learn Flask as is not an all in one and I will have to learn few more things: Werkzeug, Jinja 2 ...?
For me, that actually worked better. If you start with a fully loaded framework such as Django (even though it is an awesome framework too), I found it difficult to fully understand whats going on in the background. For example, I personally don't like all batteries and prefer to only have the core web functions out of the box. Flask works for me because it just about gives me enough and not much or too less. I don't want to necessarily build my own WSGI layer but I do want control over how I create/save my user details.

Also you don;'t really need to learn Jinja etc. separately. Flask does enough to get you started. For example, I can easily build routing using app.route() decorator in flask which in the back is using Werkjeug. I honestly don't know much about werkjeug itself (yet) but that did not stop me from building a fully functional web app. Of course, if you really want to get in the details, you learn the individual libraries that gives you flexibility to build a real work production app. YMMV

Did you find any good videos about Flask while learning? I see in your profile that you are/were also in the learning process. Would you like to connect on Skype or via email?
sure I can give you some pointers. My contact info is in my profile (just updated)
I respect this but I definitely think it's not for everyone. My personal style works better when I'm scratching an itch--so I want to build an app, I learn how to build it in Django, and then as I become more familiar or push limits, I starting trying to learn what's going on behind the scenes. That, or I'm forced to, to implement some functionality that's not "batteries."

Mostly I think it's nice to know "this goes here, this goes there" and have nice obvious examples of where to go next.

Just looking at the front page and tutorial for flask, I wouldn't be thrilled about it. Writing SQL, for instance.

Jump on a framework (Django). There's plenty of videos out there, but really the documentation / demo app is pretty nice.

Warning: learning a framework is a lot like learning a language. You have to just memorize a lot of syntax and/or "names" of predefined functions. Where to put stuff, how to do x or y.

It's fun, though. Good luck!

Adrian, I am also following the same path as you have mentioned. I am currently enrolled in MITx - 6.00x online course and I too would like to use Python for web development. If you are looking for more meaningful material on Python I would suggest visiting the (http://www.realpython.com/) website and download the e-book ($14). This book is full of real time python usage and it does cover web-development as well. Not sure whether you've heard about it or not but the idea of RealPython was kinda hit on Kickstarter few months back.

It looks like our goal is somewhat similar and if you want to discuss more about learning Python then feel free to drop me an email (see email id in profile).

Good Luck learning Python.

I did not hear about realpython so thanks for the link.

The email is missing from your profile(only the about me field is public). I have added my email in my profile so you can contact me.

Assuming you know web stuff already (HTML, CSS, maybe some JS), you could start working with something like Django or Flask. Django has a lot of stuff built in, where Flask is on the other end of the spectrum. If you don't know at least the basics of HTML and CSS you should check out the comment by carlsednaoui[0].

The Machine Learning uses are pretty interesting too. I'd be curious to see what libraries are recommended for that. PyBrain, maybe?

0: http://news.ycombinator.com/item?id=4668944

I know html, css and some javascript.

So what are the pros and cons of starting Django or Flask? Maybe I should make this as a separate HN question.