欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

为什么 Facebook 不使用 Java 架构?使用 Java 与 PHP 架构相比有哪些优势和劣势?

程序员文章站 2022-05-28 23:16:42
...

回复内容:

因为PHP是脚本语言,而Java是编译型语言。
大型互联网系统核心问题是scale(扩展,尤其是水平扩展),scale不是一门语言解决的。所以我们会关注这些系统的架构。Facebook主要是一个内容型系统加上消息型系统,它主要面临的问题是数据存取和消息传递,这些部分都和“前端(广义)”无关。
因为核心的问题和“前端(广义)”没有直接关系,是一个独立的问题。所以逻辑是:
  1. Founder使用什么语言;Founder的关系网络里使用哪种语言多。这两个因素第一。
  2. 脚本语言在测试和部署上面有更快速的周期,生态链更加简单。
  3. Java的JDK虽然是火箭技术,不过它的授权从来就是问题,很大影响了整个技术桟的选择。
这些因素考虑下来不用Java是理所应当的,使用其它脚本语言是碰巧发生的一种可能。 语言问题对facebook这种级别的公司,不能说不重要,但他们考量的标准肯定跟我们平常做个项目时不一样。facebook有大量优秀的工程师,可以在语言级别改造php。并且,据说php对facebook来说就是胶水语言。
j2ee的优势在于能让大量低水平工程师协同开发出一个还能用的系统。其它语言没在实际开发过项目,不好评论。
总的感觉是,facebook的水平导致了他们采用什么语言都能完成开发目标,对于一般公司来说,做企业级开发用j2ee或者.net仍然是比较好的选择。想敏捷的话,用php或python好一些。 因为项目开始的时候作者擅长php,问问哪个项目不是这个原因,其他解释说法都是自己意淫 1. facebook 使用php
2. facebook 开发了HipHop,性能大大提高
3. 数据库的分布式架构好,用户登录验证表就俩字段,其他全部拆分出去了
4. 还有其他的 应该是用C/C++ 完成的

PHP本身就是为互联网开发而出现的语言,非常适合Web开发,且类库非常丰富,开发效率非常高,且执行效率也非常不错。
java本来是为嵌入式设备设计的语言,开发Web还是略显笨重,其实大多数的互联网公司都是用PHP的。这两年Android开发又培养了不少做java开发的人。

相比较而言,java的可维护性要比PHP好,java代码的可读性也比PHP强,看到一堆的$符号实在有些晕啊。 php架在前端 后端用了一些java和c++ FB肯定不是PHP的,PHP最多算是个表皮