在一个项目中使用不同的语言

Tar*_*bal 10 programming-languages

我最近听说过在一个(大)项目中使用了几种不同的语言,我还读到了一些着名的服务,比如使用Rails作为前端的Twitter,与其他一些语言混合使用,而Scala我认为它是后端.

  • 这是常见做法吗?谁那样做?

  • 我相信这有不利之处.我认为您将遇到不同的解释器/编译器问题并无缝连接不同的语言.这是真的?

  • 为什么这样做呢?为了表现?

rob*_*may 0

我相信就 Twitter 而言,这与性能有关;Scala 比 Ruby 快很多,他们用它来支持他们的队列系统。

除了维护问题之外,同时使用多种语言可以帮助抵消每种语言的缺点。对于 Twitter,Ruby(on Rails)非常适合运行其网站的前端,但使用更快的语言来处理琐碎的后台任务更有意义。对于排队系统来说,语言之间的集成并不困难,因为它们可以完全独立于应用程序本身,并且仍然可以正确执行任务。