Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I can see both sides of the conversation here. If you have built web applications in other languages, and using other frameworks, the existing Django tutorial is perfectly fine. You know there are many pieces that need to work together to make a meaningful web application, you have a sense of what those pieces should be, and you can make sense of each piece as you read about it.

For someone new to programming, and new to developing web apps, the tutorial can be intimidating because you read about a bunch of parts that don't show anything through the browser for a while. This approach is different; it puts everything in one file so the student can see something in the browser right away, and then builds complexity on top of that. If done well, this is a really good approach. I expect that, in the more complete development of this approach, the student ends up with a project similar to what we see in the official tutorial. Taking a simplified, single-file approach and then pulling out the pieces as you add complexity is a perfectly reasonable pedagogical approach. I think this approach can even work for people coming at Django with experience in other languages and frameworks. The authors are not pretending that Django is simpler than it is; they are just presenting it in a simplified way initially, with the full intention of getting into all the necessary parts to build a complete application.

I think we also need to remember that when we write tutorials and books about Django, we are really preparing our readers and students to dig into the overall Django documentation for themselves. That documentation is thorough, and if readers leave this book with an ability to make sense of the official documentation, the authors have done their job.



> For someone new to programming, and new to developing web apps

Such a person is going to have a hard time regardless. I think it's much better to become proficient in a single (Turing-complete) language first.

The Web is a total mess -- a typical web application requires you to know, at a minimum, HTML, CSS, JS, your server-side language of choice, regular expressions, and SQL.


I agree. Let them use PHP if they just want to get something up and running - that's what it was designed for.

Django on the other hand is for more experienced web developers that want to do things correctly. And it adds another layer of complexity on to the list of technologies you mentioned.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: