Python/Django还是C#/ASP.NET进行网页开发?
我是一名.NET开发者,对Python没有经验。请问哪个平台更具可扩展性?哪个平台更适合大型高流量的网站?如果你对这些平台的可扩展性有任何经验,请告诉我们。
谢谢。
4 个回答
Derek的回答很棒,所以我就不重复了。
不过,我想说一点。现在选择编程语言其实没那么重要,但如果你特别需要高性能和可扩展性,Python的动态特性可能会给你带来一些麻烦。虽然动态语言有很多好处,但这些好处往往会带来额外的负担。比如,.NET平台提供的是完全编译的语言,并且有多种方式来优化编译代码的性能(包括 ngen 支持,这样你可以创建不需要即时编译的本地模块)。
我不确定.NET编译语言在性能上是否真的比Python更适合你的具体应用,但考虑到你已经是.NET开发者,使用ASP.NET可能是最好的选择。
几乎所有知名的框架和编程语言都可以扩展。
你用哪种语言其实没那么重要,最关键的是你怎么组织你的代码。
从个人角度来看,学会不止一种语言总是好的。
不过,你可以用Python、PHP、.NET等语言创建出完全可扩展的应用程序。代码的质量是可扩展性出问题的第一原因,而不是语言本身。
我非常喜欢Python(而且真的很喜欢!),但是如果你对C#非常熟练,并且正如你所说的“没有Python的经验”,那么你的代码在可扩展性方面会更好,适合你接下来的几个月。如果有一个假设的开发者在这两个平台上都非常熟练,那么可扩展性就没什么区别了,Python会让这个开发者的工作效率更高;不过,要真正掌握任何技术都需要几个月的练习,这可不是“随便就能做到”的。
所以,除非你想扩展自己的技能和工作机会,或者提高工作效率,而不是专注于你现在正在编写的网络应用的可扩展性,我必须良心推荐你继续使用C#。你也可以试试IronPython(还可以看看Mannings出版的《IronPython in Action》这本书——我得提醒一下,我是作者的朋友,也是这本书的技术审阅者;-)),它可以帮助你处理各种非生产环境的支持代码,让你感受一下它的魅力和能带来的巨大效率提升……但是,为了给你的客户或雇主提供最好的价值,还是要坚持使用你真正精通的C#,来处理任何对可扩展性要求高的工作!