Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

New to web development. ASP.NET or Django? [closed]

Hello I am interested in hearing objective responses in what should a beginner dedicate his or her time into:

ASP.NET, Visual Studio, C#, IIS, Team Foundation Server?

or

Python, Django, PyCharm?

These are just some criteria that I am interested in:

  1. Easy to start out with.
  2. Good documentation.
  3. Highly-scalable.
  4. Big Career opportunities.

Feel free to post your personal opinion on this matter or if you've had an experience with both ASP.NET and Django.

like image 956
Sahat Yalkabov Avatar asked Dec 05 '10 03:12

Sahat Yalkabov


3 Answers

C# or java will pay the bills, python will be way more fun

like image 76
Matt Briggs Avatar answered Oct 02 '22 16:10

Matt Briggs


This is a big question, I'll give only several points according to your interests:

  1. In general, Django is easier to start than ASP.NET. Simplicity is one of rules in Python's Zen. Also Django explicitly shows you all control flow, so you can understand internals of framework very quickly. On the other hand, guys from Microsoft did their best to make web development similar to development of desktop applications. ASP tries to erase borders between server and client sides. I can't say with confidence, if it is good or bad idea, but I know that at some moment you'll have to understand difference between them anyway.

  2. Both. Python community provides tons of documentation, and Django official documentation is always up-to-date. Django is popular in community, but ASP is corporationally promoted and supported. In general Django has more tutorials and ASP has more books about it. Books are more complete, but they are really big.

  3. None of them. They both are primarily view technologies, and for scalability you'll need some heavy server side technologies. Nevertheless, if it's all about supporting thousands of concurrent users (and not some computationally intensive applications), both technologies work well. See this for some good examples in Django and this to take a point of ASP.NET scalability possibilities.

  4. It heavily depends on your region and current situation. I can only say that ASP.NET is used in large companies, and Django is for small companies and freelance. For more information see your region vacancies.

like image 43
ffriend Avatar answered Oct 02 '22 15:10

ffriend


I've been an ASP.NET programmer for a few years, and I think it's pretty easy to get into. The downsides here are that Microsoft products (TFS in particular) are expensive. Of course, my experiences have been directly related to that -- I've never tried Python in any regard -- so I can only offer my perspectives as an ASP.NET programmer.

There are a lot of people who would (accurately) tell you that the page lifecycle in ASP.NET is a gigantic pain in the ass, and that's true too. I personally don't use the server-side part of ASP.NET very often anymore because juggling the lifecycle just leads to messy code and built-in obtuseness. That said, it's really easy to integrate ASP.NET WebServices with jQuery and JavaScript.

My experiences with IIS have been pretty good as well, although I can't speak to its problems in more complex environments.

I do love TFS, though. In particular, if you're working as a part of a team and need to get user bug reports or enhancement requests, there's a lot of great built-in integration. However, configuring and maintaining TFS is a full-time job in and of itself if you're a part of a development team in a corporation.

All that said, I'm not sure it makes much sense to limit yourself to two core languages and then ask about career opportunities. These are going to vary from place to place. I don't see many Python positions where I live, and there were a lot of MS/C#/ASP.NET positions available when I was looking for a job.

like image 31
jwheron Avatar answered Oct 02 '22 17:10

jwheron