我很想知道许多大型应用程序(例如Facebook等社交网站)都是在其平台上构建多种语言。
他们通常从AJAX浏览器支持开始,然后缩小到PHP脚本,然后转向强大的OOP技术,如Java或.NET,最后是一种原始语言,以提高关键操作(如C)的性能。
我的问题是如何确定语言之间层的边缘。当PHP,当Java,当C等时。另一个问题是,这些语言是否应该以简单和维护的方式集成,或者当您决定使用Java编写应用程序模块而在本机C中编写其他模块时可能会出现这种情况。
哪些上下文变量促使我转向更好的性能语言? (例如由于用户增加引起的并发问题)
不要告诉我PHP与.NET和Java技术重叠。它起作用的起点,但当网络过载时,你开始看到差异。我的意思是如何在Java中实现多线程,就像在Java中一样,具有相同的性能。很难回答我的问题是因为没有那么多的阅读。你可能会找到一些关于PHP的好书,但很少有人知道如何以及何时整合不同的语言。
每种语言都是为不同的目的而创建的,Python在字符串操作方面很强大,Perl在批处理脚本方面非常强大,PHP是一种非常可靠的应用程序Web服务器,C是最流行语言的母亲。
最佳, 德棉。
答案 0 :(得分:1)
在规模的一端,只要您的分析和测量结果告诉您存在无法通过更好的算法,数据结构或其他优化进行修复的瓶颈,您就可以使用更高性能的语言。
另一方面,只要管理层允许,您就可以使用更高级别的语言(即更多抽象,更好的库)。 ;)
答案 1 :(得分:0)
我相信大多数团队只是使用他们最熟悉的东西。
还有许多可能影响决策的许可问题。
也就是说,如果您正在讨论相互比较的技术并在同一级别上解决问题(例如ASP.NET / JSF / JSP / PHP ......)。但是你无法将.NET与C ++进行比较,例如,它们旨在解决不同抽象级别上的不同问题。
答案 2 :(得分:0)
我对任何编程语言的标准是“它能帮助我完成工作还是只是阻碍了它?”如果是后者,那么现在是时候继续前进了。
答案 3 :(得分:0)
从经济的角度来看,答案很简单:定期查看哪些会更便宜。要么继续使用当前的技术,要么可以更多地扩展信封。或切换到新的东西。当你比较两种选择时,已经完成的投资成本已经不再那么重要了,因为你已经花了那么多钱。您只需要向前看:许可证费用,教育费用等。
当然这说起来容易做起来,但只是和几个人坐下来,想着它,也许尝试拿出一些数字已经帮了很多忙。我看到太多的项目继续使用那些真正不适合这项工作的技术。
同样难的数字并不能说明整个故事。由于技术陌生,失去地位的专家等会产生阻力。
答案 4 :(得分:0)
我敢肯定你可以想象第2步就是“我们使用什么编程语言”和“我们把咖啡机放在哪里”这样的决定。这是基本规则。