历来,为各种语言的优劣,各大论坛的水仗总是不能烟消云散,而且甚至有风起云涌之势。本文就来介绍一下
各大互联网公司的网站系统实现语言。
1. Stackoverflow (.NET)
Stackoverflow是美国最大的也是世界上最大的程序员高质量在线问答的网站(注:国内也有若干家 山寨网站,如Segmentfault)。ET的初创公司太少了,SO比较奇葩一些。.NET成本高,不仅是开发成本,而且维护成本也高。Windows的 服务器很贵,而且用起来不如Linux放心。
2. Foursquare (Scala)
Foursquare 是美国的一款很受欢迎的LBS产品,用户可以随时随地分享他们的行踪。Scala是运行在JVM的语言,继承了Java的优良特性,同时有许多改进,FS用的是Lift这个框架。
3. 淘宝网 (Java)
据淘宝网现在网上流传的特别广的一篇 淘宝网架构变迁可以看出,淘宝网早年是购买的一套 PHP程序,后来几经变迁,变成了现在的Java架构。每天4亿+的PV和大规模业务数据,国内流量最大的Java站,淘宝当之无愧。
电子商务不是简单的社交网站,电子商务有非常复杂的后台逻辑运算以及安全需求,这点PHP等语言包括很火的NoSQL是无法胜任的。而且阿里的系统要求实时性非常高,同时要求精准事务,这对架构挑战非常大,而新浪等只需要静态静态再静态,缓存缓存缓存。
4. Facebook (PHP)
Facebook选用PHP是有原因的。当年扎克伯格在哈佛的宿舍以最快的速度开发出社交网络的原型,PHP无疑是首选。但是现在Facebook的PHP内核已经被修改很多了,Hiphop就是其中的例子。PHP的优点在于成熟稳定,经受考验;缺点在于语法较乱,代码管理不好。不过现在随着MVC的各大 PHP框架的出现,维护管理变得容易都了。不过记住了,框架的确会拖累运行效率的。
Tumblr和Pinboard都用的是典型的LAMP组合。同样,Facebook虽然目前还在用着 MySQL集群,但是Facebook的MySQL长得越来越像NoSQL了。Quora曾经问一个问题,为什么「伟大」的Facebook要用PHP,答案是如果没有PHP,Facebook会更「伟大」。
5. 人人网 (Java)
虽然很多人诧异为什么人人网这样的一个Facebook山寨会选用和金融系统一样的Java,但是毫无疑问的是,人人网肯定深度的Hack了Structs。总体来说,JVM非常消耗内存,Java在开发效率(注意不是执行效率)要低于PHP, Ruby和Python。
Java一般用在业务不同,企业业务复杂,但并发访问不会特别多以及考虑整合各种异构系统和处理遗留数据问题的情况下。这点人人是达不到这种需求的。
6. 豆瓣 (Python)
我觉得Python之所以比较流行是因为Python在大学中很流行(相比Ruby和PHP就不行了,我们大学甚至连PHP都不教,不认为它是一门语言),大学生毕业之后 创业,自然选择熟悉的语言。与此同时,Python的Framework选择也很多,包括Django, Web.py, Cherry.py, Pylon等等,这让Python的程序也容易管理和维护。
7. Twitter (Ruby on Rails)
Twitter用RoR的地方大概在表现层的实现,真正后台的处理已经改成Scala,这点和FourSquare是一样的。RoR的程序员都以RoR为骄傲,因为RoR有一个比较活跃的开发者社区。RoR比较优秀的框架设计甚至吸引了后期如 CakePHP这样的框架的模仿。
码农社区版权所有,转载请注明链接, http://w3croom.com/read.php?tid-4436.html
1. Stackoverflow (.NET)
Stackoverflow是美国最大的也是世界上最大的程序员高质量在线问答的网站(注:国内也有若干家 山寨网站,如Segmentfault)。ET的初创公司太少了,SO比较奇葩一些。.NET成本高,不仅是开发成本,而且维护成本也高。Windows的 服务器很贵,而且用起来不如Linux放心。
![](http://w3croom.com/attachment/Mon_1304/64_81_27ea142633c116b.jpg?14)
2. Foursquare (Scala)
Foursquare 是美国的一款很受欢迎的LBS产品,用户可以随时随地分享他们的行踪。Scala是运行在JVM的语言,继承了Java的优良特性,同时有许多改进,FS用的是Lift这个框架。
![](http://w3croom.com/attachment/Mon_1304/64_81_37191e0910ebac6.jpg?25)
3. 淘宝网 (Java)
据淘宝网现在网上流传的特别广的一篇 淘宝网架构变迁可以看出,淘宝网早年是购买的一套 PHP程序,后来几经变迁,变成了现在的Java架构。每天4亿+的PV和大规模业务数据,国内流量最大的Java站,淘宝当之无愧。
电子商务不是简单的社交网站,电子商务有非常复杂的后台逻辑运算以及安全需求,这点PHP等语言包括很火的NoSQL是无法胜任的。而且阿里的系统要求实时性非常高,同时要求精准事务,这对架构挑战非常大,而新浪等只需要静态静态再静态,缓存缓存缓存。
![](http://w3croom.com/attachment/Mon_1304/64_2_003e9d55451c432.png?87)
4. Facebook (PHP)
Facebook选用PHP是有原因的。当年扎克伯格在哈佛的宿舍以最快的速度开发出社交网络的原型,PHP无疑是首选。但是现在Facebook的PHP内核已经被修改很多了,Hiphop就是其中的例子。PHP的优点在于成熟稳定,经受考验;缺点在于语法较乱,代码管理不好。不过现在随着MVC的各大 PHP框架的出现,维护管理变得容易都了。不过记住了,框架的确会拖累运行效率的。
Tumblr和Pinboard都用的是典型的LAMP组合。同样,Facebook虽然目前还在用着 MySQL集群,但是Facebook的MySQL长得越来越像NoSQL了。Quora曾经问一个问题,为什么「伟大」的Facebook要用PHP,答案是如果没有PHP,Facebook会更「伟大」。
![](http://w3croom.com/attachment/Mon_1304/64_81_84681c1ad322d73.jpg?16)
5. 人人网 (Java)
虽然很多人诧异为什么人人网这样的一个Facebook山寨会选用和金融系统一样的Java,但是毫无疑问的是,人人网肯定深度的Hack了Structs。总体来说,JVM非常消耗内存,Java在开发效率(注意不是执行效率)要低于PHP, Ruby和Python。
Java一般用在业务不同,企业业务复杂,但并发访问不会特别多以及考虑整合各种异构系统和处理遗留数据问题的情况下。这点人人是达不到这种需求的。
![](http://w3croom.com/attachment/Mon_1304/64_81_616e7214989f674.jpg?21)
6. 豆瓣 (Python)
我觉得Python之所以比较流行是因为Python在大学中很流行(相比Ruby和PHP就不行了,我们大学甚至连PHP都不教,不认为它是一门语言),大学生毕业之后 创业,自然选择熟悉的语言。与此同时,Python的Framework选择也很多,包括Django, Web.py, Cherry.py, Pylon等等,这让Python的程序也容易管理和维护。
![](http://w3croom.com/attachment/Mon_1304/64_81_35c172ca2656ab2.jpg?9)
7. Twitter (Ruby on Rails)
Twitter用RoR的地方大概在表现层的实现,真正后台的处理已经改成Scala,这点和FourSquare是一样的。RoR的程序员都以RoR为骄傲,因为RoR有一个比较活跃的开发者社区。RoR比较优秀的框架设计甚至吸引了后期如 CakePHP这样的框架的模仿。
![](http://w3croom.com/attachment/Mon_1304/64_81_09a37ee7b5a8b3d.jpg?17)
码农社区版权所有,转载请注明链接, http://w3croom.com/read.php?tid-4436.html