views:

516

answers:

4

Hi,

I am a .NET developer. I have no experience on Python. Which platform is more scalable? Which platform is more suitable for large-size high-traffic web sites? If you have any experience about scalability on these platforms, please inform us.

Thank you.

+7  A: 

Almost all the well know frameworks and languages can scale.

It doesn't really matter which one you use. Its about how well you structure the code that matters most.

On a personal level it is always good to know more than one language.

But, you can create perfectly scalable Python, PHP, .NET applications. The quality of the code is the first place scalability will fall down not the language.

Derek Organ
So true, very well said!If you are a perfect programming... then I would use .net due to scalability but if you want reliability I would use PHP, for now.
CodeJustin.com
+7  A: 

Much as I love Python (and, that's a LOT!-), if you're highly skilled at C# and, as you say, "have no experience on Python", your code will be more scalable and suitable (for the next several months, at least) if you stick with what you know best. For a hypothetical developer extremely skilled at both platforms, scalability would essentially be a wash, and Python would enhance that developer's productivity; but getting really good at any technology takes some months of practice, it doesn't "just happen" magically.

So, unless you're trying to broaden your range of skills and job opportunities, or enhance your productivity, but rather are specifically, strictly focused on the scalability of the web apps you're coding right now, I have, in good conscience, to recommend you stick with C#. You should also try IronPython (and get the great "IronPython in Action" book from Mannings -- bias alert, I'm friends with the author and was a tech reviewer of that book;-) for all sorts of non-production supporting code, to get a taste of it and the incredible productivity boost it can give you... but, to deliver best value to your clients or employers, stick with what you REALLY master, C#, for any scalability-critical work you deliver to them!

Alex Martelli
+2  A: 

Derek had a great answer, so I won't repeat it.

I would like to make one observation, however. While for the most part, the language choice isn't really a big deal these days, if you really need high performance and scalability, the dynamic nature of python might come back to haunt you. For all the benefits that a dynamic language can provide, those benefits do come at the cost of additional overhead. The .NET platform offers fully compiled languages, and offers a variety of ways to tune the performance of compiled code (including ngen support, so you can create natively compiled modules that do not need to be JITted.)

I do not know if the performance edge .NET compiled languages have over Python is really enough for your particular application, but given that you are already a .NET developer, going with ASP.NET might be the best option.

jrista
yea, I've been wondering about this fact (interpreted vs compiled languages) How come big guns like google and facebook manage with interpreted languages? Even the slightest edge would make a big diff, even for gmail and you tube (Which is python right?) Ive heard interpreted languages can run upto 10 times slower than compiled languages??
giddy
+1  A: 

There is a added scalability cost with going with .NET over Python, the cost of Windows Server licenses (at the minimum, you usually add SQL Server to that as well).

joemoe