6 ms·
While I agree that the sample application is something that needs to be considered from time to time, I don't agree that we need to make it look as simple as th
by scorpioxy 13y ago
While I agree that the sample application is something that needs to be considered from time to time, I don't agree that we need to make it look as simple as the ones offered by micro-frameworks.
For one, Django isn't a micro-framework and using it as such, although possible, is probably overkill.
Anybody who has ever seen an MVC pattern or read about it will understand why it needs 6 parts and won't necessarily be intimidated by it. I know I wasn't when I first looked at it.
On-boarding new users needs to be simple and welcoming, nobody disputes that. But this trend in dumbing down everything should not extend to web frameworks in my humble opinion.
- nkuttler 13y agoI particularly disliked the "it isn’t until part three that you finally write your first public facing view" part. Giving views such a high priority is just wrong. The first part of the tutorial covers the dev server, db setup, models and queries. Data models and queries are really at the core of (almost) any Django project, in a normal app most views will just execute queries and send the data to the browser. I think the Django tutorial is an excellent piece of documentation. If somebody doesn't have enough patience to work through it, they probably won't have the time to read the rest of the docs either and will most likely end up writing messy code.
- zidar 13y ago"Giving views such a high priority is just wrong." No, it's not! If I'm trynig to teach someone with wery little programming experience, he'll want to see results. Starting out with something he'll see is what helps to keep him engaged. There is a reason most tutorials start with: this is how you show something, and if you want to sawe data here's how to make ane use a database. Sure doing it the other way around seems natural to you and other web developers, but it's a bad way to introduce a framework to a complete newbie.
- nkuttler 13y agoThe problem I see with your approach is that you have a rather narrow definition of "seeing results". If you want them to see something in the browser immediately, start by teaching basic HTML. You don't need Django for that. QuerySets that are easy to generate are a great result for somebody who has HTML experience and wants to build a data driven website. Making the first step simple will just make it even more frustrating later when they don't understand concepts like objects, modules, packages, inheritance, DRY, separation of concerns, best practices, yadda.
- Myrmornis 13y agoDemonstrating what a minimal example of a django project looks like isn't dumbing down. I would argue the opposite; running startproject and accepting whatever it spews out is the mindset of a dumbed-down programmer. Any programmer should be able to write down a minimal example of whatever they're working on, but personally I had never thought through how to make a minimal django app -- had you?