我想知道,许多大型应用程序(例如,facebook等社交网站)在其平台中内置了多种语言。
它们通常从支持AJAX浏览器开始,然后缩减到PHP脚本,然后转向强大的OOP技术,如Java或.NET,最后是一种原始语言,以提高关键操作的性能,如C。
我的问题是,我应该如何确定语言之间的层的边缘。当PHP时,当Java时,当C时等等。另一个问题是,为了简单和维护,这些语言是否应该以垂直方式集成,或者当您决定用Java编写应用程序的模块,而用原生C编写其他应用程序模块时,是否会出现这种情况?
推动我转向性能更好的语言的上下文变量是什么?(例如,由于用户增加而导致的并发问题)
不要告诉我PHP与.NET和Java Technologies重叠。在一开始是这样的,但当网络过载时,您开始看到差异。我的意思是,我如何才能在PHP中实现与Java中相同性能的多线程。很难回答我的问题是因为关于这方面的阅读并不多。您可能会找到一些介绍PHP的好书,但很少有书讲述如何、何时以及为什么集成不同的语言。
每种语言都是为不同的目的而创建的,Python具有强大的字符串操作能力,Perl在批处理脚本方面非常强大,PHP是一个非常可靠的web服务器应用程序,C是最流行的语言之母。
最好的,德米安。
发布于 2010-02-01 18:15:30
在规模的一端,每当您的概要分析和测量告诉您有一个无法通过更好的算法、数据结构或其他优化解决的瓶颈时,您就会转向更高性能的语言。
在另一端,您转移到更高级别的语言(即。更多的抽象,更好的库)只要你的管理允许你这样做。;)
发布于 2010-02-01 18:14:56
我相信大多数团队只是简单地使用他们最熟悉的东西。
还有一些许可问题可能会影响决策。
也就是说,如果您谈论的是相互比较并在同一级别上解决问题的技术(例如,ASP.NET/JSF/JSP/PHP...)。但你不能将.NET与C++进行比较,它们的目的是在不同的抽象层次上解决不同的问题。
发布于 2010-02-01 18:17:35
我对任何编程语言的标准都是“它是帮助我完成工作,还是只会妨碍我完成工作?”如果是后者,那么是时候继续前进了。
https://stackoverflow.com/questions/2175877
复制相似问题