5

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.

Sahat Yalkabov
  • 29,198
  • 40
  • 103
  • 171

3 Answers3

15

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

Matt Briggs
  • 38,679
  • 14
  • 86
  • 125
  • I disagree. Some of the top people you see at stackoverflow are pythonists. They get paid pretty darn well. Now with google app engine (being built with django templates) has python you can get lots of great jobs in python. – basarat Dec 05 '10 at 05:49
  • Removed my minus 1 since you are right to some extent :) (I hate to admit it) But can't bring myself to give you a +1. You are wrong to some extent as well :) – basarat Dec 05 '10 at 05:50
  • 1
    @Basarat: I make real good money with ruby on rails, but I would say the same about ruby. There is definately a market for those languages, but the size of the market is not even comparable to java or c# (or php either). Those two platforms dominate the business software world, and that is where most jobs come from. Sad, but true – Matt Briggs Dec 05 '10 at 16:30
  • Why do you say that? C# can be just as 'fun' as python, if not more for many people. Also the pay the bills thing doesn't make sense, but I'll give you the decade of hindsight. – Levi H Feb 28 '20 at 00:00
8

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.

Community
  • 1
  • 1
ffriend
  • 24,834
  • 13
  • 81
  • 125
6

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.

jwheron
  • 2,557
  • 2
  • 27
  • 40