【问题标题】:Name of process of using multiple languages together一起使用多种语言的过程名称
【发布时间】:2012-08-21 13:27:39
【问题描述】:

我想知道同时使用多种语言的过程的正式名称是什么。 假设我正在用 C++ 编写一个程序,该程序调用 Java 函数(并使用 Java 库),有时还调用 Python 函数。然后它收集这些调用的结果并继续执行。

你会如何命名这个过程?

【问题讨论】:

    标签: language-agnostic programming-languages naming-conventions naming multiple-languages


    【解决方案1】:

    取决于您使用了多少种不同的语言、使用不同语言的子问题有多大、这些语言对于手头的子问题的具体程度以及您自己设计了多少种语言来解决该特定子问题,它可能被称为面向语言的编程多语言编程或只是编程

    例如,仅使用 C++,您实际上会使用三种语言:C++ 本身、C++ 模板语言(基本上是一种混合功能/逻辑编程语言)和 C++ 宏语言。将makesh 用于构建,JSON 用于配置,roff 用于记录,Tcl 用于测试,您正在查看8 种语言。不过,我只称其为普通的编程,并没有什么特别之处。这同样适用于结合 HTML、CSS、ECMAScript、JSON、SQL、Java、XML、sh 的典型 Web 项目。

    面向语言的编程是另一端。在 LOP 中,您将问题分解为更小的子问题、子子问题等,然后使用最适合该特定子问题的语言解决每个子问题,可能是您专门为该子问题设计的语言。基本上,在 LOP 中,您使用 Languages 的方式与在 OOP 中使用 Objects、在 PP 中使用 ProceduresFunctions 的方式相同在FP等。通常,这些语言是领域特定的,通常不是图灵完备的。

    多语言编程处于中间位置:您对不同的较大组件使用不同的语言,但与单个对象的抽象级别不同,并且您通常使用预先存在的图灵- 完成通用语言,而不是自己设计它们。例如,trend.ly 使用“Smalltalk 用于思考,Java 用于蛮力计算,ECMAScript 用于可视化,Ruby 用于将这三者粘合在一起,sh 用于部署”。你的描述听起来最像 Polyglot Programming

    请注意,这些定义是非常主观的:例如,在 Lisp 中,设计和实现新语言如此显而易见、自然且微不足道,没有 Lisp 程序员会称他所做的为“面向语言”编程”。他们只是称之为“编程”。

    我不会硬性规定它,说“在 5 到 10 种语言之间是多语言,更多是面向语言的,更少只是编程”。这更像是一种心态:当你看到一个问题时,首先想到的是“我如何用这种语言解决这个问题”、“解决这个问题的最佳语言是什么”或“完美的语言是什么?解决这个问题的样子”?

    【讨论】:

      【解决方案2】:

      这叫做多语言编程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-22
        • 1970-01-01
        相关资源
        最近更新 更多