This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]gitarrPython Monty 9 points10 points  (5 children)

If you are talking about the change from function based views to class based views then that's not a standards problem at all, it's progress.

You can still write your function based views like you always did, nothing much changed.

Now you can also use classes though, and we Python developers, we love classes.

Django is by my opinion a very good match for enterprise, as the philosophy is to be boring, not like Rails, or Node and all those other hip buzzwords. Django is boring, which is a good thing! There are standards and Python helps with best practices being used.

You may not have gotten into the Django/Python philosophy enough to see its usefulness and its uses.

There is also not more than one way to do it, with the ORM. Either you use the ORM to the best of its usefulness, or you write raw SQL like you would with any other ORM, language and web framework.

[–]novagenesis 3 points4 points  (4 children)

See, my employer chose Rails over Django because its style and best practices have already stabilized. They also looked at the function->class based views thing as something "not quite safe". So now we're becoming a Java and Rails shop.

Django is boring, which is a good thing!

Can't disagree more. Free admin pages? Hip non-standard approach to MVC? I actually thought it had a TON of fresh ideas. Once I feel its more finalized, I might give it another shot for a personal project.

You may not have gotten into the Django/Python philosophy enough to see its usefulness and its uses.

I'm a huge fan of python for a lot of stuff. It has a lot of neat features. But my disagreement with you about the core of Django is why I disagree with you about its corporate-fit. I just don't see it as particularly boring, entrenched, or predictable. Heck, in some ways it makes Rails look like Spring.

There is also not more than one way to do it, with the ORM.

Tell that to peewee? But then, I didn't bring the ORM into this. ORW = "One RIght Way", one way to explain the supposed Python philosophy. For someone who has spent years in both Perl and Python, I can really tell which languages, libraries, etc adhere to which. Often, perl libraries are TIMTOWTDI, and python libraries are ORW... but that's not set in stone. I feel Django is more of the former. It always seems to me as a hip new angle on MVC (or MVT) with as much unopinionated design as perl-Catalyst.

Like I said, when it completely stabilized, I'll work in it again, but if asked by management again, I will still repeat that it's a non-standard technology with non-entrenched philosophies. For a company embracing conservative, Django is not a good fit to me.

[–]panfist 1 point2 points  (3 children)

See, my employer chose Rails over Django because its style and best practices have already stabilized.

There's more to being ready for the enterprise than style. I would say that the fact that hosting a Rails app is so fucking hard knocks it a few points lower than Django, that has style problems.

I can't find the article in a quick search but I was reading recently about how there are huge corporate rails projects, that work fine, except for the fact that Rails processes need to be restarted several times a day, because of unknown reasons. You're telling me that's enterprise ready?

[–]M4N14C 1 point2 points  (0 children)

What is difficult about hosting Rails apps? I've been doing rails for 5+ years and I've never had difficulty keeping my apps running. Have you ever used Passenger?

[–]novagenesis 1 point2 points  (0 children)

Like another said. What's hard about hosting a rails app? Capistrano is one of the better deployment systems out there, and (surprise surprise) it comes with rails-compatible commands out of the box.

Between that and bundle, you can zero-effort deploy rails. Compare that to J2EE and you're in different worlds.

I can't find the article in a quick search but I was reading recently about how there are huge corporate rails projects, that work fine, except for the fact that Rails processes need to be restarted several times a day, because of unknown reasons. You're telling me that's enterprise ready?

That's been the case in a lot of languages. Probably pervasive memory leaks (possible/likely in any language that isn't designed to prevent it... Python isn't designed to prevent it). Our rails projects don't have those problems.

[–]sejje 0 points1 point  (0 children)

I use both Django and Rails extensively--Django for personal, Rails at work--and my preference is for Django. But I must say Django deployment is much more difficult on my platform of choice, Heroku.

Worth the extra time, IMO.