命令行工具的并行解释语言



我正在考虑开发一个命令行工具。我希望该工具的实现语言满足以下标准:

  • 已解释
  • 跨平台(至少Windows、macOS、Linux、BSD)和体系结构无关(运行在x86、ARM、POWER等上)
  • 广泛部署(例如,可通过上述系统上的软件包管理器下载)
  • 提供基于线程的并发,跨多个核心真正并行执行,无全局解释器锁定等
  • 可以加载用户代码的模块系统-工具的扩展是必需的用例
  • 良好的抽象机制(泛型、多态性、lambdas等)
  • 多范式:对于函数式编程、行动者模型等,没有极端的意见。用户不应该是编程语言专家来编写扩展

除了上述硬性要求外,以下是重要的必备品:

  • JIT
  • 静态类型,带有类型推断
  • 具有标准数据结构的高质量实现的标准库
  • 直截了当的语法,尤其是用于声明数据结构文字的语法
  • 相对初学者友好,适用于编写扩展的用户

我意识到这是一个很大的问题,可能没有一种语言能让我做到这一切。是什么让我最亲近?

我认为这个问题很快就会作为一个主要基于意见的问题结束,但我的尝试仍然是:

Groovy

它是一种成熟的基于JVM的语言,已经在您的需求列表中打上了大部分标记,并且有groovysh工具和GroovyShell类可以添加类似解释器的行为。