IBM i 确定可用的编程语言

IBM i Determine Available Programming Languages

我一次又一次地读到 IBM i 是一个支持许多 种编程语言的现代系统。除了 COBOL 和 RPG,我如何确定我可以使用哪些?

Wikipedia 上提供了清单,我对 C、C++、BASIC、SmallTalk 和 Pascal 尤其感兴趣。

https://en.wikipedia.org/wiki/IBM_System_i#Programming

什么命令可以运行确定安装了哪些语言?您如何在 qshell 环境中编辑这些语言的源代码? (Vi 输入在 qshell 中出现损坏...)

不再支持 BASIC、Pascal 和可能的 Smalltalk...

PL/1 仅通过现有客户的请求报价 (RPQ) 支持...

基本上,ILE 语言(IBM 提供的可以创建 IBM i *PGM 或 *SRVPGM 对象的编译器)

  • C
  • C++
  • COBOL
  • 角色扮演游戏
  • CL

还有SQL。用 SQL 编写的存储过程和用户​​定义函数实际上是作为 C *PGM/*SRVPGM 对象创建的。您还可以将上述任何 ILE 语言对象用作 SQL 存储过程或用户定义函数。最后,以上所有内容都可以在其源代码中嵌入 SQL 语句。

Scripting/interpretated 种语言(来自 IBM)

  • Net.Data
  • REXX

"Modern" 通过 PASE 支持的语言(基本上是一个 AIX 兼容层)

  • Java(JRE/SDK 由 IBM 提供)
  • PHP(Zend 的provided/supported)

以及其他开源语言(也通过 PASE)

  • Python
  • Perl
  • Node.js
  • Ruby

有关 IBM i 开源的更多信息,请点击此处 https://bitbucket.org/ibmi/opensource/src/master/

您所说的“对我可用”是什么意思并不完全清楚。如果您的意思是“已经安装并可以使用”,那么至少有几种方法可以检查,每种方法都可以找到一组不同的软件。

传统的、专有的东西可以通过输入 GO LICPGM 然后选择选项 10 找到。最有可能的是,如果你知道你已经有 CobolRPG 安装,然后你还有 CC++,因为它们是捆绑在一起的。如果您的设置非常典型,您还应该已经安装了 Java。我认为所有系统也有CLRexx(后者或两者可能不会显示为许可程序)。

更新的开源内容位于 PASE 中,由 yum 包管理器管理,您可以通过 Access Client Solutions GUI 或命令行使用它。如果您还没有安装 yum,您可以了解如何获得它 here。如果您确实安装了 yum,那么您可以使用在 PASE 命令行中输入的命令 yum list 找出已安装的软件(以及可以安装的软件)。

目前,IBM 通过 yum 提供的主要语言是 Node.js(JavaScript)、 PythonPerlRLua.此外,还有一个 independently developed repository,其中包含 Mono (.NET) 和 Erlang,以及增强的 R 重新打包。 yum 可以通过一些配置访问该 repo。

有企业支持(来自 IBM 以外的实体)的语言包括来自 Zend by Perforce and Ruby from PowerRuby. Both are delivered as traditional licensed programs, though there is now (as of December 2019) also a yum-installable community edition of PHP from Zend by Perforce. (Again, you would need to configure yum so that it can find that repoPHP

还有一个不寻常的 Python 版本称为 iSeriesPython which is freely downloadable,它存在于 QSYS 图书馆系统中,而不是在 PASE 中。 (iSeriesPython 网站不见了;我在此处包含的 Wayback Machine 快照是我能找到的最新快照,但不反映网站的最后状态或软件。使用我提供的下载 link 获取最新版本的软件。)


请注意,Qshell (QSH) 不是交互式使用 PASE 的合适环境。您需要使用 SSH 和 PuTTY 等客户端登录。如果这样做,那么您将拥有适当的 TTY 功能并可以使用 vi。此外,在撰写本文时,您可以使用 yum 来安装 nanojoevim.

但除了快速编辑或特殊情况外,大多数人不会使用其中任何一种。正常的工作流程是使用本地的任何你最喜欢的编辑器或 IDE(在你的 PC 上,Mac,或 Linux 框),然后使用 FTP 客户端或使用网络共享或 SSHFS 直接在 IFS 上编辑。