views:

1878

answers:

8

This is one of the things I've been hearing in Django VS ASP.NET discussion. I personally find it hard to believe but I never tried Django.

So my question is: assuming that I am equally familiar with both python and the .NET framework but I do not know anything about Django or ASP.NET (with Visual Studio), is Django faster than ASP.NET (@ equivalent point in the learning curve) to develop small/medium size apps?

Let's kill each other and sort this out.

A: 

Do you know Python? Do you know Django? Do you know how to configure your web server to work with Python or Django. Use what you already know. Always.

jakemcgraw
Unless you want to, you know, learn something. That might have the potential to be, you know, better. Just don't use critical projects for the initial learning :)
J Cooper
if everyone always and only used what they already know nothing new would ever be invented
JohnIdol
I agree with Jake. If you are working on a team and you need to meet a deadline then you don't have time to retrain the whole team to learn the new web framework. You will also not have all the knowledge that you learned by mistake and will make those same mistakes with the new web framework.
ejunker
A: 

Yes, if you are familiar with Python and do not like/do not know .Net.

No, if you are familiar with .Net and do not like/do not know Python.

All to all, "it depends" on many factors. I find the development much faster with Django than with Spring/Hibernate, but it comes from my long-term exposure to Python programming (and limited knowledge of Java). If I'd have to write Java code for 2 years, I'd become as proficient as I am currently with Python.

zgoda
I am talking about the framework. see edit
JohnIdol
+15  A: 

I used to work on a large ASP.NET site and I started there with a lot of C# background. I now work on a python/django site and I started here with no python or django background, and I would say without a doubt python/django is far easier to work with and rapidly prototype an application.

Who knows when you get to scaling it, but a small/medium sized app that should be of no concern, and I would recommend python/django any day over asp.net, even to someone with limited python experience and no django experience and years of C# experience. At least, if they are a good programmer, if not, stick with dragging things out of the toolbox in VS.

Todd Berman
first answer to the point +1. there's nothing wrong with the visual designer though (we all know after a while you stop using 'cause it's crap)
JohnIdol
so everything is wrong with the visual designer, then :)
Adriano Varoli Piazza
A: 

don't just use what you know, use what interests you, because I promise it is what you will do best in

+2  A: 

The Django as well as Python community will help you move up the curve as you learn. Django's documentation is one of the best available, so if you have zero knowledge of Django (or even Python) you can do pretty amazing things in fairly short time.

However, be aware that Django is a framework, and has its limitations in terms of what's readily available. Having said that, there is nothing that you can't build on your own in Django. But obviously that would require a deeper knowledge of Python.

Why don't you follow the Django tutorial and see if it's the sort of thing that interests you? It won't take too much time, plus you will also get a real taste of Python.

chefsmart
I tried to setup Django but I was discouraged by the long cmd line setup. I am a C++/.NET developer and I always used VisualStudio so I was expecting smt ready "out of the box".
JohnIdol
Instant Django (http://www.instantdjango.com/) could just be the thing for you.Otherwise you might want to check out http://wiki.thinkhole.org/howto:django_on_windows and http://effbot.org/zone/django.htm
chefsmart
A: 

Its hard to compare. As asp.net has event driven architecture, and with it very easy to make independent components on page. Django with ModelForms, not so easy IMHO.

dynback.com
+5  A: 

I am new to Python and Django and .NET and ASP.NET. I have been coding with ASP.NET a little longer than Django, actually.

Which one can I use to create a functional and beautiful site faster? Django. Without a doubt.

Django was made by web developers and feels like it. My productivity in Django soars way above my productivity with ASP.NET. Coding in ASP.NET does have some benefits, specifically Visial Studio and its intelisense. Django and python on the other hand don't NEED them. ASP.NET almost certainly needs them. I could not code in ASP.NET at all without the helping hand of intelisense. Django just makes sense. I love you, Django.

kzh
thanks for pitching in
JohnIdol
+3  A: 

I've been coding in ASP.Net since the original beta. I just started Django a couple weeks ago.

I can tell you, from my own personal experience, that in every conceivable way Django is better than ASP.Net - except: production deployment.

Django is easy if you have mod_python installed, but if you don't you end up going down the rabbit hole of FastCGI or Passenger (which supports Django but was made for Rails). This can be pretty hard when you're on a shared host, or if you don't know a lot about linux admin. I use Dreamhost, which recently added support for Django, so they set things up nicely for you (using Passenger).

You also need to know a bit about server admin/config on linux to get static/media files serving properly. This is actually A Good Thing(tm) because it allows you to build scalable web apps that offload the serving of static content to a server that's designed for it (Apache, lighthttpd, etc...) and the dynamic html stuff is all handled by Django.

In summary, for my business (Ratio Software LLC) the choice is easy: Django wins.

Clayton Gulick
+1 for hassle of deployment.
celopes