热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

IBM专有的RPG编程语言:概述

报告程序生成器(或简称RPG)是一种高级编程语言,可用于各种业务应用程序和用途。它是IBM专有的编程模块,其大多数更高版本只

报告程序生成器(或简称RPG)是一种高级编程语言,可用于各种业务应用程序和用途。 它是IBM专有的编程模块,其大多数更高版本只能在基于IBM i或OS / 400的系统上访问。

RPG实际上有很长的历史。 它是由技术巨头IBM在1959年作为报告程序生成器开发的,该工具被开发用作IBM 1401上打孔卡处理系统的替代品。但是,在开发之后,它后来被更新为RPG II。 1960年代IBM System / 3的版本。 从那以后,它已经发展成为等效于COBOL和PL / I的高级语言。

时至今日,RPG仍然是IBMi操作系统上非常流行的编程语言。 RPG IV(也称为ILE RPG)是RPG的最新版本,它是一种为AS400 RPG程序员提供高度启用编程环境的工具。

RPG最初开发时,其主要据点就是程序周期。 每个RPG程序都在假设循环内执行程序。 此循环能够将相同的程序应用于记录中的每个文件。 届时,程序中的每条记录和每一行之间都会进行比较。 每一行都可以根据是打开还是关闭指示器来选择是否对记录执行操作。 打破级别和匹配记录的整个想法是RPG II语言所独有的。

自1979年推出System / 38以来,大多数RPG程序员都停止使用该循环,而是选择了具有标准循环结构的控制程序流。 但是,IBM还继续为该周期提供向后兼容性。

IBM i RPG程序员

IBM iSeries程序员(或AS400 RPG程序员,如果需要的话)是经过特殊培训的专业人员,他们经过培训可以使用RPG编程语言来处理和解决问题。 RPG程序员通常由IBM i应用程序开发公司雇用来创建可集成到业务运营中的代码,以确保更高的效率。

在任何特定的日子里,RPG程序员都可以处理各种各样的任务,从创建新代码到确保对现有程序代码的正确维护(尽管现有代码可能以看起来略有不同的RPG代码版本编写)。 如果您想雇用RPG程序员,他们可以为您提供以下任何帮助:

  • 分析,设计,开发和维护以多种语言编写的IBM i软件,包括RPG,RPG ILE,RPG-FREE和SQL。
  • 遵循各种功能规范以创建技术文档并开发伪代码。
  • 要么创建新的RPG程序,要么加强现有的RPG程序。
  • 如果有任何问题,他还可以对您的业务流程进行故障排除,以诊断问题出在哪里。
  • 他还调试任何现有软件来查找和解决问题。
  • 在现有软件中实施新代码和错误修复。

RPG历史悠久……

由于RPG一直是用于商业应用程序的最可靠的语言,因此许多更新和版本已帮助IBM i程序员轻松编写代码。

RPG II:在RPG之后,RPG II进行了更多更新和修改,因此可以轻松地在当时最小的IBM系统上运行。 这些包括-IBM 1130,IBM system3,system34和system36。 后来,它还用于更大的系统,例如system370。 RPG II最有趣的方面是它是一种固定格式的编程语言,每个代码都应放在相应的列中,以生成正确的输出。

RPGIII:该系列的下一个产品是RPG III,它是为System38和其他更大系统开发的。 RPGIII得到了进一步增强,可以支持IF END IF,DO循环和子例程等新结构。 它可用于较大的系统,例如带有OS VS1的IBM system370。

RPGIV / RPGLE: RPGIV于1994年开发,与RPGIII相比有很多增强,例如:

  • 较长的字段名称
  • 源代码级调试
  • 日期和时间支持
  • 其他数据类型(浮点数,布尔值,指针)
  • 自由格式表达式
  • 内置功能
  • 大小写容忍

RPGIV的一大功能是符合ILE。 这意味着程序员除了具有集成多种语言的能力外,还具有大量的功能,性能,维护和生产力方面的好处。

RPG5是IBM i V5的ILE格式的免费版本和IBM i V6的RPG6

RPG7: RPG 7是RPG编程语言的最新版本,在整个行业中得到广泛使用。 它是IBM i V7的完全免费格式。

RPG开放访问处理程序

任何编程语言中的处理程序都是为特定任务创建的事件或函数。 RPG开放访问处理程序是一种接口或方法,用于处理与可用资源和设备的通信。 合理的开放访问是RPG程序员使用RPG I / O模型轻松利用RPG不直接支持的资源和设备的一种方式。

此开放访问提供RPG的文件I / O功能,允许任何人编写创新的I / O处理程序来访问其他设备。

RPG推出的平台-

众所周知,RPG的初始版本是为IBM系统开发的,例如1401,/ 360,/ 3,/ 32,/ 34,/ 36,/ 38 AS / 400和System i系统。 后来对Sperry Univac BC / 7,Digital VAX,Siemens BS2000,Univac system 80,Burroughs B700,B1700等进行了增强和实施。 通过WINRPG编译器为RPG编译器开发的最新平台是Windows .Net。

结论

RPG历史悠久,最初是由报告程序生成器开发的,如今已被COBOL和PL / I等最好的高级语言之一使用。 版本太多,有时会造成混乱,但与任何其他语言相比,发展都很快。 许多基于IBM i的组织不时依赖最新版本的RPG( 稳定版:RPG IV版本7 )来增强和开发新的解决方案。

From: https://hackernoon.com/ibms-proprietary-rpg-programming-language-an-overview-8n7y3bnk



推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
author-avatar
手机用户2702932807
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有