多种编程语言之间的合作

时间:2011-03-17 05:11:05

标签: model-view-controller language-agnostic multiple-languages

我是一个相当高级的业余爱好程序员。我认为自己有能力使用Objective-C,Java,一些直接的C,Python和一般的MVC设计。

我写过很多程序,但它们都是相对独立的,偶尔会使用外部库。

当阅读更大的项目和/或更复杂的程序时,我听到很多关于“在X中编写一个部分,并在Y中编写这个部分”的语言。

由于我对此缺乏经验,我想知道是否有人可以指出我正确的方向。对于使用多种语言编写的应用程序或项目,采用了哪些通用设计/机制?什么是“可编写脚本”的设计?

感谢您对该主题的任何指导! -Chase

2 个答案:

答案 0 :(得分:0)

取决于您需要做什么。例如,如果你想在线建立一个扑克游戏,那么很可能你会使用java作为应用程序,使用flash / flex作为界面。 Java具有库的功能,并且flash / flex非常普遍可用,并提供丰富的接口。 如果您的软件接收来自在线应用程序的输入并在特定输出(例如标签打印机)上提供输出,那么您的在线软件(Java / PHP / Python)将最好与目标计算机上的专门设计的程序进行通信。我使用C ++的程序,与java相比,它的技术能力,严谨性和速度。 我们的想法是确定最适合您目的的语言。在我看来,理想的是你使用一种语言来做所有的事情,这就是为什么我喜欢java,因为它似乎适合所有的东西,虽然它或多或少的名声很慢。

我以某种方式看待事物: 1.工程化,面向机器的东西然后它是C ++(和它的语言类型) 2.移动多功能东西(中间件主要)Java 3.在线,基于浏览器的东西PHP特别适用于B2C(面向人)的应用程序 4. Python,Ruby等是我在Java和PHP之间的观点,但我从来没有真正使用它们所以我无法给出确切的意见

您可以根据需要将它们链接在一起。

答案 1 :(得分:0)

没有单一的“正确方法”。存在多种方法,包括.NET方式,其中所有语言都托管在具有明确规定的互操作性约束的公共运行时环境中,以及良好的旧Unix方式,其中所有组件都应该通过管道或套接字,使用简单的基于文本的协议。

对于后者,您可以阅读经典书籍:http://en.wikipedia.org/wiki/The_Unix_Programming_Environment