不同的编程语言可不可以混合编程?

新农商网 全部 1013

不同的编程语言可不可以混合编程?

回复

共7条回复 我来回复
  • 大贤锅锅
    大贤锅锅
    这个人很懒,什么都没有留下~
    评论

    这个问题过于宽泛,尝试回答一下。

    答案是肯定的。混合编程的关键,是适用场景。不同的编程的语言都有自己的优劣,巧妙组合效果极佳。有一种说法是,混合编程是未来。程序员掌握两门及以上的语言,了解不同的范式,一定是好的。至于架构师,得是必备要求。

    jvm体系内的各种语言,由于同在一个虚拟机下,就可以混合编程。例如常见的java+grovvy,就可以天然的混合编程,发挥各自优点。

    Python是一个优秀语言,通常做为胶水语言,可以把java,c,c++这些语言混合起来。

    以上一家之言,欢迎交流!

    2019-06-07 12:42:49 0条评论
  • 隐身的王大爷
    隐身的王大爷
    这个人很懒,什么都没有留下~
    评论

    一些语言可以支持其他语言的嵌入,几句可以,大段的没有这么用的吧。。。

    2019-06-07 12:43:04 0条评论
  • 数据指挥
    数据指挥
    这个人很懒,什么都没有留下~
    评论

    你说的这种语言内的混合编程,除了做系统级的应用外,很少使用了。

    还记得当年的C/C++/Delphi混编汇编语言吗?那才是真正的混编。以下看案例

    procedure Tform1.Button1Click(Sender: TObject);  

    var   

    X:DWORD;  

    begin   

    X:=$FF000000;   

    ShowMessage(format('移位前: %.8X',[X]));   

    asm    

    MOV EAX, X    

    ROR EAX, 8    

    MOV X, EAX   

    end;   

    ShowMessage(format('移位後: %.8X',[X]));  

    end;

    之中的asm到 end;就是混编了汇编代码!

    这样做的劣势就是紧耦合绑定,修改代码太麻烦。

    目前基本都是推荐微服务的模式来进行大结构规划,这块就是利用各种语言优势来编写代码了!

    比如用c/c++来写底层算法代码

    java调用算法代码编写工程性的代码,

    php/python写界面这些应用和用户交互

    这需要根据项目功能和工程量来规划的!

    语言知识实现手段,别把语言当成主题!

    2019-06-08 08:26:16 0条评论
  • 三轮新司机
    三轮新司机
    这个人很懒,什么都没有留下~
    评论

    可以肯定的回答你,可以。

    目前几乎所有硬件平台的启动程序都是用汇编语言和C语言来实现的,所以这两种必然是可以混合编程的。

    几乎所有的操作系统都是基于C语言实现的,现代操作系统如Linux和Windows都是提供C++开发环境的,C和C++本身就是父子两,混合编程是理所当然的支持。

    更高级的如java语言,也支持通过JNI来调用C或C++的接口。

    目前流行的胶水语言python就更不用说了,几乎能与任何其他语言混合编程。

    造成这样结果的原因,也是因为程序员的需要。

    一门编程语言在设计时,就会考虑到与已有的语言进行交互,至少需要支持与更低级的语言进行交互。比如C语言就支持嵌入式汇编。

    另外不同的公司或组织偏好不同的编程语言,但他们经常在某些项目或产品上或主动或被动的进行合作,合作的方式基本上就是我用你的模块功能,你用我的产品接口,但又不可能因为要用别人的产品而让自己的组织更换一种语言吧,于是互相调用的需要就这么产生了。

    还有就是操作系统,比如Windows的DLL动态库,就有规定的文件格式自己调用方法,不管你是什么语言,只要按照微软的规范去调用,就能使用它的DLL。Linux的so库也是一样的道理。

    2019-06-07 15:20:48 0条评论
  • 柳牧山
    柳牧山
    这个人很懒,什么都没有留下~
    评论

    可以,但需要编程接口和工具的支持。比如安卓上Java通过JNI调用C/C++的程序。

    2019-06-07 14:36:56 0条评论
  • 过客12345
    过客12345
    这个人很懒,什么都没有留下~
    评论

    可以,比如,编译型语言工具delphi、c++等,可以集成解释型语言(比如python、lua等)的开发运行环境,实现混合语言编程,扬长避短、多专业人员协作开发。

    2019-06-07 14:23:42 0条评论
  • 柳牧山
    柳牧山
    这个人很懒,什么都没有留下~
    评论

    可以,但需要编程接口和工具的支持。比如安卓上Java通过JNI调用C/C++的程序。

    2019-06-07 14:36:56 0条评论