使用多种编程语言构建大型软件(例如Altera Quartus II)是否合理(和/或实践)?这意味着,软件的菜单是用c ++编写的,也许用户与之交互的核心功能接口是使用java构建的。这甚至可能吗?如果是这样,使用大型软件这样做有什么缺点/好处?
答案 0 :(得分:2)
可行和实践,但建议您的应用程序的核心构建为中级编程语言,如 c ++ ,以提高性能,同时前端部分和任何实用程序和接口核心可以使用其他语言构建,如 javascript 。
使用 javascript 用户界面查看Mozilla浏览器,它是 c ++ 核心的一个示例。
你的问题是关于它是否可能:答案是这样的。但是,我会尝试稍微说一下,使用 c ++ 和 java 构建应用程序的挑战将是应用程序两个部分之间的通信。为了做到这一点,你需要某种像 xml 这样的中间体。
答案 1 :(得分:2)
可以使用多种语言构建应用程序,例如,您可以使用C ++编写前端,使用Java编写后端,然后使用JNI进行通信。
虽然这样的应用程序允许您利用每种语言的功能,但它要求开发人员拥有多个领域的专业知识或拥有多个开发人员,每个开发人员都会增加交付解决方案的成本。
此外,现在大多数编译器都倾向于在编译期间优化代码,因此开发人员不会尝试找到微优化,这允许他们调整代码的每个方面,除非他们正在编写类似于AutoCad或Photoshop的内容,每个其中需要相对较多的系统资源。
具有多种语言的解决方案的另一个问题是如何使它们一起通信(套接字,共享内存段,管道等),这将是另一层复杂性。