SNS采用的技术可不都是PHP (不局限于国内),特别是国外的新兴公司,基本上没有再用PHP的了,国内到还是蛮常用的。简单说说我知道的几个案例:
Facebook (PHP):Facebook采用PHP是历史原因,而且Facebook的PHP被大量的Hack过了(e.g. Hiphop)。Quora曾经问一个问题,为什么「伟大」的Facebook要用PHP,答案是如果没有PHP,Facebook会更「伟大」。PHP的优点在于成熟稳定,经受考验;缺点在于语法较乱,代码管理不好。Tumblr和Pinboard都用的是典型的LAMP组合。
Twitter (Ruby on Rails):Twitter也不能说全都是Ruby on Rails了,用RoR的地方大概在浅层的实现,真正后台的处理已经改成Scala。Twitter的business logic很简单,RoR的优势并没有完全发挥。RoR的社区很活跃,有许多新技术都诞生于此,而且RoR的程序员都以RoR为骄傲,我的朋友就一直费口舌劝我说转去RoR。
Foursquare (Scala):承接这上一个说,Scala是运行在JVM的语言,继承了Java的优良特性,同时有许多改进,FS用的是Lift这个框架。
人人网 (Java):人人网一开始应该使用的Structs,后来肯定深度的Hack了Structs。Java做网络开发的缺点在于,成本太高。先不说JVM有多消耗内存,Java在开发效率(注意不是执行效率)要低于PHP, Ruby和Python。而且「Java系」习惯铺一个很大的摊子。所以Java主要运用在企业级别的应用,特别是Java对于Threading的控制。
Stackoverflow (.NET):.NET的初创公司太少了,SO比较奇葩一些。.NET成本高,不仅是开发成本,而且维护成本也高。Windows的服务器很贵,而且用起来不如Linux放心。
豆瓣 (Python):豆瓣用Python应该是阿北自己习惯咯,当时还没有Django,所以用的是Quixote。Python现在在YC-Funded的公司中很流行,甚至有超过Ruby。原因我觉得一方面是Python在大学中很流行(相比Ruby和PHP就不行了,我们大学甚至连PHP都不教,不认为它是一门语言),大学生毕业之后创业,自然选择熟悉的语言。Python的Framework选择也很多,包括Django, Web.py, Cherry.py, Pylon等等。

NS实现采用的技术大多是PHP,如果采用java、 .net是否同样适用?的更多相关文章

  1. 采用WPF技术,开发OFD电子文档阅读器

    前言 OFD是国家标准版式文档格式,于2016年生效.OFD文档国家标准参见<电子文件存储与交换格式版式文档>.既然是国家标准,OFD随后肯定会首先在政务系统使用,并逐步推向社会各个方面. ...

  2. [转帖]英特尔首款采用10nm技术的混合CPU“Lakefield”即将发布

    英特尔首款采用10nm技术的混合CPU“Lakefield”即将发布 intel 也出soc了 里面的东西 跟 安卓和 apple的a系列很像. https://baijiahao.baidu.com ...

  3. Java采用反射技术创建对象后对目标类的成员变量和成员方法进行访问

    实现: package com.ljy; import java.lang.reflect.Field; import java.lang.reflect.Method; /** * * @Class ...

  4. 横向技术分析C#、C++和Java优劣

    转自横向技术分析C#.C++和Java优劣 C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍.抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统 ...

  5. paip. 调试技术打印堆栈 uapi print stack java php python 总结.

    paip. 调试技术打印堆栈 uapi print stack java php python 总结. 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attil ...

  6. Java压缩技术(二) ZIP压缩——Java原生实现

    原文:http://snowolf.iteye.com/blog/642298 去年整理了一篇ZLib算法Java实现(Java压缩技术(一) ZLib),一直惦记却没时间补充.今天得空,整理一下ZI ...

  7. JEECG新版UI规划,主要提供H5方案(采用主流技术)

    JEECG 结合当前主流的UI技术,在新版3.7.4 即将推出新的UI方案,主要采用Bootstrap,Vue技术.同时提供代码生成器模板(单表.一对多),快速生成你喜好的模板代码. 版本一: Boo ...

  8. 为什么DRAM采用地址复用技术?为什么SRAM不采用地址复用技术?

    行列地址复用:比如你的存储器容量是16bit,那么可以将这16个比特组织成一个4*4的矩阵,为了找到某个你想要找的bit,比如第1行第2列的那个bit.你先发送二进制的01,表示要找的数据在第1行:接 ...

  9. Deepin 15.4 如何使用 罗技无线键盘/鼠标(采用优联技术)

    1.罗技的“无线优联技术”还是非常强大的,它跟具体的操作系统无关: 2.你只需要 让“优联接收器(一个USB设备)”跟 “无线键盘/鼠标” 配对即可,配对完之后,就无需再配对,即使把“优联接收器”插到 ...

随机推荐

  1. uva 11270 - Tiling Dominoes(插头dp)

    题目链接:uva 11270 - Tiling Dominoes 题目大意:用1∗2木块将给出的n∗m大小的矩阵填满的方法总数. 解题思路:插头dp的裸题,dp[i][s]表示第i块位置.而且该位置相 ...

  2. 混合模式程序集是针对“v1.1.4322”版的执行时生成的,在没有配置其它信息的情况下,无法在 4.0 执行时中载入该程序集。

    看到一个kinect大牛编写的一个水果忍者的体感游戏版本号,让我为自己一直以来仅仅用现有的网页游戏来模拟kinect体感游戏控制感到羞愧,没办法.我还是菜鸟.学习一段后自己模仿星际大战这个游戏.自己写 ...

  3. Project interpreter not specified(eclipse+pydev)

    [小记] 近期由于想配置Android的开发环境,把原来的MyEclipse5.5删了,下载了最新的Eclipse3.7版本号,由于之前在进行Python开发,就下载了最新的Pydev2.4版本号,安 ...

  4. 关于no system images installed for this target解决方法

    (1)国外网站都被屏蔽,连不上下载地址了 修改hosts文件(C:\Windows\System32\drivers\etc\hosts),在最后添加如下内容 127.0.0.1 localhost ...

  5. debugfs恢复文件

    echo "this is test" >xx debugfs: ls -d /root/test1 () . () .. () xx <> () test.c ...

  6. Ubuntu上VNC 配置

    Ubuntu下VNC配置文章分类:操作系统通过将服务器配置成VNC SERVER,可以让其他主机使用图形方式登录这台服务器. 在ubuntu下配置vnc server很简单,方法如下: 服务器端: 1 ...

  7. iOS tableview 静态表布局纪录

    今天使用了tableview静态表布局,纪录如下 1:使用tableview 静态表,必须是UITableViewController 2:Content 中选择 Static Cells 如下图 3 ...

  8. 初识jsp

    复习: 1.servlet生命周期: (1)默认是以第一次请求的时候创建并初始化Servlet,而且只做一次.(构造函数 init()) web.xml(配置后,是可以达到在服务启动后,立刻进行ser ...

  9. 动态使用webservice,以及含有ref类型的参数的问题

    public class WSHelper { /// < summary> /// 动态调用web服务 /// < /summary> /// < param name ...

  10. PV 并发量的计算

    http://blog.csdn.net/xingxing513234072/article/details/17336573 PV与并发之间换算的算法换算公式 并发连接数 = PV / 统计时间 * ...