programming-languages - 什么时候混合语言?

标签 programming-languages mixing

哪些情况下应该混合使用语言?

我不是在谈论将 ASP.NET 与 C# 和 HTML 一起使用,或者使用 C 编写的应用程序通过 SQL 查询访问 SQL 数据库。例如,我在谈论诸如将 C++ 与 Fortran 或 Ada 与 Haskell 混合之类的事情。

[编辑]

首先:感谢您的所有回答。

当我问这个问题时,我想到的是你总是读“每种语言都有其特殊用途”。

通常,您可以通过使用特殊库以任何语言完成几乎所有事情。但是,如果您对学习不同的语言感兴趣,为什么不选择最适合您目的的编程语言,而不是解决您的语言最初不是为之设计的问题的库?

最佳答案

例如,在视频游戏中,我们出于不同目的使用不同的语言:

  • 应用(游戏)代码 : 必须快速、有条理并且大部分时间跨平台(至少 win,设想 MacOS),通常在约束繁重的平台(控制台)上,因此使用 C++(有时是 C 和 asm)。
  • 开发工具 :关卡设计工具生成游戏代码将使用的数据。这类工具不需要在目标平台上运行(但如果可以的话,调试起来会更容易),因此它们通常是使用 C#、Python 等快速开发语言制作的。
  • 脚本系统 :游戏的某些部分必须由设计师使用变量或脚本进行调整。嵌入脚本语言而不是编写脚本语言确实更容易且便宜,因此经常使用 Lua 或其他类似的脚本语言。
  • 网络应用 :有时游戏需要在线提供一些数据,最常见的是在使用 SQL 访问的数据库中。然后,Web 应用程序用一种语言编写,可能是 C#、Ruby(R.O.R.)、Python、PHP 或任何其他适合工作的语言。因为它是关于网络的,所以你也必须使用 HTML/Javascript。
  • 等等...

  • 在我的游戏中,我也将 HTML/Javascript 用于 GUI。

    [编辑]

    回答您的编辑:您最了解的语言并不总是最有效的工作工具。这就是为什么例如我在自制游戏中使用 C++ 的原因,因为我最了解它(我可以使用很多其他语言,因为目标是 Win/Mac/Linux,而不是控制台)但我使用 Python 来处理与构建过程相关的所有事情、文件操作等。我对 Python 不是很了解,但使用它进行快速文件操作比使用 C++ 更容易。出于显而易见的原因,我不会将 C++ 用于 Web 应用程序。

    最后,您使用对工作有效的方法。这就是你通过在现实世界的限制下工作而学到的东西,牢记金钱、时间和质量。

    关于programming-languages - 什么时候混合语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1080909/

    相关文章:

    design-patterns - 编程语言和设计模式

    regex - 所有正则表达式实现的列表?

    css - Bootstrap LESS 中颜色的默认变量?

    audio - 从混音器获取数据

    c - 如何使用 SoX C 库混合音频文件

    Java源代码依赖关系图

    programming-languages - 不同编程语言的重载

    java - 这在java或任何其他编程语言中可能吗

    c++ - xstring第1331行的字符串下标超出范围