Hacker News new | ask | show | jobs
by spez 4467 days ago
Steve, the Udacity instructor, here.

I actually deliberately didn't use Django specifically because it's so complicated for beginners (and for pros, IMHO). I was trying to avoid magic. Webapp2, which is the web framework GAE users, and what we used in the course, is about as simple as you can get without starting from scratch.

5 comments

Hey Steve, thanks for your work in this course. It's a terrific thing for you to do and it's my favorite course to recommend to beginners to webdev.

That said, the webapp2 decision is by far my biggest hesitation in recommending it. Webapp2 just doesn't have the community support; whether django is too "heavy" or flask too "light", they're both popular, which means they have great support, plugins, help on SO, and a lot of developers familiar with them.

Webapp2 also hasn't seen a release since 2012[0].

I write this having recently completed a small consulting project where I helped a team on GAE move from Webapp2 to django. The productivity gains just from using django plugins and builtins was insane. They had been on webapp2 because their dev learned webdev on your course, and I think he would have been much happier had the course included a more widely used framework. Lock-in on Appengine is also a major issue; the work to move off can be enormous, especially if you're using a framework designed for GAE.

Again, I totally understand the decision to use webapp2 and the course is still a huge net positive. But if you ever think about revising it, I'd recommend considering another framework, and possibly even using Elastic Beanstalk.

EDIT: I understand django can take a little more to get up and running, but most people learning Python are going to have to learn it very soon anyway. I learned how to program by doing the django tutorial, and didn't find it burdensome at all.

[0] https://pypi.python.org/pypi/webapp2

Sure, in the right hands Django (and Rails) and yield major productivity boosts.

I personally don't like working in frameworks of that size because I find myself fighting them to do what I want.

For the course itself, I really wanted the students to get as close to the server as possible. Then, when some of them switch to the heavier frameworks, they'll have a better idea of what the framework is doing and what is possible. The course had a time constraint on it as well.

All in all, your anecdote reenforces my feelings on the topic :)

Fair! Thanks for your response.
Steve, please know that I am forever grateful for your work in your excellent Udacity course. It began a path for me that recently led to me changing careers to become a full time programmer.

Whatever people might say about webapp2 and App Engine, I think they were the right choice for the course. I had no problem moving on to other frameworks or moving away from App Engine, having gotten a solid understanding of the concepts from your course.

Once again, you have my sincere thanks.

Hi Steve, I'm the author of the path and a big fan of your course - thanks so much for putting it together! However I would like to echo @rattray's point - when I started learning as a complete newbie to web-dev, I found Django much easier to pick up, less intimidating and more satisfying than Webapp2. The Udemy course I have included later teaches how to put up a simple landing page using Django/bootstrap and in 3-4 hours - you have tried frontend, backend and all. The joy of making something real, even if simple is a big motivator and confidence-booster, which IMO is key to self-learning. I actually started with your course, drifted away in the middle, and then came back after finishing the Django course.
Hi Steve, thanks for teaching! I really enjoyed it. I'm not sure I misremembered it as Django; maybe I had confused it at the time with Jinja? I was quite a newcomer then (still am in some respects, but much less so). Which of course means that to a certain degree, my confusion was simply par for the course. I know it's difficult to write a curriculum that completely caters to thousands of students, and I want to emphasize that you guys did a great job. There were a few topics that I would have liked to have covered that I didn't come to understand until later. I guess you can always go deeper on a subject, though.
Steve -- Wow, I have to admit I'm a little star-struck by your comment here. Your course is easily the most awesome single resource I've found for learning web development -- thanks for your work on it!