1

使用多种编程语言构建大型软件(例如 Altera Quartus II)是否合理(和/或实践)?意思是,软件的菜单是用 c++ 编码的,也许用户与之交互最多的核心功能界面是使用 java 构建的。这甚至可能吗?如果是这样,使用大型软件这样做的缺点/好处是什么?

4

2 回答 2

2

这是可能的和实践的,但是建议您的应用程序的核心使用中级编程语言(如c++ )构建以提高性能,而前端部分以及任何与核心的实用程序和接口都可以使用其他语言构建像javascript

看看 Mozilla 浏览器,它是带有javascript UI的c++核心示例。

你的问题是关于它是否可能:答案是它。但是,我将尝试扩展一点,即使用c++java构建应用程序的挑战将是应用程序的两个部分之间的通信。为了做到这一点,你需要某种像xml这样的中间体。

于 2012-09-26T05:43:59.933 回答
2

可以使用多种语言构建应用程序,例如,您可以用 C++ 编写前端,用 Java 编写后端,并使用JNI进行通信。

虽然这样的应用程序允许您利用每种语言的特性,但它要求开发人员具有多个领域的专业知识或拥有多个开发人员,每个开发人员都会增加交付解决方案的成本。

此外,现在大多数编译器都倾向于在编译期间优化代码,因此开发人员不会尝试找到允许他们调整代码的各个方面的微优化,除非他们正在编写类似于 AutoCad 或 Photoshop 的东西,每一个都需要相对较高的系统资源。

具有多种语言的解决方案的另一个问题是如何使它们一起通信(套接字、共享内存段、管道等),这将是另一层复杂性。

于 2012-09-26T05:47:57.060 回答