【问题标题】:What languages do twitter and facebook use? [closed]twitter 和 facebook 使用什么语言? [关闭]
【发布时间】:2011-01-08 23:52:08
【问题描述】:

在过去的 6 个月里我一直在使用 php,我几乎可以用它做任何事情。但是像 Facebook 和 Twitter 这样的大网站似乎并不使用 php。我想知道他们使用什么语言以及为什么他们选择该语言而不是 php。

Ruby on Rails 是构建健壮的大型网站的好语言吗?我在 youtube 上看到 RoR 的视频嘲笑其他框架和语言。真的是厉害吗?

【问题讨论】:

  • 也许该问题应该重新命名。类似于“Ruby on Rails 的可行性或大型、健壮的 Web 应用程序的替代方案?”无论如何,闸门是敞开的。
  • 我不知道你从哪里得到你的信息,但 Facebook 最初是专门用 PHP 构建的。 Facebook 对 PHP 如此根深蒂固,以至于他们 built several virtual machines 让 PHP 在他们正在使用的规模上工作,甚至创建了一种名为 Hack 的超集语言。为什么他们会烦恼而不是选择更好的工作工具,这超出了我的理解。

标签: ruby-on-rails facebook twitter


【解决方案1】:

它的生命始于 Ruby on Rails 应用程序,并且仍然使用 Ruby Rails 提供大多数面向用户的 Web 页。但大约一年前,他们 开始更换一些后端 带有应用程序的 Ruby 服务 在JVM上运行并写入 斯卡拉

Facebook 的技术堆栈包括 用许多编写的应用程序 语言,包括 PHP、C、C++、 Erlang 等。

【讨论】:

    【解决方案2】:

    twitter 是基于 Ruby on Rails 构建的

    facebook 主要使用 PHP,但也依赖于“C++、Java、Python 和 Erlang”——http://en.wikipedia.org/wiki/Facebook#Server_infrastructure

    【讨论】:

    • 为什么是-1?他简洁地回答了这个问题。除了第三行编辑意见,但我们可以忽略它。
    • 仅供参考:Twitter 最近从 Ruby on Rails (ROR) 切换到 Java,因为 ROR 的可扩展性不大...... Twitter 迁移到 java 对 ROR 的声誉影响很大。
    • 实际上,Twitter 使用的是 Scala,而不是 Java。 Scala 确实运行在 JVM 上,并且与 Java 兼容,但它是一种不同的语言。
    • Facebook 有一个名为 HipHop(或 HPHP)的工具链,可将 PHP 代码编译为 C++ 代码,以加快速度。更多信息:en.wikipedia.org/wiki/HipHop_for_PHP
    • Twitter 在技术栈上运行,语言是 Scala,Java 在 JVM 上运行。您可以注意到 Twitter 中使用的各种语言和开源平台。 Finagle 是 twitter 依赖的主要框架之一。
    【解决方案3】:

    此时,Twitter 主要在 Scala 上运行(尽管加入了一些 Ruby on Rails)(cite)。

    Facebook 主要运行 PHP,但也在后端使用一些 C++、Java、Python 和 Erlang (cite)。

    【讨论】:

      【解决方案4】:

      我会说这取决于您对该语言的熟悉程度。任何语言都可以用来构建强大的大型网站

      【讨论】:

      • 我正在尝试使用汇编语言构建一个社交网站,这需要相当多的工作
      • @HaiPhan,你真是个骗子;)
      【解决方案5】:

      大型网站优化通常与您如何优化数据库查询有关。

      就语言本身而言,您始终可以在更多计算机上运行 PHP,因为它们已经饱和。它们并不是真正阻止 PHP 在大型网站上运行的任何东西,它更多的是关于您喜欢使用的代码类型。

      是的,我认为 Ruby/Python 可以生成更好的代码,但最终,任何代码都可能看起来很糟糕并且运行缓慢。

      【讨论】:

        【解决方案6】:

        twitter 现在实际上在使用 scala

        【讨论】:

        • 仅适用于部分网站。他们仍然大量使用 RoR。
        【解决方案7】:

        实际上,Twitter 目前在服务器端使用许多编程语言(C++、Java、Scala、Ruby on Rails),就像 facebook 使用 Hack、PHP、C++、Java、Python、Erlang、D Xhp 等其他 Web 应用程序一样。

        Here is detail and updated Link

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-03-18
          • 1970-01-01
          • 1970-01-01
          • 2017-07-31
          • 2012-07-25
          • 2021-03-24
          • 2012-03-14
          相关资源
          最近更新 更多