Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One might easily take offense at your comment:

> perhaps your people just don't have much exposure > new, serious platforms

Both could have been omitted and your points would still have been valid.

Anyways, I'm not advocating Django as "the one true way", just stating that is hasn't hindered us in the least. :shrugs:



I've used pretty much all of the major python frameworks in a professional capacity, and have also dipped toes into the RoR world as well as the various php frameworks. Django isn't "the one true way" - I've been known to reach for Tornado often - but it certainly works (ORM, templates, middleware included) for the majority of projects I've undertaken, and I've had success advising others to adopt it.

Also strange to hear that Django has a unique style of MVC, it seems pretty standard to me (and from what I see a lot of new frameworks are aping it).


> Also strange to hear that Django has a unique style of MVC, it seems pretty standard to me

some people are confused because of the semantics (view is controller, template is view). in the end, as you say, it's still (yet another flavor of) MVC.


Thank you. Simple as it seems, this just made several things fall into place as a new Python/Django guy.


I don't intend offense. I'm just suggesting an explanation for why you may feel Django is not problematic. When all you have is a hammer, everything looks like a nail. I've met many-a-programmer fairly early in their careers who praise things like Cake, Rails, or Django, but in my experience at least, as they mature, they prefer less invasive solutions.


My 2 cents in response: I use C#, JavaScript and Python daily. I spent 6 months learning Ruby but decided it wasn't for me. I also use Objective C for iOS and enjoy optimising SQL in my database layer.

However the three platforms I use in order are .Net MVC, Django and node.js. Before I chose Django I wrote my own Python-based web framework but decided I'd rather build applications than frameworks. Django has a massive community built around it that I couldn't find anywhere else (note - I _have_ been using Django since 2007).

The main reason I use Django? because I, personally, know what I'm doing, where everything lives and can get it done quickly. It works for me and it clearly works for other people, so you can't knock it.

What I _wouldn't_ do, is advertise for a 'Django' developer. You have to know Python and understand what your framework is doing under the hood.

Django is great, I'm sure Pyramid is great as long as you understand what it's doing and have read the code, but most importantly, what we all are is Python programmers.


In a few years you'll probably get to the point where you don't prefer less invasive solutions but will pick the right tool for the job.

If you know you'll be iterating rapidly but will stay within the confines of 'standard CRUDdy app' then e.g. Django, RoR, Spring Roo e.a. will be probably be good to you. If you expect to go beyond those confines you'll be burnt.

In general it's about finding what I like to call the 'grain of the tool' and pick the ones where you can go with the grain.


I prefer less invasive solutions because they are generally the right tool for the job for serious web platforms, which is the niche to which I limited my comments. And for the record, I've been around for some years.

If I just want a basic CRUD app that will basically never exceed the capabilities of Django's automatic admin interface, then sure, Django will be fine for that because all I'll have to do is define models and I'll be done. I can then query the SQL database directly if necessary, or write a separate application that generates reports on the data.

Most "serious platforms", however, do much more than this. For platforms that run companies, least-invasion is a good principle, because it allows you to adapt quickly as changes are necessitated. Django, Rails, et al often world-break if you try some "funny business". Next-gen frameworks like Flask and Pyramid have almost no reasonable condition that qualifies as "funny business" from the framework's perspective, so they're much easier to iterate upon or pivot from.


> serious web platforms, which is the niche to which I limited my comments

That is exactly the kind of grain I was talking about.

If you were running a startup that's focusing on finding product-market-fit and quickly iterating on the UX to get conversions up and attrition down Django (or RoR) might be a better fit.

When you start outgrowing Django you can just start splitting off components and rebuild them in a more 'serious' way.


I disagree, because you can iterate just as quickly with Pyramid/Flask, generally speaking.


you're doing an terrible job explaining your beliefs. you come across as mostly incoherent with an ideological obsession with "unobtrusiveness". to me that sounds like an indicator of a barely contained case of not-invented-here syndrome.

maybe you can explain your language more explicitly and help alleviate the bad impression I (and others) have got from your posts. what is a "serious" web platform? how is django less appropriate for "serious" web platforms than Flask or Pyramid? can you give an example of something breaking due to django "funny business"? it would help if you gave a real example. i've seen people complain about this alot but i've never seen an example of it causing any more problems than an annoyed developer having to do it django style instead of whatever way he/she wanted to (due to ideology).


I've been rarely in a position where I could say with confidence that today's boundaries would be tomorrow's boundaries.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: