7

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.

4 Answers 4

16

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!

Sign up to request clarification or add additional context in comments.

Comments

14

Almost all the well known 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.

1 Comment

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.
3

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.

2 Comments

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??
"edgy" companies don't want to be slaves to MS, nor the costs associated with them either. If you throw enough hardware at virtually all well written implementations, you'll survive absolutely fine. That's why companies like Facebook can use something as slow as PHP, but it also didn't stop them from attempting to fix the performance issues with hiphop either. Problem is, average Joe can't throw that kind of hardware or resources at the problem. C++, C# and Java are the kings of the hill in performanceville, and C#.NET is a solid solution for rapid development of large scale projects.
1

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).

2 Comments

ASP.NET applications can be deployed on Linux too, using Mono. (I have real-world experience deploying ASP.NET applications on Apache and nginx servers.) Monetary cost isn't really an issue since you don't need Windows licenses at all, unless you make use of .NET features not implemented in Mono.
In some environments, the "cost of scalability" is virtually moot due to size of teams, resources, etc. So when you talk about a "server license", a single Windows IIS server can serve many web sites. In most cases, this answer is non-sequitur.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.