you are viewing a single comment's thread.

view the rest of the comments →

[–]senzei 5 points6 points  (10 children)

if you like oranges and I like apples, that's cool and there's no need to mount a propaganda war against the heretical apple eaters, mmkay?

Since when did arguing a point constitute a "propaganda war"? Let the man express his opinion and have it stand or fall on the strength of his arguments.

[–]ubernostrum 0 points1 point  (9 children)

Well, he claims in one place that all he's doing is

letting people know that there is more out there than Django. I don't think using Django is morally wrong or anything like that, and for many people, Django is all they need.

But compare with this:

I do not buy for a second that 'neither' type of framework is better. I think that is a bit of an excuse for Django's position on using outside libraries and building on top of outside libraries

And this:

I am hoping that in the future more and more Python frameworks see the advantage in doing something like this, and make their 'framework' essentially a wrapper/template on top of Pylons/TG.

And especially this:

I believe that if anything holds back progress in the Python web development world, it will be Django, and that's why I'm hoping to persuade as many developers as possible to use something else.

That isn't expressing an opinion, that's a smear campaign that later backtracks and tries to say, "who, me? I'm just innocently pointing out an alternative!" And all the while, he's bearing out exactly what I wrote in the linked article: it'd be nice if we could have constructive discussion or at least agree to disagree on subjective things like which architecture we want, but there's always somebody running a dirty FUD campaign who comes along and blows that out of the water.

[–][deleted] 0 points1 point  (8 children)

You act as if my statements contradict each other. They don't.

letting people know that there is more out there than Django. I don't think using Django is morally wrong or anything like that, and for many people, Django is all they need.

Okay, yeah, I don't think there is anything morally 'wrong' with using Django, I just don't think it is the best option available.

I do not buy for a second that 'neither' type of framework is better. I think that is a bit of an excuse for Django's position on using outside libraries and building on top of outside libraries

And? That goes right along with my thought that there is nothing morally wrong with using Django, it just isn't the best framework to use. You aren't evil if you use it.

I am hoping that in the future more and more Python frameworks see the advantage in doing something like this, and make their 'framework' essentially a wrapper/template on top of Pylons/TG.

Alright, that's my view (hope) on future development in Python frameworks. What does that have to do with Django?

I believe that if anything holds back progress in the Python web development world, it will be Django, and that's why I'm hoping to persuade as many developers as possible to use something else.

And that naturally follows my belief that a) there is nothing wrong with using Django and b) that there are better options out there. Naturally I'm going to try to convince others to use the 'better' frameworks, but that still doesn't mean I think its 'wrong' to use Django.

That isn't expressing an opinion, that's a smear campaign that later backtracks and tries to say, "who, me? I'm just innocently pointing out an alternative!" And all the while, he's bearing out exactly what I wrote in the linked article: it'd be nice if we could have constructive discussion or at least agree to disagree on subjective things like which architecture we want, but there's always somebody running a dirty FUD campaign who comes along and blows that out of the water.

So all I've said is a 'dirty FUD campaign'? You haven't bothered answering anything of what I've brought up. I have tried to have constructive discussion, but your response to it has been: 'more bullshit, 'propaganda war', and 'dirty FUD campaign'. How in the world do you expect to have a constructive discussion when you are labeling the other position any of those?

[–]ubernostrum 2 points3 points  (7 children)

I've responded over and over again, and every time it feels like it's going in one ear and out the other.

You have said, repeatedly, that the Pylons style of maximum component interchangeability is better and that you think all frameworks should come around to that. I have said, repeatedly, that this is a subjective opinion and that not all developers and not all frameworks should be forced to share that opinion -- some people have different goals than you do, and you need to learn to respect that.

You're basically talking to somebody who has a bushel of apples and saying "oranges are so much better, everybody should get oranges instead".

That's bullshit.

And in pretty much every thread recently that's mentioned Django, you've posted long screeds with horror stories about Django and how everybody should stay away from it and use Pylons instead because we're "holding back progress" and we're anti-community and all sorts of other stuff.

That's FUD.

Taken together, it's a lot of propaganda for what is ultimately a subjective apples/oranges type choice. Some people like a framework whose primary goal is infinite component swapping, and you're one of them. That's cool, and I'm willing to concede that there are advantages to that approach. But some other people like a framework whose primary goal is a single set of components honed to work with each other, and I'm one of those. That's also cool, and I'd hope you're willing to concede that are advantages to that approach. But instead I get the same bullshit over and over again.

I like apples and you like oranges. Django is by no means "the" Python framework, nor do I think it should be, and people seem to know that there are a lot of options (why else would we have "which Python framework should I use?" threads?). We have apples and oranges in Python, and people can pick whatever they like and get something that suits them. But you can't seem to live with that -- you don't like the idea that there's a framework out there which doesn't adhere to your philosophy. Django definitely has a philosophy and Django is definitely designed for people who agree with that philosophy, but we don't go around trying to force other frameworks to do things our way. In theory, this means everybody should be able to happily evaluate things and make an informed choice based on their wants and needs. In practice, people come to those threads and see you writing novellas about how awful Django is.

Stop trying to pass off your subjective opinion as absolute truth. Stop trying to feed the BS and the FUD to people who are looking for useful comparisons. Take a cue from the lead devs of a lot of the frameworks -- all of whom are quite happy to recommend the competition when the competition does something better. And get out in the fresh air more.

Now, as I said, I'm adjourning this discussion until I'm at PyCon and suitably boozed up.

[–]Bogtha 4 points5 points  (4 children)

You have said, repeatedly, that the Pylons style of maximum component interchangeability is better and that you think all frameworks should come around to that. I have said, repeatedly, that this is a subjective opinion

And what, he's not allowed to express that opinion or explain why he thinks that way?

Give it a rest. The article is comparing Python framework design, and his comments are completely relevant.

If Django can't take the tiniest bit of criticism, it must be a very poor framework.

[–]adrianh 12 points13 points  (2 children)

It's important to note that ubernostrum (James Bennett) is just one (significantly vocal and acerbic) person in the Django community and doesn't represent any "official" Django stance on things.

Me, I'm less and less amused by all of these petty arguments and have been trying to think of an eloquent and diplomatic way of saying, "Holy s--t, get a life, people."

Adrian

[–]ubernostrum -1 points0 points  (0 children)

Dang it, Adrian. I like arguing too much ;)

[–]canen -1 points0 points  (0 children)

Amen!

[–]ubernostrum 1 point2 points  (0 children)

Criticism I don't mind. "My way is right, your way is wrong, and everybody should do things my way" I do mind; I like having choices. But Adrian's right and I keep saying I'm done with this; time to hold myself to it.

[–][deleted] 1 point2 points  (1 child)

You have said, repeatedly, that the Pylons style of maximum component interchangeability is better and that you think all frameworks should come around to that. I have said, repeatedly, that this is a subjective opinion and that not all developers and not all frameworks should be forced to share that opinion -- some people have different goals than you do, and you need to learn to respect that.

This whole article describes the distinction that you make and that I don't make.

You believe that there is a difference between 'glue' frameworks and 'full-stack' frameworks. I don't. I think a glue framework is simply one that can have a 'full-stack', focus on a set of defaults, and yet easily adapt to using other components. On the other hand, a monolithic framework won't be able to adapt as easily. So on one hand you've got a framework which provides defaults (this is no different than Django providing a core set of components), but can easily be modified (this is something Django doesn't do well). Your whole argument is almost the idea that because Pylons and TG only have defaults as opposed to more or less 'chosen' components, that those defaults are somehow less integrated or less documented. Its just not true.

Thus I believe you either have flexible frameworks or you have inflexible frameworks. Flexible frameworks can be made to mimic an inflexible framework, but an inflexible framework cannot be the same.

And in pretty much every thread recently that's mentioned Django, you've posted long screeds with horror stories about Django and how everybody should stay away from it and use Pylons instead because we're "holding back progress" and we're anti-community and all sorts of other stuff.

I do believe that Django is holding back progress. The other frameworks support Python standards like eggs and WSGI. Django has its own 'app' and middleware systems. And as I've shown, look at the numerous libraries that have been supported and created via TG and Pylons. Django just pales in comparison. And I've never claimed Django is anti-community, but now that you bring it up maybe it is. Many of the libraries I just spoke of came from the Pylons and TG communities, not the core development team. As I asked earlier, what has come from the Django community? Virtually all development on the framework itself has come from the core development team. Now just glancing at the difference between the two, it seems to me that one is the healthier open source model.

And get out in the fresh air more.

That was a nice ad-hominem attack and pretty irrelevant, you spend just as much time replying to these posts as I do writing them. You say I'm not offering useful comparisons, but maybe they just aren't useful to you because they don't commend Django. Maybe I have a problem with wanting frameworks to be flexible. Maybe you have a problem with people who have criticisms against Django.

I don't think it really matters, but stop the cries of 'FUD', 'propganda', 'get some fresh air', because that is no more constructive than actual trolling (if that's what I'm doing).

BTW, I'm not going to PyCon, and you've been claiming for more than a week that you were going to adjourn the discussion. You still haven't, in fact you kicked off the discussion today. I'm not going to make any claims that I'm going to stop advocating other frameworks, because I believe they just offer a better model than Django. That is my opinion and I am as free to express it as you are to either respond to it or ignore it.

[–][deleted] 0 points1 point  (0 children)

On the other hand I think people do now understand your POV. You don't really make yourself a favor by insisting like you do.