asp.net、php 和 python 做网站,哪个更牛逼。

我先说一下,我是写 ruby 的,我并不是因为标题里没有 ruby 而愤愤不平。 这样的问题每过一段时间就会被提起一次。我在这里只是想说一声,纠结这样的问题没必要。

引用一段话

Facebook - PHP ; Reddit - Python ; SE/SO - ASP.net ; Twitter - Java ; GitHub - Ruby

更多的就不类举了。

你会看到每个成功的网站用的技术都不相同,但我可以肯定的是,当时他们也纠结过这样的问题,只是他们比我们更果断,迅速选好一个技术后就去做更重要的事情了 ---> 如何把网站写好上线。

纠结这样问题的一个主要原因是不自信,对未来方向不确定。所有的程序员都经历过这个阶段,不过那些大神估计就不用经历,因为他们生活的年代根本就没有那么多的选择,除了 php 就是 java,C++ 也可以选择,不过它根本没有现成的框架,还要自己动手写。选来选去,用 php 会更好写一点,这也是那个年代多数人用 php 来写网站的原因。这就是他们那个年代的好处了,技术匮乏没有过多的选择。

我们也我们的好处,可以选择的技术很多,我的建议是,用你觉得还不错的语言先写一段程序试试,写的最舒服的那个,那就是它了。

我说一下我知道的语言

facebook - PHP : php 天生就是为了编写网页而出生的。简单的语法,简单的配置就能写出来一个网页。不过这是 10 年前的样子了。现在的 php 加入了面向对象 编程,php 早就不简单了,还有好事者用它写 linux 脚本。唉~~ ,当然那个纯真的年代早不存在了。

reddit - python : python 宣称的理念是简单。 python 接触过,语法确实很简单。不过简单的语法带来的一个问题是表达力不够,很多简单的功能,库里面没有相应的方法,要自己写一段小算法去实现它。如果你还在选择,不要被所谓的简单骗了你。不过 python 真的很简单,没有过多的语法,没有过多的知识点。

Twitter - Java : 略过 ASP ,它和 Java 很像,写 Java 时会强制你使用面向对象的方式写代码,一定要先写一个类,然后再 new 一个对象,然后再去使用。这样的方式太强暴了。不是很喜欢。Java 是全平台的,这样过的代价就是性能上有些损失。不过我觉得这样的优点没有实用价值。不再过多的评价它了。

GitHub - Ruby : ruby 宣传的理念是让写程序的人更快乐,虽然口号很好,但是程序就摆在那里,很多逻辑用程序表述出来,必要的脑力还是要付出,真正写起来也没有那么快乐,ruby 里面有很多现成的 gem 可以使用,但代码复用并没有想象出的美好,相同的功能但细节有很大差异,去更改它的代码也要付出一段时间去读代码,复用的代码为了调试兼容,会牺牲相应的代价。更好的选择还是自己写。

写了这么多我觉得都是废话,把所有语言的优缺点罗列出来,你还是会纠结哪个更好。即使是很厉害的人,他们也会纠结。我记得有一个很厉害的人告诉我,用最简单的方法写出来,等有了用户再去改。

忘了说最重要的,一个网站开始用什么语言写都不会有问题,当用户真正多起来时,就不是用哪个语言去解决,而是用架构缓存去解决,一个网站的各个环节都是用到缓存。

ruquest 可以 header头 缓存,html && css 可以cdn缓存, mysql 可以缓存, redis 可以缓存数据。http 各个环节的缓存都能提高一个数量级。