{"id":63442,"date":"2023-12-11T15:18:49","date_gmt":"2023-12-11T13:18:49","guid":{"rendered":"https:\/\/www.arcadsoftware.com\/arcad\/?p=63442"},"modified":"2025-03-13T17:56:00","modified_gmt":"2025-03-13T15:56:00","slug":"rpg-coding-to-a-standard","status":"publish","type":"post","link":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/","title":{"rendered":"RPG Coding to a Standard"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_3_5 3_5 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:60%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.2%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.2%;--awb-width-medium:60%;--awb-order-medium:0;--awb-spacing-right-medium:3.2%;--awb-spacing-left-medium:3.2%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\" style=\"--awb-content-alignment:center;\"><p>By Nicholas Delessio<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_4_5 4_5 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:80%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.4%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:2.4%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\"><p><b>IBM RPG is a programming language unique in its complicated simplicity.<\/b><\/p>\n<p>Created in the late 1950s, it has slowly but steadily evolved over the course of decades. Punched cards, paper tape, magnetic tape, blinkenlights, green phosphor terminals (or amber if you prefer), CRTs and LCDs have all run-in with the language. As the needs of businesses changed, so too did the language evolve.<\/p>\n<p>With that pedigree, it\u2019s easy to be misled into thinking of RPG as a dinosaur language, but in fact it\u2019s evolved substantially. Today\u2019s Free Format RPG looks nothing like the column-based programs of the 1980s (which in turn look nothing like the punched card cycle programs of the 1960s) yet the new syntax is much more powerful than it\u2019s ever been. That power comes from its simplicity: from the standpoint of other modern programming languages, free format RPG is an extremely simple, extremely easy to read syntax. A programmer familiar in any other modern language looking at a modern RPG program would, at a glance, be able to determine its general function.<\/p>\n<p><b>That\u2019s because the latest RPG is a modern language.<\/b><br \/>\nThis is a very good thing; today\u2019s RPG developer has more flexibility than ever to use modern, easy to read conventions in their code. From a business\u2019s perspective, that means easier maintenance, less time chasing down bugs to keep the lights on.<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"text-align:center;--awb-margin-top:30px;--awb-margin-bottom:30px;--awb-max-width:500px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"1195\" height=\"638\" alt=\"Code Quality Check Solution\" title=\"Code Quality Check Solution\" src=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2021\/06\/picto-solution-code-quality-check-1.png\" class=\"img-responsive wp-image-44502\" srcset=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2021\/06\/picto-solution-code-quality-check-1-200x107.png 200w, https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2021\/06\/picto-solution-code-quality-check-1-400x214.png 400w, https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2021\/06\/picto-solution-code-quality-check-1-600x320.png 600w, https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2021\/06\/picto-solution-code-quality-check-1-800x427.png 800w, https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2021\/06\/picto-solution-code-quality-check-1.png 1195w\" sizes=\"(max-width: 640px) 100vw, 1195px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_4_5 4_5 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:80%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.4%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:2.4%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-3\"><p>Unfortunately, nothing exists in a vacuum. RPG didn\u2019t reach its current state overnight; there were many small steps along the path to true free-format code, and with each of these steps coding conventions changed just a little bit. It\u2019s easy, as a shop or a developer, to get lost in the state of the art. What are the current best practices for the language? Does learning them make a real difference in the functionality of the code? Is it worth the effort to change from what\u2019s already known and tried? Is simply being free format enough?<\/p>\n<p>While there\u2019s no single answer for everyone, <b>ARCAD has made the effort to aid the modern RPG shop by implementing best practices in CodeChecker.<\/b><br \/>\nARCAD CodeChecker was already a powerful linting tool. It did, and still does, allow shops to define broad metrics, rules and rule sets that can check over just one program, or an entire code base, to make sure that code is up to a business\u2019s specifications. Code not up to those specs can trigger anything from a polite warning to a hard stop error, based on the individual rule and the preferences of the business.<\/p>\n<p>Powerful capabilities indeed.<br \/>\nUp until now it was on the business to define those rules themselves. It made sense that with such a powerful linting tool at our disposal, which can already traverse and remark on a whole code base, we should also come with a set of rules that aid the developer in conforming to the best practices of today. So that\u2019s just what we set out to do.<\/p>\n<p>We traversed the publications. We worked with some of the leading people in the field, like Jim Buck. We drew from our own experience in-house. What we came up with at the end of this exercise was a broad set of Best Practices that can be used as an interactive \u201cstyle guide\u201d to steer any developer looking to modernize skills toward the path of writing clean, up-to-date code.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-padding-top:40px;--awb-padding-right:40px;--awb-padding-bottom:25px;--awb-padding-left:40px;--awb-bg-color:rgba(232,232,232,0.38);--awb-bg-color-hover:rgba(232,232,232,0.38);--awb-bg-size:cover;--awb-border-color:#ea5050;--awb-border-left:7px;--awb-border-style:solid;--awb-width-large:66.666666666667%;--awb-margin-top-large:45px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-4 fusion-text-no-margin\" style=\"--awb-margin-bottom:5px;\"><p><b>Discover <span style=\"font-size: 17px;\" data-fusion-font=\"true\">ARCAD CodeChecker<\/span>: Automate the detection of quality flaws and security vulnerabilities in IBM i source code.<\/b><\/p>\n<\/div><div style=\"text-align:right;\"><a class=\"fusion-button button-flat button-xlarge button-custom fusion-button-default button-1 fusion-button-span-no fusion-button-default-type\" style=\"--button_accent_color:#ea5050;--button_border_color:#ea5050;--button_accent_hover_color:#437cb4;--button_border_hover_color:#437cb4;--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button-border-radius-top-left:0px;--button-border-radius-top-right:0px;--button-border-radius-bottom-right:0px;--button-border-radius-bottom-left:0px;--button_gradient_top_color:rgba(255,255,255,0);--button_gradient_bottom_color:rgba(255,255,255,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.arcadsoftware.com\/arcad\/products\/arcad-code-checker-source-quality\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Learn more about ARCAD CodeChecker<\/span><i class=\"fa-arrow-right fas awb-button__icon awb-button__icon--default button-icon-right\" aria-hidden=\"true\"><\/i><\/a><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_4_5 4_5 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:80%;--awb-margin-top-large:30px;--awb-spacing-right-large:2.4%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.4%;--awb-width-medium:80%;--awb-order-medium:0;--awb-spacing-right-medium:2.4%;--awb-spacing-left-medium:2.4%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\"><p><span style=\"color: var(--awb-text-color); font-family: var(--awb-text-font-family); font-size: var(--awb-font-size); font-style: var(--awb-text-font-style); font-weight: var(--awb-text-font-weight); letter-spacing: var(--awb-letter-spacing); text-align: var(--awb-content-alignment); text-transform: var(--awb-text-transform); background-color: var(--awb-bg-color-hover);\">Our rules consider the length of variable names (not constrained to 8 character puzzle boxes anymore). We consider the proper declaration of parameters to protect them from unintended changes. We consider the use of qualified names for things like variables and data structures, monitor blocks, variable length fields, and more. ARCAD not only laid these out in an easy to follow document, but implemented all of the rules and rule sets in CodeChecker, so you can stack these rules up to your own code with a few clicks.<\/span><\/p>\n<p>No solution is one-size-fits-all, of course. ARCAD recognizes that. That\u2019s why, <b>with the flexibility of CodeChecker, you can selectively apply these rules to your code any way you want<\/b>. They can (and should) apply only to RPGLE. They may only point to specified libraries, and be disabled or enabled at any severity level you want. We give you the suggestions, but you\u2019re in control.<\/p>\n<p>We also continue to look to expand these rules. <b>RPG is a changing language, after all.<\/b><br \/>\nFinally, in being state of the art, CodeChecker is fully compatible with ILE based, Git solutions. This includes compatibility with Git\u2019s new Delta Mode. Our rules aid anything from traditional source members to the bleeding edge in iSeries development. This is a tool that can grow with you.<\/p>\n<p>As business continues to evolve, so does the need for more powerful, simpler code that\u2019s well written and easy to maintain. <b>ARCAD\u2019s CodeChecker helps your business realize those goals by doing the heavy lifting of defining best practices and helping you to identify them in your code. <\/b>Code written to good, modern practices will be more easily maintained in the future, making your business more agile and your developers more able to quickly make changes and diagnose issues.<br \/>\nWe provide you these rules and put this power in your hands.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-padding-top:40px;--awb-padding-right:40px;--awb-padding-bottom:25px;--awb-padding-left:40px;--awb-bg-color:rgba(232,232,232,0.38);--awb-bg-color-hover:rgba(232,232,232,0.38);--awb-bg-size:cover;--awb-border-color:#ea5050;--awb-border-left:7px;--awb-border-style:solid;--awb-width-large:66.666666666667%;--awb-margin-top-large:45px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-6 fusion-text-no-margin\" style=\"--awb-margin-bottom:5px;\"><p><strong>[Webinar] Drive Code Quality &amp; Security in your IBM i applications<\/strong><\/p>\n<\/div><div style=\"text-align:right;\"><a class=\"fusion-button button-flat button-xlarge button-custom fusion-button-default button-2 fusion-button-span-no fusion-button-default-type\" style=\"--button_accent_color:#ea5050;--button_border_color:#ea5050;--button_accent_hover_color:#437cb4;--button_border_hover_color:#437cb4;--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button-border-radius-top-left:0px;--button-border-radius-top-right:0px;--button-border-radius-bottom-right:0px;--button-border-radius-bottom-left:0px;--button_gradient_top_color:rgba(255,255,255,0);--button_gradient_bottom_color:rgba(255,255,255,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/on-demand-webinars\/drive-code-quality-security-in-your-ibm-i-applications\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Watch the Replay<\/span><i class=\"fa-arrow-right fas awb-button__icon awb-button__icon--default button-icon-right\" aria-hidden=\"true\"><\/i><\/a><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The latest RPG is a modern language and ARCAD has made the effort to aid the modern RPG shop by implementing best practices in CodeChecker.<\/p>\n","protected":false},"author":16,"featured_media":63444,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[219],"tags":[616,563,369],"class_list":["post-63442","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-blog-en","tag-blog-article","tag-ibm-i-modernization"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RPG Coding to a Standard | Blog<\/title>\n<meta name=\"description\" content=\"The latest RPG is a modern language and ARCAD has made the effort to aid the modern RPG shop by implementing best practices in CodeChecker.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RPG Coding to a Standard | Blog\" \/>\n<meta property=\"og:description\" content=\"The latest RPG is a modern language and ARCAD has made the effort to aid the modern RPG shop by implementing best practices in CodeChecker.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/\" \/>\n<meta property=\"og:site_name\" content=\"ARCAD\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-11T13:18:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-13T15:56:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2023\/11\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"940\" \/>\n\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Myriam Goutte\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Myriam Goutte\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/\"},\"author\":{\"name\":\"Myriam Goutte\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/person\\\/56072f2a9491143460e3cadf23b9d730\"},\"headline\":\"RPG Coding to a Standard\",\"datePublished\":\"2023-12-11T13:18:49+00:00\",\"dateModified\":\"2025-03-13T15:56:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/\"},\"wordCount\":2542,\"publisher\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg\",\"keywords\":[\"blog\",\"Blog Article\",\"IBM i Modernization\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/\",\"name\":\"RPG Coding to a Standard | Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg\",\"datePublished\":\"2023-12-11T13:18:49+00:00\",\"dateModified\":\"2025-03-13T15:56:00+00:00\",\"description\":\"The latest RPG is a modern language and ARCAD has made the effort to aid the modern RPG shop by implementing best practices in CodeChecker.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg\",\"width\":940,\"height\":350,\"caption\":\"Illustration de blog code CodeChecker\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/rpg-coding-to-a-standard\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"ARCAD\",\"item\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RPG Coding to a Standard\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#website\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\",\"name\":\"ARCAD\",\"description\":\"Experts DevOps &amp; Modernisation sur IBM i (alias AS\\\/400 ou AS400)\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\",\"name\":\"ARCAD Software\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/arcad-group-logo-text-144.png\",\"contentUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/arcad-group-logo-text-144.png\",\"width\":144,\"height\":200,\"caption\":\"ARCAD Software\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pages\\\/Arcad-Software\\\/116086138469235\",\"https:\\\/\\\/x.com\\\/arcad_software\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/arcad-software\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/ARCADSoftwareInc\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/person\\\/56072f2a9491143460e3cadf23b9d730\",\"name\":\"Myriam Goutte\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/author\\\/myriam-goutte\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RPG Coding to a Standard | Blog","description":"The latest RPG is a modern language and ARCAD has made the effort to aid the modern RPG shop by implementing best practices in CodeChecker.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/","og_locale":"en_US","og_type":"article","og_title":"RPG Coding to a Standard | Blog","og_description":"The latest RPG is a modern language and ARCAD has made the effort to aid the modern RPG shop by implementing best practices in CodeChecker.","og_url":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/","og_site_name":"ARCAD","article_publisher":"https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235","article_published_time":"2023-12-11T13:18:49+00:00","article_modified_time":"2025-03-13T15:56:00+00:00","og_image":[{"width":940,"height":350,"url":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2023\/11\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg","type":"image\/jpeg"}],"author":"Myriam Goutte","twitter_misc":{"Written by":"Myriam Goutte","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/#article","isPartOf":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/"},"author":{"name":"Myriam Goutte","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/person\/56072f2a9491143460e3cadf23b9d730"},"headline":"RPG Coding to a Standard","datePublished":"2023-12-11T13:18:49+00:00","dateModified":"2025-03-13T15:56:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/"},"wordCount":2542,"publisher":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization"},"image":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/#primaryimage"},"thumbnailUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2023\/11\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg","keywords":["blog","Blog Article","IBM i Modernization"],"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/","url":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/","name":"RPG Coding to a Standard | Blog","isPartOf":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/#primaryimage"},"image":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/#primaryimage"},"thumbnailUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2023\/11\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg","datePublished":"2023-12-11T13:18:49+00:00","dateModified":"2025-03-13T15:56:00+00:00","description":"The latest RPG is a modern language and ARCAD has made the effort to aid the modern RPG shop by implementing best practices in CodeChecker.","breadcrumb":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/#primaryimage","url":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2023\/11\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg","contentUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2023\/11\/Banniere-Article-de-blog-RPG-Coding-to-a-Standard-1.jpg","width":940,"height":350,"caption":"Illustration de blog code CodeChecker"},{"@type":"BreadcrumbList","@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/rpg-coding-to-a-standard\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"ARCAD","item":"https:\/\/www.arcadsoftware.com\/arcad\/"},{"@type":"ListItem","position":2,"name":"RPG Coding to a Standard"}]},{"@type":"WebSite","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#website","url":"https:\/\/www.arcadsoftware.com\/arcad\/","name":"ARCAD","description":"Experts DevOps &amp; Modernisation sur IBM i (alias AS\/400 ou AS400)","publisher":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.arcadsoftware.com\/arcad\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization","name":"ARCAD Software","url":"https:\/\/www.arcadsoftware.com\/arcad\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/logo\/image\/","url":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/09\/arcad-group-logo-text-144.png","contentUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/09\/arcad-group-logo-text-144.png","width":144,"height":200,"caption":"ARCAD Software"},"image":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235","https:\/\/x.com\/arcad_software","https:\/\/www.linkedin.com\/company\/arcad-software","https:\/\/www.youtube.com\/user\/ARCADSoftwareInc"]},{"@type":"Person","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/person\/56072f2a9491143460e3cadf23b9d730","name":"Myriam Goutte","url":"https:\/\/www.arcadsoftware.com\/arcad\/author\/myriam-goutte\/"}]}},"_links":{"self":[{"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/posts\/63442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/comments?post=63442"}],"version-history":[{"count":4,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/posts\/63442\/revisions"}],"predecessor-version":[{"id":72582,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/posts\/63442\/revisions\/72582"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/media\/63444"}],"wp:attachment":[{"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/media?parent=63442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/categories?post=63442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/tags?post=63442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}