4 ms·
I know you are a smart guy, but I totally disagree with almost everything you said: 1. Django has a steep learning curve -> Django has a learning curve for ha
by andrewljohnson 16y ago
I know you are a smart guy, but I totally disagree with almost everything you said:
1. Django has a steep learning curve
-> Django has a learning curve for hard stuff, like context processors, complex queries, fixtures, etc., but if you just want to make a simple website fast, then Django is easy. Python is simple to understand, Django is extremely well-documented for beginners, and there is a lot of out-of-the-box functionality to work with,
2. Django speeds up the start of the project, but afterwards development gets slow. Real slow.
-> I haven't found this to be the case. I have found that if you make poor design decisions at the beginning of a project, it will crawl to a halt regardless of the language or framework involved.
3. Impossible to find django programmers that are not horribly expensive
-> Never tried, can't comment.
4. The django app model makes code a mess. It's a horrible model and does not create reusable code.
-> There's a difference between reusable code and reusable apps, and Django apps lead to the latter.
5. Django is instable. I have to restart my server ever minute when running Django
-> Not me... sounds like you don't use mem-caching.
6. If you use something like Pinax, the amount of memory django consumes is massive
-> Can you benchmark this against a RoR or Joomla... I think this is unsubstantiated.
7. Your site may run fine with normal traffic, but increase to about 100 a minute and the site starts giving bad gateway errors. Be CONSISTENT in your errors, django
-> mem-caching!
8. The django people are slow. It has been years and django has barely changed
-> This is crazy. Django is being actively developed... 1.0, 1.1, 1.2 were all about a year apart and this involved massive improvements including stuff that personally mattered to me like geo-django being rolled into trunk.
9. The templating scheme cannot be outsourced. You need a programmer to understand it
-> I have yet to find a good designer I could outsource any sort of HTML/CSS that didn't cost an arm and a leg.
10. The nifty tricks they have to render your pages with shortcuts are very difficult to understand. Really difficult to understand
-> I don't understand what you mean here.
Django is not a nice framework. I believed in django for two years, but I've moved on. It's a good theoretical framework, but it's a terrible practical framework.
-> works on my box!
- bryanh 16y ago10. The nifty tricks they have to render your pages with shortcuts are very difficult to understand. Really difficult to understand -> I don't understand what you mean here. I tend to concur with your lack of understanding. Does he mean render_to_response? direct_to_template? I mean, jeez, their functionality is pretty much obvious in the naming.
- nir 16y ago(Not OP, but I do work with Django every day for the past couple of months): 1. Django docs, while great compared to many other projects, are still quite lacking, especially in examples. 3. It's probably true, compared to the quantity of PHP coders out there. The average Django dev is probably better than the average PHP dev - again, quantity - but you don't always need the skills/costs of a really good dev. Sometimes you just need someone to install & customize Wordpress. 5. Not sure how memcache is related to that, but in any case - if your app can use significant caching, framework/language performance isn't an issue to begin with. 6. I don't really get the Pinax - RoR comparison. 7. See 5. 8. Honestly, coming to Django from RoR, and knowing that they both got going around the same time, I sometimes wonder what Django folks have been up to all that time ;) (To be fair, there are definitely things Rails could learn from Django) 9. Templating was just a poor design choice for Django, IMHO. Instead of using Python in the templates, as RoR/PHP do, you basically need to learn a new single-use language, which in time will inevitably get more like a real language anyway.
- scorpioxy 16y agoRegarding 1, the documentation is quite clear to me. Then again, this is an open source project and if you think that the documentation is lacking, then by all means try and improve it. If not for your benefit, then for the benefit of others like you. Speaking from experience, the core devs are very helpful on the list. Regarding 5, I think he means that the OP was not using the caching layer which should drop the load significantly. I think he's hinting that the slowdown is from the database rather than Django itself. Regarding 9, that's a matter of taste. I find their template tags quite good and I hate the tag soup with other systems. However, every templating system is going to be a compromise. Personally, I have no idea how to design one that would please both designers and programmers. Your point 3 is just plain weird.
- nir 16y ago>Then again, this is an open source project and if you think that the documentation is lacking, then by all means try and improve it Sure, but when it comes to a making a choice between technologies, most people would pick the one that already has good docs. >I think he's hinting that the slowdown is from the database rather than Django itself If that's the case, the OP wouldn't see much difference between Django & other solutions. >Regarding 9, that's a matter of taste Absolutely, as well as workflow. I'd say if you work in a place where designers write the HTML separately from developers, a templating language makes sense. If developers do it, using the native language is preferable. >Your point 3 is just plain weird How's that? (1) PHP is far more common than Django. (2) As result, Django devs cost more but have higher average skill. (3) Some web dev jobs are relatively low skill, so it's useful to have someone who can do them cheaply.