4 ms·
A strong stack doesn't mean quality. Django for example lacks on quality and maturity. There are great tools like cucumber, rspec and rails who delivery a dynam
by postit 16y ago
A strong stack doesn't mean quality. Django for example lacks on quality and maturity. There are great tools like cucumber, rspec and rails who delivery a dynamic and productive environment, they are ages ahead python based solutions.
- numix 16y agoI'm curious why you think Django lacks quality and maturity. Your specific examples seem to be about testing, but Django emphasizes unit tests quite a bit. If you're looking for BDD specifically, there is lettuce (http://lettuce.it http://lettuce.it), freshen (http://github.com/rlisagor/freshen http://github.com/rlisagor/freshen), and pyccuracy (http://wiki.github.com/heynemann/pyccuracy/ http://wiki.github.com/heynemann/pyccuracy/).
- ergo14 16y agoUnit testing... I think you missed what the real problem with django is about, or just your projects don't demand to use that kind of features etc. How about something simple like pretending there we have django 1.0 (not 1.2 which is quite new), and let us try to connect to 3 databases at once with django's ORM? Oh, we are screwed it can't do that. Ok, then lets try to swap out our ORM to sqlalchemy.... crap all nice plugins broke, admin panel doesn't work etc. This is why REALLY django lack quality and maturity - it's components are not versatile enough - and in my book this is a very serious issue because if my requirements are diffrent from what django makers assumed then I'm doomed. This is why people mention other (in my opinion superior, but not that easy to use), solutions to the problem. My point is - majority of people fail to notice such serious flaws like unability to use more than 1DB at once (yes i know it got finally fixed after few years). I'd rather use one tool that should cover my needs than be forced to switch them because they don't fit the needs of project.
- bmelton 16y agoWow, stack the deck much? If your application required connection to three databases concurrently, then you almost certainly wouldn't have chosen Django 1.0 as your application development platform. If connecting to multiple databases is a new requirement, then you're likely going to have to change much of your code / environment anyway, no matter whether or not you're using Django 1.0, 1.2, or Rails. Also, for what it's worth, the OP doesn't mention just Django, it mentions Pylons, Repoze, etc. Django isn't the only Python tool in the arsenal. Besides that, if you swap out your database abstraction layer in almost any language that I know of, you're going to have bigger problems than 'finding new plug-ins'. I can't think of a single ORM that is replaceable to another without significant retooling above the model layer. Most notably though, since you cite it as an example, losing the admin panel can hardly be considered as too big a deal, since the last time I looked at Rails, Symfony or Cake, none of them even offered that as a feature. As for your last sentence: I'd rather use one tool that should cover my needs than be forced to switch them because they don't fit the needs of project. Can I safely assume that you're building everything in Java then? I mean, honestly, we pick the right tool for the job, don't we? We shouldn't be building things in Django because it's all we know, just as we shouldn't be building things in Ruby/Rails for that reason. Take a look at the challenges and figure out what makes sense. If you don't know wha the challenges are before you start developing (they're often surprising), then just start iterating until you figure out what they are. In this case, whatever framework or development platform lets you iterate the most quickly is the winner, whatever language it happens to be written in.
- ergo14 16y agoHow about you read that again, I think you misunderstood my point - or I was uncler, since english is not my native language. And i'm the OP in case you didn't notice that;-) "I'm curious why you think Django lacks quality and maturity." - This is what he wrote, so i gave him main reason why django is not the tool for me. Which are perfectly valid in my opinion. And no - with sqlalchemys design, it DOES NOT require you to change your code if you just need to use few models with other databases - the change was about 20 lines of code in my case. Which i take would be not possible at all with django 1.0. You are right about "right tool for the job", for the kind of work I do, glue frameworks like pylons or bfg are a lot better choice - it's really way harder to corner me with some requirement that this stack can't handle. And as for challenges, like I said - business conditions changed and I had to connect to 3 db's at once, no problems at all - if one chooses his tools very carefully in advance that can save a lot of headache later. Like I said, sorry for confusing you. You can't predict everything that client could need/forgot to mention, so the more versatile your toolbox is the better.
- postit 16y agoThat's the point, why work with alternatives if you can bear all your stack with great dynamic and fast frameworks. Endorsing pycurracy is the worst part of your argument, this framework is terrible, its codebase is far away from mature, its TOTALY regex based what makes the testing experience painful. I love python for many reasons, but I ain't convinced yet for web and tests
- robwgibbons 16y agoI disagree that Django is lacking in quality, and I maintain that Python itself is one of the best things about Django. I have experience with both Rails and Django. After careful deliberation, we chose to use Django over Rails in part because of Python and its extremely diverse community. Ruby on Rails is a cutting-edge framework, but the Python community was what really convinced us to use Django.
- madhouse 16y agoYes, ActiveRecord is a joy to use, while Django's ORM is years behind. Right. No.
- RiderOfGiraffes 16y agoI've down-voted this, but feel I owe you an explanation. In short - I have no idea what you're saying. There are two cases - either I know about ActiveRecord and Django's ORM, and therefore I am in a position to assess what you say, or I don't. In the first case you've told me nothing except your opinion, and you've added no information. That would be worth a down-vote. In the second case, not knowing about these things I have no idea what your opinion is. I'm assuming there's an air of sarcasm, but I can't tell. Without expressing youself clearly and positively it can be hard to tell. Again, you've added no information. That would be worth a down-vote. And that's why.
- madhouse 16y agoI think I was quite clear that there is a sarcasm, but oh well. I responded to a vague comment which asserted that Django is "years behind", without any substantial proof, apart from "it lacks quality and maturity". Compared to that, I gave a lot more information, expressing my opinion on why that comment is far from the truth. Granted, I didn't go into details - I did mention a specific part of both frameworks, where I think one framework (Django) has a significant advantage over the other. But by all means, downrate me, but then please do that for the comment I responded to, which didn't add even as little information as I did, and only expressed his opinion without any specifics.
- RiderOfGiraffes 16y agoI think you misunderstand. I didn't downvote you because your comment contained no concrete information. I downvoted you because I couldn't work out what you were saying, and there was no concrete information (in either interpretation (to me)). Sarcasm doesn't convey well in the written medium, especially when there are multiple cultures in the readership. You complain about an assertion without support, and then you appear (to me) to do the same. It's the "double whammy". If you make a bald assertion without support then - if I care - I'll ask for your reasons and evidence, but I won't downvote for that alone. You said: > I gave a lot more information, expressing my > opinion on why that comment is far from the truth. Not as far as I can tell. You may think you explained, but to me, without your obviously extensive knowledge and experience, you didn't. You say: > I did mention a specific part of both frameworks, That wasn't clear to me at all. If you had said something like: > I disagree - consider component/feature X. It seems > to me that Django is *way* ahead in that regard, and > for some applications that's far more important. ... then you'd've got an instant up-vote for me. Useful, direct and concrete information without confrontation. I hope that makes it clearer. You may disagree with that policy, but it's what I've gravitated to after some years of being here.
- ergo14 16y agoActually, Django is just popular for python. But i consider other tools from the list to be a lot better solution. It's unfair to judge whole ecosystem just based on one framework - which is completly different to what others do.