CINXE.COM
The Infrastructure Effect | Command Line Heroes
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#"> <head> <script>performance.mark('HEAD Start');</script> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>The Infrastructure Effect | Command Line Heroes</title> <link rel="preconnect" href="https://static.redhat.com"> <link rel="preconnect" href="https://consent.trustarc.com"> <script id="rhdc_js_errors_js">window.sentryOnLoad=function(){Sentry.init({dsn:"https://676ea2c2d4a147c2834066d24c04a9e4@o490301.ingest.sentry.io/5370002",ignoreErrors:[],integrations:[Sentry.browserTracingIntegration()],environment:'prod',tracesSampleRate:0.75,sampleRate:0.75});};</script> <script id="rhdc_analytics_get_top_eddl_pagedata">var pageData = {"pageCategory":"command-line-heroes","pageName":"rh|command-line-heroes|season-3|the-infrastructure-effect","pageTitle":"The Infrastructure Effect | Command Line Heroes","pageType":"page","pageSubType":"Branded media","siteExperience":"","siteLanguage":"en","subsection":"season-3","subsection2":"the-infrastructure-effect","subsection3":"","cms":"RH CMS 1.0","analyticsTitle":"","contentID":"373521","contentType":"","destinationURL":"https:\/\/www.redhat.com\/en\/command-line-heroes\/season-3\/the-infrastructure-effect","gated":"false","offerID":"","errorType":"","contentPublishDate":"2019-08-13","siteName":"rh","dataObject":"appEventData","taxonomyRegion":["4521"],"taxonomySubType":["107221"],"taxonomyTopic":["27031","107481"],"pageStatus":"published"};</script> <script id="rhdc_analytics_get_top_eddl_js">!function(e,a){"use strict";e.appEventData=e.appEventData||[],e.pageData=e.pageData||[];var t={event:"Page Load Started",page:pageData};if(a.referrer){var r=a.createElement("a");r.href=a.referrer,t.page.previousPage=r.href}t.page.siteExperience=e.innerWidth<=768?"tablet":"desktop",appEventData.push(t)}(window,document);</script> <script id="dpal" src="https://www.redhat.com/dtm.js" async></script> <script id="trustarc" src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustarc.js" async></script> <script src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustecm/js/trustecm.js" data-domain="www.redhat.com" async></script> <script class="trustecm" data-src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustecm/js/trustecm-functional.js" data-tracker-type="functional"></script> <script class="trustecm" data-src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustecm/js/trustecm-advertising.js" data-tracker-type="advertising"></script> <script type="importmap">{"imports":{"@rhds/elements/":"/modules/contrib/red_hat_shared_libs/dist/rhds-elements/modules/"},"scopes":{}}</script> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"en\/","currentPath":"node\/373521","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"rh_oidc_manager":{"debug":false,"cookie_settings":{"rh_sso_session_enabled":true},"oidc_settings":{"authority":"https:\/\/sso.redhat.com\/auth\/realms\/redhat-external","client_id":"rhcom","loadUserInfo":true,"post_logout_redirect_uri":"https:\/\/www.redhat.com\/en","redirect_uri":"https:\/\/www.redhat.com\/en","scope":"openid profile_level.rh_events id.email id.idp id.job.title id.job.department id.name id.organization id.sub id.username roles api.graphql api.console","silent_redirect_uri":"https:\/\/www.redhat.com\/en\/silent-renew.html"}},"rhdc_analytics":{"searchTerm":null},"rhdc_bulk_tagging":{"should_skip_product_primary_product_requirement":true,"field_taxonomy_product":{"add":"If there is currently no \u003Cb\u003EPrimary Product\u003C\/b\u003E value before this operation,\n a \u003Cb\u003EProduct\u003C\/b\u003E value will be chosen as the \u003Cb\u003EPrimary Product\u003C\/b\u003E.","remove":"\u003Cul\u003E\n \u003Cli\u003EIf removing all existing \u003Cb\u003EProduct\u003C\/b\u003E value(s), the \u003Cb\u003EPrimary Product\u003C\/b\u003E will also be removed.\u003C\/li\u003E\n \u003Cli\u003EIf not, please choose a new valid \u003Cb\u003EPrimary Product\u003C\/b\u003E in a previous operation\n before removing the \u003Cb\u003EProduct\u003C\/b\u003E.\u003C\/li\u003E\n \u003C\/ul\u003E","replace":"If the \u003Cb\u003EProduct\u003C\/b\u003E that is being replaced is the \u003Cb\u003EPrimary Product\u003C\/b\u003E,\n please change the \u003Cb\u003EPrimary Product\u003C\/b\u003E in a previous operation."},"field_taxonomy_product_primary":{"add":"The \u003Cb\u003EPrimary Product\u003C\/b\u003E that is being added must be a value of an existing \u003Cb\u003EProduct\u003C\/b\u003E value.\n If the \u003Cb\u003EPrimary Product\u003C\/b\u003E value to add is not, please add that \u003Cb\u003EProduct\u003C\/b\u003E in a previous operation.","remove":"You cannot remove the \u003Cb\u003EPrimary Product\u003C\/b\u003E. This operation will be skipped.","replace":"If the new \u003Cb\u003EPrimary Product\u003C\/b\u003E value is not an existing \u003Cb\u003EProduct\u003C\/b\u003E value,\n please add that \u003Cb\u003EProduct\u003C\/b\u003E in a previous operation."}},"rhdcCore":{"webrh":{"version":"1.212.0"}},"rhdc_style":{"flag_myrh_popover":1},"rhdc_solr_listing":{"testmode":false},"csp":{"nonce":"lqG2mlWohlIZHZw2kqdhhA"},"user":{"uid":0,"permissionsHash":"4737a889089cbdcce048bf0dfd5713f83cd2c1f0062562282543460f381f5099"}}</script> <script src="/rhdc/system-files/js/js_6C4uuPZsMqZEcXHWdYNw9F0kQZncqVBrl5Ez1Rzu3yM.js?scope=header&delta=0&language=en&theme=rhdc&include=eJyNj0FuQjEMRC_0Qw7Rg0RO7CYBJ0a2aUVP38CvCgsWbCzPzPNIVsLUwJM10LVyzxYZfq6BBTCQDcEL06YvMG2hOGzaUgajdOmxsmTgj6Yy6OZLx5IGTKiksSiB0-4V7jR9IVjibQSks1JZOT6ZRh4YZg1F5NTpnqTVxlfvxe7MYZy8Ho72KnvIRIicsrjLeIckVdF3QOvrIyPQ0nb8aPvxH_4vt2_K2uL5k8KEr17Bu8xfs6CUhA"></script> <script src="/modules/contrib/rh_oidc_manager/libraries/dist/js/index.min.js?soejlb" type="module"></script> <script src="https://static.redhat.com/libs/@redhat/marketing/latest/rh.mktg.js" async></script> <link rel="stylesheet" media="all" href="/rhdc/system-files/css/css_bsrsDQnlLUPk4uTe_Olp5vVSHWTXbgflkO25g-R-iWw.css?delta=0&language=en&theme=rhdc&include=eJxNjkEOg0AIRS-kziG66ikmyKBDioNhsI23L7ZJ0w0h__HDEzj18Fy4oz7JzqSNUGXYqDCkhcXJJoTdWdtgVHIFz_gI6moJHSbhtXrR7Ud7hWsVnnuyOsbNYDXP0CkfnFbRGeRWTTeKvGC6xrioxqfxaBwWHeQPfRufIEMDOZ2xJ7ejOxhOqK1T82kLtoYs7Dy8aLaa9oXGBk9e4WP_DUMtJO9X6w1caWFx" /> <link rel="stylesheet" media="print" href="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustecm/css/trustecm.css" data-onload-media="all" onload="this.onload=null;this.media=this.dataset.onloadMedia" /> <link rel="stylesheet" media="print" href="https://static.redhat.com/libs/redhat/rh-iconfont/5/files/rh-web-iconfont.css" data-onload-media="all" onload="this.onload=null;this.media=this.dataset.onloadMedia" /> <link rel="stylesheet" media="all" href="/rhdc/system-files/css/css_La4VCjpsMgCZsXpPdlXvakLEy0cU8AVY3ZSH1-_K_qA.css?delta=3&language=en&theme=rhdc&include=eJxNjkEOg0AIRS-kziG66ikmyKBDioNhsI23L7ZJ0w0h__HDEzj18Fy4oz7JzqSNUGXYqDCkhcXJJoTdWdtgVHIFz_gI6moJHSbhtXrR7Ud7hWsVnnuyOsbNYDXP0CkfnFbRGeRWTTeKvGC6xrioxqfxaBwWHeQPfRufIEMDOZ2xJ7ejOxhOqK1T82kLtoYs7Dy8aLaa9oXGBk9e4WP_DUMtJO9X6w1caWFx" /> <link rel="stylesheet" media="all" href="/rhdc/system-files/css/css_STiz3aC7JuAn4ljPqluT15dKBOmMjaS-70xf9sqOiP8.css?delta=4&language=en&theme=rhdc&include=eJxNjkEOg0AIRS-kziG66ikmyKBDioNhsI23L7ZJ0w0h__HDEzj18Fy4oz7JzqSNUGXYqDCkhcXJJoTdWdtgVHIFz_gI6moJHSbhtXrR7Ud7hWsVnnuyOsbNYDXP0CkfnFbRGeRWTTeKvGC6xrioxqfxaBwWHeQPfRufIEMDOZ2xJ7ejOxhOqK1T82kLtoYs7Dy8aLaa9oXGBk9e4WP_DUMtJO9X6w1caWFx" /> <link type="text/css" href="//static.redhat.com/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" /> <link type="text/css" href="/ux/webdms/css/vendors/plyr.min.css" rel="stylesheet" /> <link type="text/css" href="/ux/webdms/css/styles.min.css" rel="stylesheet" /> <link type="text/css" href="/ux/webdms/css/projects/clh-s3-episodes.min.css" rel="stylesheet" /> <link rel="preload" href="/themes/custom/rh_base_ui/src/fonts/red_hat_text/RedHatTextVFModified.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/themes/custom/rh_base_ui/src/fonts/red_hat_display/RedHatDisplayVFModified.woff2" as="font" type="font/woff2" crossorigin> <script type="speculationrules">{"prerender": [{"urls": ["/en"]}]}</script> <meta name="description" content="Languages used for IT infrastructure don’t have expiration dates. COBOL’s been around for 60 years—and isn’t going anywhere anytime soon. We maintain billions of lines of classic code for mainframes. But we’re also building new infrastructures for the cloud in languages like Go." /> <link rel="canonical" href="https://www.redhat.com/en/command-line-heroes/season-3/the-infrastructure-effect" /> <link rel="image_src" href="https://www.redhat.com/rhdc/managed-files/og-clh-s3-1200x675.png" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.redhat.com/en/command-line-heroes/season-3/the-infrastructure-effect" /> <meta property="og:title" content="The Infrastructure Effect | Command Line Heroes" /> <meta property="og:description" content="Languages used for IT infrastructure don’t have expiration dates. COBOL’s been around for 60 years—and isn’t going anywhere anytime soon. We maintain billions of lines of classic code for mainframes. But we’re also building new infrastructures for the cloud in languages like Go." /> <meta property="og:image" content="https://www.redhat.com/rhdc/managed-files/og-clh-s3-1200x675.png" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:description" content="Languages used for IT infrastructure don’t have expiration dates. COBOL’s been around for 60 years—and isn’t going anywhere anytime soon. We maintain billions of lines of classic code for mainframes. But we’re also building new infrastructures for the cloud in languages like Go." /> <meta name="twitter:title" content="The Infrastructure Effect | Command Line Heroes" /> <meta name="twitter:url" content="https://www.redhat.com/en/command-line-heroes/season-3/the-infrastructure-effect" /> <meta name="twitter:image" content="https://www.redhat.com/rhdc/managed-files/og-clh-s3-1200x675.png" /> <meta name="Generator" content="Drupal 10 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <!-- Required styles from dx-utilities. See red_hat_shared_libs_preprocess_html. --> <style>.dx-relative{position:relative !important;}@media (min-width:576px){.sm\:dx-relative{position:relative !important;}}@media (min-width:768px){.md\:dx-relative{position:relative !important;}}@media (min-width:992px){.lg\:dx-relative{position:relative !important;}}@media (min-width:1200px){.xl\:dx-relative{position:relative !important;}}@media (min-width:1440px){.\32xl\:dx-relative{position:relative !important;}}</style> <!-- End of dx-utilities styles. --><meta http-equiv="content-language" content="en" /> <meta name="last-publish-date" content="Tue, 25 Jun 2019 00:00:00 GMT" /> <meta name="node-type" content="page" /> <meta name="source" content="rhdc_drupal" /> <meta name="rhdc_key" content="7097711171b45237ef9b711c99b85e23" /> <meta name="taxonomy-region" content="Global" /> <meta name="taxonomy-region-tid" content="4521" /> <meta name="taxonomy-sub-type" content="Branded media" /> <meta name="taxonomy-sub-type-tid" content="107221" /> <meta name="taxonomy-topic" content="Application development and delivery" /> <meta name="taxonomy-topic-tid" content="27031" /> <meta name="taxonomy-topic" content="Tech history" /> <meta name="taxonomy-topic-tid" content="107481" /> <meta name="dateline" content="2019-06-25T00:00:00.00Z" /> <meta name="source_title" content="The Infrastructure Effect | Command Line Heroes" /> <link rel="icon" href="/favicon.ico" type="image/x-icon" /> <link rel="alternate" hreflang="en" href="https://www.redhat.com/en/command-line-heroes/season-3/the-infrastructure-effect" /> <link rel="alternate" hreflang="es" href="https://www.redhat.com/es/command-line-heroes/season-3/the-infrastructure-effect" /> <script>performance.mark('HEAD End'); performance.measure('HEAD Time', 'HEAD Start', 'HEAD End');</script> </head> <body class="clh-s3e5 bg-purple-dark path-node rhdc-node-type-page page-node-373521" > <div class="rhb-region rhb-region--highlighted"><div data-drupal-messages-fallback class="hidden"></div></div> <div class="rhdc-header--background-image"></div> <div class="rhb-region rhb-region--content" id="rhb-main-content" role="main"> <article> <div> <div class="one-column"> <div class="dx-relative content-region"> <!-- Pattern | raw_html --> <div class="one-column"> <div class="dx-relative content-region"> <header id="top" class="dms-band clh-nav-top py-2"> <div class="container text-white"> <div class="row d-flex align-items-center"> <div class="col-6"> <a href="//www.redhat.com/en/command-line-heroes" title="Command Line Heroes"> <img class="img-fluid svg-white" src="/rhdc/managed-files/clh-logo-2-22.svg" width="166" height="42" alt="Command Line Heroes logo" loading="lazy"> </a> </div> <div class="col-6 clh-nav-toggle-wrapper"> <span class="text-monospace text-right font-size-16 d-inline-block">Subscribe<br>& more</span> <a href="#" class="btn btn-toggle" data-toggle="nav-shelf"> <div class="d-inline-block"> <span class="menu-bar"></span> <span class="menu-bar"></span> <span class="menu-bar"></span> </div> </a> </div> </div> </div> </header> <div class="dms-band clh-nav-shelf text-white py-0"> <div class="nav-container pb-4"> <div id="CLHNav" class="accordion pb-8"> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/bg_clh-nav-subscribe.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSubscribe"> <p>Subscribe</p> </button> <div id="clhSubscribe" class="accordion-panel collapse" data-parent="#CLHNav"> <p>Subscribe to the podcast to receive new episodes as soon as we release them</p> <div class="row pb-2"> <div class="col-6 mb-2"> <a href="//geo.itunes.apple.com/podcast/us/id1319947289?mt=2&at=1010lbVy&ct=redhatclh_website" target="_blank" title="Listen on Apple Podcasts"> <img class="img-fluid" src="/rhdc/managed-files/apple%20podcast.svg" alt="Listen on Apple Podcasts"> </a> </div> <div class="col-6 mb-2"> <a href="https://castbox.fm/channel/id1105224?country=us" target="_blank" title="Listen on Castbox"> <img class="img-fluid" src="/rhdc/managed-files/castbox-badge.svg" alt="Listen on Castbox"> </a> </div> <div class="col-6 mb-2"> <a href="//open.spotify.com/show/4Jgtgr4mHXNDyLldHkfEMz" target="_blank" title="Listen on Spotify"> <img class="img-fluid" src="/rhdc/managed-files/spotify-badge.svg" alt="Listen on Spotify"> </a> </div> <div class="col-6 mb-2"> <a href="//feeds.simplecast.com/vUHP7wpf" target="_blank" title="Subscribe via RSS Feed"> <img class="img-fluid" src="/rhdc/managed-files/rss-feed-badge.svg" alt="Subscribe via RSS Feed"> </a> </div> </div> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/bg_clh-nav-about.jpg"> <button href="/en/command-line-heroes/about" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhAbout"> <p>About the podcast</p> </button> <div id="clhAbout" class="accordion-panel collapse" data-parent="#CLHNav"> <p>Discover Red Hat’s original podcast about the people who transform technology from the command line up. Subscribe to our newsletter for commentary from the Command Line Heroes team—and links to take a closer look at the topics we cover.</p> <p><a href="/en/command-line-heroes/about" class="btn btn-primary">Learn about the show</a></p> <p class="mb-0 pb-4"><a href="https://www.redhat.com/forms/?config=19411" class="btn btn-outline-white">Get the newsletter</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/bg_clh-nav-s1.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason1"> <p>Season 1</p> </button> <div id="clhSeason1" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-1/os-wars-part-1" title="OS Wars_Part 1">OS Wars_part 1</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-1/os-wars-part-2-rise-of-linux" title="OS Wars_Part 2">OS Wars_part 2</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-1/agile-revolution" title="The Agile_Revolution">The Agile_Revolution</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-1/devops-tear-down-that-wall" title="DevOps_Tear Down That Wall">DevOps_Tear Down That Wall</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-1/the-containers-derby" title="The Containers_Derby">The Containers_Derby</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-1/crack-the-cloud-open" title="Crack the Cloud_Open">Crack the Cloud_Open</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-1/days-of-future-open" title="Days of Future_Open">Days of Future_Open</a> </li> </ol> <p class="pb-2"><a class="btn btn-link font-family-monospace text-white" href="/en/command-line-heroes/season-1" title="Explore season 1">Explore Season 1</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/bg_clh-nav-s2.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason2"> <p>Season 2</p> </button> <div id="clhSeason2" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/press-start" title="Press Start">Press Start</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/hello-world" title="Hello, World">Hello, World</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/ready-to-commit" title="Ready to Commit">Ready to Commit</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/fail-better" title="Fail Better">Fail Better</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/the-one-about-devsecops" title="The One About DevSecOps">The One About DevSecOps</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/the-data-explosion" title="The Data Explosion">The Data Explosion</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/at-your-serverless" title="At Your Serverless">At Your Serverless</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/open-curiosity" title="Open Curiosity">Open Curiosity</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-2/developer-advocacy-roundtable" title="Bonus_Developer Advocacy Roundtable">Bonus_Developer Advocacy Roundtable</a> </li> </ol> <p class="pb-2"><a class="btn btn-link font-family-monospace text-white" href="/en/command-line-heroes/season-2" title="Explore season 2">Explore Season 2</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/bg_clh-nav-s3.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason3"> <p>Season 3</p> </button> <div id="clhSeason3" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-3/pythons-tale" title="Python's Tale">Python's Tale</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-3/learning-the-basics" title="Learning the BASICs">Learning the BASICs</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-3/creating-javascript" title="Creating JavaScript">Creating JavaScript</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-3/diving-for-perl" title="Diving for Perl">Diving for Perl</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-3/the-infrastructure-effect" title="The Infrastructure Effect">The Infrastructure Effect</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-3/heroes-in-a-bash-shell" title="Heroes in a Bash Shell">Heroes in a Bash Shell</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-3/talking-to-machines" title="Talking to Machines">Talking to Machines</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-3/the-c-change" title="The C Change">The C Change</a> </li> </ol> <p class="pb-2"><a class="btn btn-link font-family-monospace text-white" href="/en/command-line-heroes/season-3" title="Explore season 3">Explore Season 3</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/bg_clh-nav-s4.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason4"> <p>Season 4</p> </button> <div id="clhSeason4" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-4/minicomputers" title="Minicomputers">Minicomputers</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-4/mainframes" title="Mainframes">Mainframes</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-4/personal-computers" title="Personal Computers">Personal Computers</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-4/floppies" title="Floppies">Floppies</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-4/smarter-phones" title="Smarter Phones">Smarter Phones</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-4/open-source-hardware" title="Open Source Hardware">Open Source Hardware</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-4/consoles" title="Consoles">Consoles</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-4/steve-wozniak" title="Steve Wozniak">Steve Wozniak</a> </li> </ol> <p class="pb-2"><a class="btn btn-link font-family-monospace text-white" href="/en/command-line-heroes/season-4" title="Explore season 4">Explore Season 4</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/bg_clh-nav-s5.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason5"> <p>Season 5</p> </button> <div id="clhSeason5" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-5/becoming-a-coder" title="Becoming a Coder">Becoming a Coder</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-5/where-coders-code" title="Where Coders Code">Where Coders Code</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-5/what-kind-of-coder-will-you-become" title="What Kind of Coder Will You Become?">What Kind of Coder Will You Become?</a> </li> </ol> <p class="pb-2"><a class="btn btn-link font-family-monospace text-white" href="/en/command-line-heroes/season-5" title="Explore season 5">Explore Season 5</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/bg_clh-nav-s6.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason6"> <p>Season 6</p> </button> <div id="clhSeason6" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-6/jerry-lawson" title="Jerry Lawson">Jerry Lawson</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-6/gladys-west" title="Dr. Gladys West">Dr. Gladys West</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-6/mark-dean" title="Dr. Mark Dean">Dr. Mark Dean</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-6/marc-hannah" title="Dr. Marc Hannah">Dr. Marc Hannah</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-6/clarence-ellis" title="Dr. Clarence Ellis">Dr. Clarence Ellis</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-6/roy-clay" title="Roy Clay">Roy Clay</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-6/gladys-perkins" title="Gladys Perkins">Gladys Perkins</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-6/arlan-hamilton" title="Arlan Hamilton">Arlan Hamilton</a> </li> </ol> <p class="pb-2"><a class="btn btn-link text-monospace text-white" href="/en/command-line-heroes/season-6" title="Explore season 6">Explore Season 6</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/season-7_nav.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason7"> <p>Season 7</p> </button> <div id="clhSeason7" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-7/dot-com" title="Connecting The Dot-Com">Connecting The Dot-Com</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-7/nsfnet" title="From NSF to ISP">From NSF to ISP</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-7/html" title="A Language for the Web">A Language for the Web</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-7/ux" title="Web UX Begins">Web UX Begins</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-7/shopping" title="Shopping for the Web">Shopping for the Web</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-7/search" title="Looking for Search">Looking for Search</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-7/world" title="The World of the World Wide Web">The World of the World Wide Web</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-7/bubble" title="After the Bubble">After the Bubble</a> </li> </ol> <p class="pb-2"><a class="btn btn-link font-family-monospace text-white" href="/en/command-line-heroes/season-7" title="Explore season 7">Explore Season 7</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/s8-nav.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason8"> <p>Season 8</p> </button> <div id="clhSeason8" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-8/robot-as-servant" title="Robot as Servant">Robot as Servant</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-8/robot-as-software" title="Robot as Software">Robot as Software</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-8/robot-as-maker" title="Robot as Maker">Robot as Maker</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-8/robot-as-humanoid" title="Robot as Humanoid">Robot as Humanoid</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-8/robot-as-body" title="Robot as Body">Robot as Body</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-8/humans-as-robot-caretakers" title="Humans as Robot Caretakers">Humans as Robot Caretakers</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-8/robot-as-threat" title="Robot as Threat">Robot as Threat</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-8/robot-as-vehicle" title="Robot as Vehicle">Robot as Vehicle</a> </li> </ol> <p class="pb-2"><a class="btn btn-link text-monospace text-white" href="/en/command-line-heroes/season-8" title="Explore season 8">Explore Season 8</a></p> </div> </div> <div class="nav-group-wrapper pl-2 pl-sm-3 pr-sm-8" data-bg-image="/rhdc/managed-files/season-9_menu.jpg"> <button href="#" class="accordion-toggle collapsed py-2" data-toggle="collapse" data-target="#clhSeason9"> <p>Season 9</p> </button> <div id="clhSeason9" class="accordion-panel collapse" data-parent="#CLHNav"> <ol class="mb-0 pl-2"> <li class="mb-2"> <a href="/en/command-line-heroes/season-9/relentless-replicators" title="Relentless Replicants">Relentless Replicants</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-9/terrifying-trojans" title="Terrifying Trojans">Terrifying Trojans</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-9/logic-bombs" title="Lurking Logic Bombs">Lurking Logic Bombs</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-9/botnets" title="Dawn of the Botnets">Dawn of the Botnets</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-9/menace-in-the-middle" title="Menace in the Middle">Menace in the Middle</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-9/ransomware" title="Ruthless Ransomers">Ruthless Ransomers</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-9/invisible-intruders" title="Invisible Intruders">Invisible Intruders</a> </li> <li class="mb-2"> <a href="/en/command-line-heroes/season-9/all-together-now" title="All Together Now">All Together Now</a> </li> </ol> <p class="pb-2"><a class="btn btn-link font-family-monospace text-white" href="/en/command-line-heroes" title="Explore season 9">Explore Season 9</a></p> </div> </div> <!-- <ul class="social-list list-inline list-unstyled pl-5 pl-sm-6 mt-1"> <li class="list-inline-item mr-1"> <a class="text-white" href="//www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F" target="_blank" title="Facebook" onclick="return !window.open(this.href, 'Facebook', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')"> <span class="web-icon-facebook" aria-label="true"></span> </a> </li> <li class="list-inline-item mr-1"> <a class="text-white" href="//www.twitter.com/share?url=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F&text=An%20original%20podcast%20about%20the%20people%20who%20transform%20technology%20from%20the%20command%20line%20up.%20Presented%20by%20Red%20Hat." target="_blank" title="Twitter" onclick="return !window.open(this.href, 'Twitter', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')"> <span class="web-icon-twitter" aria-label="true"></span> </a> </li> <li class="list-inline-item mr-1"> <a class="text-white" href="//www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F&title=Command%20Line%20Heroes&summary=Hear%20the%20epic%20true%20tales%20of%20how%20developers%2C%20programmers%2C%20hackers%2C%20geeks%2C%20and%20open%20source%20rebels%20are%20revolutionizing%20the%20technology%20landscape.%20Command%20Line%20Heroes%20is%20a%20new%20podcast%20hosted%20by%20Saron%20Yitbarek%20and%20produced%20by%20Red%20Hat.&source=Red%20Hat" target="_blank" title="LinkedIn" onclick="return !window.open(this.href, 'LinkedIn', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')" aria-current="page"> <span class="web-icon-linkedin" aria-label="true"></span> </a> </li> <li class="list-inline-item mr-1"> <a class="text-white" href="mailto:?subject=Command Line Heroes&body=Hear%20the%20epic%20true%20tales%20of%20how%20developers%2C%20programmers%2C%20hackers%2C%20geeks%2C%20and%20open%20source%20rebels%20are%20revolutionizing%20the%20technology%20landscape.%20Command%20Line%20Heroes%20is%20a%20new%20podcast%20hosted%20by%20Saron%20Yitbarek%20and%20produced%20by%20Red%20Hat. https://www.redhat.com/en/command-line-heroes" target="_blank" title="Email" aria-current="page"> <span class="web-icon-envelope" aria-label="true"></span> </a> </li> </ul> </div>--> <ul class="social-list list-inline list-unstyled pl-5 pl-sm-6 mt-1"> <li class="list-inline-item mr-1"> <a class="text-white" href="//www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F" target="_blank" title="Facebook" onclick="return !window.open(this.href, 'Facebook', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')"> <span class="web-icon-facebook" aria-label="true"></span> </a> </li> <li class="list-inline-item mr-1"> <a class="text-white" href="//www.twitter.com/share?url=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F&text=An%20original%20podcast%20about%20the%20people%20who%20transform%20technology%20from%20the%20command%20line%20up.%20Presented%20by%20Red%20Hat." target="_blank" title="Twitter" onclick="return !window.open(this.href, 'Twitter', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')"> <span class="web-icon-twitter" aria-label="true"></span> </a> </li> <li class="list-inline-item mr-1"> <a class="text-white" href="//www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F&title=Command%20Line%20Heroes&summary=Hear%20the%20epic%20true%20tales%20of%20how%20developers%2C%20programmers%2C%20hackers%2C%20geeks%2C%20and%20open%20source%20rebels%20are%20revolutionizing%20the%20technology%20landscape.%20Command%20Line%20Heroes%20is%20a%20new%20podcast%20hosted%20by%20Saron%20Yitbarek%20and%20produced%20by%20Red%20Hat.&source=Red%20Hat" target="_blank" title="LinkedIn" onclick="return !window.open(this.href, 'LinkedIn', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')" aria-current="page"> <span class="web-icon-linkedin" aria-label="true"></span> </a> </li> <li class="list-inline-item mr-1"> <a class="text-white" href="mailto:?subject=Command Line Heroes&body=Hear%20the%20epic%20true%20tales%20of%20how%20developers%2C%20programmers%2C%20hackers%2C%20geeks%2C%20and%20open%20source%20rebels%20are%20revolutionizing%20the%20technology%20landscape.%20Command%20Line%20Heroes%20is%20a%20new%20podcast%20hosted%20by%20Saron%20Yitbarek%20and%20produced%20by%20Red%20Hat. https://www.redhat.com/en/command-line-heroes" target="_blank" title="Email" aria-current="page"> <span class="web-icon-envelope" aria-label="true"></span> </a> </li> </ul> </div> <div class="language-switcher position-absolute bottom-0 right-0 w-100"> <div class="row justify-content-center mx-0"> <div class="col-6 text-center border-right border-black border-20 language-active"> <a href="https://www.redhat.com/es/command-line-heroes" line><img class="img-fluid py-2" width="90" src="/rhdc/managed-files/CLH-logo-Espanol.svg" alt="CLH en espanol logo"></a></div> <div class="col-6 text-center language-inactive"><a href="https://www.redhat.com/en/command-line-heroes" line><img class="img-fluid pt-3 pb-2" width="130" src="/rhdc/managed-files/CLH-logo-inactive.svg" alt="CLH logo"></a></div> </div> </div> </div> <div class="mb-6"> </div></div> </div> </div> <!-- Pattern | raw_html --> <section class="dms-band clh-hero-episode pt-12 pb-2 pb-lg-1"> <div class="container text-white"> <div class="row"> <div class="col-lg-5 pt-lg-8 pt-xl-11 reveal"> <h5 class="section-label mb-1">Season 3, Episode 5</h5> <h1>The Infrastructure Effect</h1> <div class="clh-audio"> <audio src="//chtbl.com/track/247G8/https://dts.podtrac.com/redirect.mp3/cdn.simplecast.com/audio/a88fbe/a88fbe81-5614-4834-8a78-24c287debbe6/0ea5a208-a01f-46f8-902c-27cf4ffd0e6a/CLH_S3_EP5_The_Infrastructure_Effect_vFINAL_tc.mp3" preload="none" controls></audio> </div> <a class="btn btn-link mt-2 mb-0 font-family-monospace text-white" href="#" title="Listen to this episode later" data-toggle="nav-shelf" data-toggle-panel="#clhSubscribe">Listen to this episode later</a> </div> <div class="col-12 col-lg-7 pt-4 pt-lg-11 pt-xl-8 d-lg-flex align-items-lg-center justify-content-lg-end text-white text-center text-lg-right reveal"> <img class="img-fluid" src="/rhdc/managed-files/img-clh-s3e5-hero.gif"> </div> </div> </div> </section> <!-- Pattern | raw_html --> <section class="dms-band clh-tabs-notes pt-0"> <div class="container text-white"> <div class="row"> <div class="col-12 col-lg-6"> <ul class="nav nav-tabs mb-3"> <li class="nav-item"> <a class="tab-show-notes nav-link mx-0 mr-md-4 p-0 font-size-24 text-white active" href="#show-notes" data-toggle="tab" title="Show notes">Show notes</a> </li> <li class="nav-item"> <a class="tab-transcript nav-link mt-2 mt-md-0 mx-0 p-0 font-size-24 text-white" href="#transcript-tray" data-toggle="tab" title="Transcript">Transcript</a> </li> </ul> <div class="tab-content"> <div id="show-notes" class="tab-pane fade active show"> <div class="row"> <div class="col-12"> <p>Languages used for IT infrastructure don’t have expiration dates. COBOL’s been around for 60 years—and isn’t going anywhere anytime soon. We maintain billions of lines of classic code for mainframes. But we’re also building new infrastructures for the cloud in languages like Go.</p> <p>COBOL was a giant leap for computers to make industries more efficient. Chris Short describes how learning COBOL was seen as a safe long-term bet. Sixty years later, there are billions of lines of COBOL code that can’t easily be replaced—and few specialists who know the language. Ritika Trikha explains that something must change: Either more people must learn COBOL, or the industries that rely on it have to update their codebase. Both choices are difficult. But the future isn’t being written in COBOL. Today’s IT infrastructure is built in the cloud—and a lot of it is written in Go. Carmen Hernández Andoh shares how Go’s designers wanted a language more suited for the cloud. And Kelsey Hightower points out that languages are typically hyper-focused for one task. But they’re increasingly open and flexible.</p> </div> </div> </div> <div id="transcript-tray" class="tab-pane fade"> <div class="row"> <div class="col-12"> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>00:00</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>When the New York City subway first started running in 1904, it was a marvel of the modern age. But ... what happens when today's commuter depends on infrastructure that was designed more than a century ago? Trains are packed and often late. Two billion subway rides take place each year in New York, and nobody's marveling anymore. We are tied to yesterday's crumbling infrastructure, and we have to find smart, new ways to make it work.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>00:44</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>It used to be that infrastructure projects were these big, concrete things we could see—that subway, for example. And because of that physical presence, it was also pretty obvious when they broke down. Highways crack, telephone poles fall over. We know when those things need fixing. Big efforts are necessary to get our lives in sync with aging infrastructure.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>01:12</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>But things aren't always so obvious. Today we also have IT infrastructure, server farms humming in isolated fields, fiber optic cables spanning oceans, and software infrastructure, too. Like legacy operation system, or shell scripts that nobody dares to replace. When all that IT infrastructure gets old and creaky, we can't see it for ourselves. And yet, the infrastructure that makes today's development work possible is aging, just like an old subway track. And that can mess with our modern lives. Massive new challenges emerge as today's command line heroes work to make sure we're not being boxed in by the past. </p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>02:02</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>This is episode 5 of our season-long journey into the world of programming languages. We're looking at 2 languages that have intimate ties to the infrastructure they were first designed for. COBOL is a language native to mainframe computing, and Go is native to the cloud. They're both deeply influenced by their origins. Understanding that might save tomorrow's developers from ending up like a New Yorker crammed into Penn Station.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>02:33</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>I'm Saron Yitbarek, and this is season 3 of Command Line Heroes, an original podcast from Red Hat.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>02:43</strong> - <em>Grace Hopper</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>So many things ahead that we have to do, but we need tremendous amounts of information, correlated, easy to access. We're only at the beginning.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>02:53</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Admiral Grace Hopper pioneered high-level programming languages in the 1940s and 50s. And she was able to make that great leap forward because of the infrastructure of her time, mainframe computers.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>03:08</strong> - <em>Chris Short</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Hi, my name's Chris Short.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>03:10</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Chris is a principal product marketing manager at Red Hat, and he's a bit of a history buff, too.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>03:17</strong> - <em>Chris Short</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Admiral Hopper in the 40s made FLOW-MATIC, and she's widely considered the grandmother of COBOL, which was revolutionary at the time. So being able to sit there and say, "Hey, just put it on the mainframe," or, "Hey, just store it on the mainframe."</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>03:31</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>It was a major game changer. Suddenly, you've got this machine-independent language, COBOL, that's native to the mainframe environment. Possibilities started opening up.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>03:42</strong> - <em>Chris Short</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>COBOL with mainframes really gave every organization the capability to say instead of having a room full of people with pencils, and paper, and calculators, and slide rules, they could just have half a room with a mainframe in it. And then they could have a few people write some applications in COBOL to do all of the math, and logic, and ledgering that their entire finance team could do. So the team of people that you needed to do your finances became a lot less, just because a lot more of the input could be digital as opposed to all hand jam in manually.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>04:17</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>If you were one of those new COBOL programmers, it would've felt like you have a job for life. Because the infrastructure that your work was based on, all those mainframes, they weren't going anywhere.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>04:30</strong> - <em>Chris Short</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Moore's Law wasn't around back then, so you could go an entire decade working on the same mainframe, potentially, right? Like you didn't have to worry about the next operating system, or the next type of container orchestrator, or the next thing that comes along and AI, or whatever. You could probably spend your whole career working on COBOL. And you knew you were going to be pretty safe.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>04:55</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>But, Moore's Law did arrive eventually. New infrastructures showed up, too. And these days, programmers are less likely to learn a half-century old language. But here's the thing, those old mainframes aren't actually gone. And that means our need for COBOL developers hasn't vanished either.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>05:17</strong> - <em>Chris Short</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>It's getting a lot harder to find COBOL developers. What ends up happening is these mainframes have been here for 50 years, potentially. And these COBOL developers that still can write good COBOL will get paid exorbitant amount of monies to help with projects, and reorganization of data within mainframes. And that skillset is definitely dying off and becoming a highly lucrative career field if you ... you can definitely make a lot of money writing COBOL nowadays.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>05:49</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Especially in the manufacturing and finance industries. You can't outrun all that infrastructure that was laid down decades ago. Legacy code permeates work all around the world. It'd be a huge mistake to ignore that old infrastructure and the languages tied to it.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>06:08</strong> - <em>Chris Short</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>With 200 billion lines of code laying around, it's going to be really hard to refactor all that. No, I don't think we'll ever see it disappear in our lifetimes, for sure.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>06:21</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Chris Short is a principal product marketing manager at Red Hat.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>06:28</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>I want to drive Chris's point home for a sec. Consider this. COBOL is baked into 95% of all ATM transactions. That's how tied we are to this language. And yet, the average COBOL programmer isn't much younger than the language itself. They are 45, maybe 55 years old. The newbies aren't interested. Which is why I want to introduce you to someone.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>06:56</strong> - <em>Ritika Trikha</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Hi, my name is Ritika Trikha.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>06:59</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Ritika's a technology writer, formerly with HackerRank. And she's fascinated by this question of COBOL, and the assumption people make that it's a kind of pointless leftover from the mainframe days.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>07:12</strong> - <em>Ritika Trikha</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Developers today are really not thinking about COBOL, it's out of sight, out of mind.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>07:17</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>But that could be a recipe for disaster.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>07:21</strong> - <em>Ritika Trikha</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>There's a huge volume of COBOL lines of code that are still powering businesses today. At least 1.5 billion new lines of code in COBOL every single year. And I think when you look at the specific industries, it's really interesting. Like there's 50 million lines of code at the IRS. There's 60 million lines of code at the Social Security Administration. And so these businesses and entities are handling some of the most sensitive, important information today, and if we don't continue to power and maintain these mainframes, it could be really destructive.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>08:04</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>So if we can't escape our old infrastructure, and we can't wave a magic wand to rebuild the whole mainframe universe, what do we do? How do coders, who sometimes only think about the future, start coming to terms with the past? We need to start by facing the problem head on.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>08:25</strong> - <em>Ritika Trikha</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>You know, younger generations are going to have to pick up these skills. Or, there has to be some sort of modernization of these mainframes. Either way, this problem isn't going to go away. That's why COBOL is relevant.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>08:35</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>It's not going to be easy. Ritika figures we've ignored the problem for too long already.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>08:42</strong> - <em>Ritika Trikha</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>It's incredibly expensive, hard, and the risk is incredibly high to replace billions of lines of COBOL. It's mission-critical code like Social Security and financial information. And COBOL was specifically designed for these types of large volumes of transactions. So it was designed for business transactions by Grace Hopper in the 60s. And “if it's not broken, why try to fix it” has been the mentality since the 60s, and now we're at a point where we just have decades of very valuable, high volumes of data running on COBOL.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>09:22</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>In a way, Ritika's calling for a cultural shift. A change in attitude about what's in and what's out. As the world of development starts to actually gain a deeper and deeper past, we have to become more in touch with our own history. You can't escape the aging infrastructure. And that means you can't ignore the history of languages either.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>09:47</strong> - <em>Ritika Trikha</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Something has to be done. When I was at HackerRank, I saw firsthand how many banks and financial institutions are hurting, and desperate almost, for COBOL developers. It's not a problem that's going to go away, and I think either there has to be some sort of modernization of the systems, or we need to keep training folks and incentivizing it. I personally think there's going to be a day where COBOL is actually in again. Really, what's going to happen when all of the developers with COBOL knowledge retire, and no new younger generations of developers are learning COBOL? Something has to give, right? So there needs to be more of a systematic and institutionalized change when it comes to shifting away from COBOL and into the new cloud-based infrastructures.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>10:37</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Ritika Trikha is a technology writer based in San Francisco.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>10:49</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>So what about those cloud-based infrastructures Ritika mentioned? Are the infrastructures we're building today going to chain future generations to particular languages, the way we're still tied to COBOL? Amazon Web Services (AWS) may be the biggest single piece of cloud infrastructure, launched in 2006. Google Cloud Platform arrived in 2008, and Microsoft Azure started in 2010. The Go language, with its focus on concurrency, was made to thrive inside all that new cloud infrastructure. It's a language of its time.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>11:26</strong> - <em>Carmen Andoh</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Hi, my name is Carmen Andoh, and I am a program manager for the Go team at Google.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>11:34</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Carmen has an insider's understanding of how Go is tied to today's infrastructure. It starts with the creators of Go having some strong ties to the history of languages.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>11:47</strong> - <em>Carmen Andoh</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Robert Pike, Robert Griesemer, and Ken Thompson. Those names have kind of come through ever since the 1960s. So Ken Thompson invented the programming language B, and then he would go on to invent the UNIX operating system on a summer off. And Rob Pike invented UTF-8, which is a string in coding. He also invented ASCII. He helped co-author the UNIX programming environment. So these two had been coworkers for a very, very long time, and they had been looking at and inventing operating systems in previous programming languages, including C, which Ken Thompson would eventually help write with Dennis Ritchie.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>12:28</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Once Pike, Griesemer, and Thompson were all working at Google, they discovered a serious problem. Getting concurrency at scale just wasn't happening. People were waiting hours for a bill to compile. They were working in C++, and had to write all these callbacks and event dispatchers. It was 2009, and our infrastructure was changing again. Languages like C++ were becoming less and less in tune with that new reality.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>12:59</strong> - <em>Carmen Andoh</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>The problems were being introduced by things like multicore processors, and network systems, and massive computation clusters, and the web programming model. And then, also, just the growth of the industry and the number of programmers which were going into the thousands and the tens-of-thousands by 2010. And so all of the programming languages up until that point were being worked around, rather than addressing things head on.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>13:24</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Eventually, you reach a breaking point and something's got to give.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>13:30</strong> - <em>Carmen Andoh</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Hey, we hated C++ and I said, "Well, let's see if we could invent something new."</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>13:37</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>That new language would need to be exquisitely adapted to our latest infrastructure.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>13:43</strong> - <em>Carmen Andoh</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>What happened with the cloud, which was starting to come of age in 2005, was that you now no longer had to handle your own computes, you sort of were renting it elsewhere, and you get a distributed system. But what happens in a distributed system, and in a cloud, is that you have problems of concurrent messaging between distributed systems. You need to make sure that you have no problems with asynchronicity. Go is a programming language that is asynchronous by default. Basically this means that every operation you perform, like sending all these different messages to another in the system, it's done without waiting for the other system to respond back to you. So it can handle multiple messages at any given time.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>14:28</strong> - <em>Carmen Andoh</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>And that said, cloud computing is distributed. And so Go was developed to address this exact need. Go became, early on, one of the standard ways of doing this kind of distributed computing. And that's why I think that it picked up a lot of the developer mindshare immediately. Go absolutely is the language of cloud infrastructure, both in its design, but also in the ecosystem of all the cloud infrastructure tooling, and building blocks that have sprung up in the last decade.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>15:06</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Soon, major applications like Kubernetes were being written in Go. Google also created Go Cloud, an open source library and set of tools that made Go even more attractive. It became clear, this was the language of a brand new ecosystem. It was the language of the cloud. And it definitely didn't hurt that the creators had reputations for developing languages that lasted.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>15:33</strong> - <em>Carmen Andoh</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>I think that the rest of the industry said, "Hey, I don't think that this is going to be going away anytime soon," and the inventors of the language also happen to invent languages that are now in their 50th year, or 60th year.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>15:47</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Carmen Andoh is a program manager for the Go team at Google.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>15:54</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>So we have a new language, Go, designed to deliver the concurrency that cloud infrastructure makes necessary. Sounds great. And Go’s designers tend to create languages that last for a good half century. Also great. But my question is, what will that really mean 50 years from now when Go is more like COBOL? What will it mean when the world is teeming with legacy Go code that only older developers understand? Are we going to be prepared for a time when today's cloud infrastructure is aging? Are we learning lessons from COBOL and the world of mainframe that could help us design a better future for Go and the cloud?</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>16:40</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Luckily, I found exactly the right person to ask all these questions. And that's next.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>16:51</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>How do we future-proof our languages? We know they're tied to the infrastructure of their day. And we know that new infrastructures are bound to replace the old ones as decades roll by. So what are we doing today to keep things running smoothly tomorrow?</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>17:10</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>I'm Kelsey Hightower, I'm at Google, I'm a developer advocate and I work bringing open technologies and turning them to products on Google Cloud.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>17:19</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Kelsey spends a lot of time thinking about the future of programming. I was curious whether one day we're going to end up with another aging group of programmers with these wizard-like skills around Go, the same way we have a shortage of COBOL wizards today. Are we even planning for that long range future? So Kelsey and I sat down to hash it out.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>17:42</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>... and so forth. But if you think about some of the new challenges today, things like dealing with the internet, the network, you've got multiple users, hundreds of thousands of concurrent users, different collections of machines and architecture types. So given those new use cases, typically you want to have a new language. For example, JavaScript is for the web, you don't want to retrofit COBOL so that we can start doing web programming with it. So we have hundreds of languages that are out and pretty well established today, and they're all kind of hyper-focused on their sweet spots.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>18:15</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>So in that case then, do we need to actively push people towards COBOL? If we're developing these new languages for these new problems and they're highly specialized, and COBOL's still sticking around, do we need to encourage folks to pick it up so we can maintain our legacy code?</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>18:32</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Well, I think that's going to be a challenge for the enterprise, right? So you've invested 10, 20 years in COBOL, and there is no one actively thinking about learning some new COBOL. Or you don't come out of college just like, "I'm going to double-down..."</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>18:45</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Right.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>18:46</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>"...on this language that's older than my parents." So in that world, you have to ask yourself, what is the risk of continuing on with COBOL? Is it still relevant going forward? I think it is still relevant for certain types of workloads, but we have to ask ourselves a question, is it time to progress? Is it time to evolve a little bit? So if you still have billions of lines of COBOL, you're in the situation where you're going to have to try to find all the COBOL talent that's remaining and bring them in house, but maybe we start to think about what can other languages learn from COBOL, and incorporate some of that functionality and libraries into other languages.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>19:26</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Life after COBOL, that would be an enormous infrastructure project all on its own. To use my New York subway analogy, it'd be like replacing every underground tunnel. So, going forward, I wanted to know whether we could anticipate those issues, and even do our future selves some favors.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>19:48</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>If we compare the cloud today to mainframes, are we going to end up in the same boat where we have these legacy code bases that are using kind of old but very stable languages, and we have to kind of reach this new point of figuring out if we should move on or stay the same?</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>20:05</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>So the thing that makes the cloud a bit different, it's not from one manufacturer, right? A lot of cloud providers typically bundle up collections of technology so you have your choice of programming language, you have your choice of programming paradigm, whether you want to event-driven, or it's all web services based on [HTTP]. So what that means is you get to choose what you want to program in, and just kind of focus on what gets solved. So data will come in, data will come out, but you choose how you want to process that data.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>20:36</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>The mainframe typically just kind of had one main interface, right? Like you write this job, and this is how you submit the job, here's how you monitor the job, and here's where it comes out. So that's very limiting of itself. So if you think about some of the newer mainframes, they also support some of the newer technology, so even in the world of mainframe, you start to see the expansion of programming languages you can use to run your jobs.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>20:58</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>So then we start to ask ourselves, okay, given that I have my new choice, when is it time to move on from this particular programming paradigm? So I think we don't get stuck.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>21:08</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Right.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>21:08</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>But I think it is going to be nice that there's going to be a new machine that's going to be distributed, maybe there's a lower cost of entry, you don't have to buy the whole mainframe to get started. But we still want that ease of use of here's my job, you run it for me, tell me when it's done.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>21:24</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Absolutely. Do you see what's happening, or what's happened to COBOL, happening to any of today's languages? Like for example, Go, do you see us struggling to maintain Go and getting folks who want to write Go in 30 years?</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>21:38</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>I think all languages can suffer that fate, right? So if you think about it, Python's been around for a very long time. I think it's, what, close to 20 years if not more. So I think what happens ... and Python's had a resurgence in its usage, right, it's kind of the foundation of language for machine learning.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>21:53</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Yep.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>21:54</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>For libraries like Tensorflow. So if we use just time alone, I think that's probably not the right way to look at it. It's like how relevant is that community? How relevant is that language willing to adapt? And I think what Python did really, really well, it ... that community saw the ability to make other languages easier to use. For example, Tensorflow's a lot of C++ underneath it, so programming in such a language is probably not as user friendly as something like Python. And you could take Python and use it to generate some of the stuff that people are using for, example, Tensorflow. So now that machine learning is hot, people have brung Python into that new space, so guess what? Python continues to be relevant, and will be relevant for some time to come. And the same thing's going to be true for Go. If Go can continue to be relevant, right, it's like at the foundation of many of our infrastructure tools, many of the cloud libraries, it too will remain relevant. So I think it's all about those communities ensuring that they have a place in the future, and when the future shows up, making sure that they have a story there.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>22:58</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Yeah. So how do we future-proof our languages? Meaning, how do we intentionally design a language to make it last, and make it relevant 20, 30 years from now?</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>23:10</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>The people that use the language, so this is something that's really unique I think, in the open source space. Now that we've moved away from commercial languages, right, languages used to come from Microsoft, or Sun Microsystems in the case of Java™, and at that point everyone relied on the vendor to do all the heavy lifting about what the language would be able to do, any new improvements in the run time. Now what we see with things like Go, Node.js, Ruby, all of these are community backed and focused runtimes and languages. So anyone can add new libraries, right? There was a new [HTTP] spec, right, [HTTP/2] came out a few years ago and each of the respective communities just had contributors add those particular libraries, and now guess what? All of those languages are now compatible with the future of the ... kind of the web for the most part.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>24:01</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>So I think it's really now that individuals have more control if they want their language to be relevant for new use cases by just contributing that functionality themselves. So we're not restricted to one or two companies. If the company goes out of business, then maybe the runtime dies with it. We don't have that problem as much anymore.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>24:23</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>We've said it on this podcast before. The future is open. But it's fascinating to consider how in another couple decades, the past will be open too. They'll be inheriting infrastructure and languages that are able to morph and evolve.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>24:39</strong> - <em>Kelsey Hightower</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Awesome, thanks for having me, and I look forward to what people do and mainframe is still relevant. So we don't call it legacy, these are classic technologies.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>24:47</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Ooh, I like that, classic, very nice.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>24:51</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Kelsey Hightower is developer advocate at Google.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>24:57</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>I'm imagining a future that's rich with classic programming languages, along with new languages that haven't even been born yet. That's a future I'm excited for.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>25:07</strong> - <em>Speaker</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Stand clear of the closing doors, please.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>25:12</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>You know, in 2017 Governor Andrew Cuomo declared a state of emergency about the New York City subway. His government set aside 9 billion dollars to invest in the aging infrastructure. And that should remind us, sooner or later, we have to take care of the systems we inherit. You don't just race onward to whatever comes next. You bring the past with you.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>25:37</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>n the world of development, we tend to have a bias towards the future. We think our languages are only useful in the moment, when they're the hot new thing. But, as informational infrastructure continues to age, the history of development becomes more and more real. The past, it turns out, isn't past at all. And it's our job to remember that.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>26:05</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>You can learn more about COBOL, or Go, or any of the languages we're covering this season, by heading over to <a href="//www.redhat.com/en/command-line-heroes">redhat.com/commandlineheroes</a>. There's a bunch of great bonus material waiting for you.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>26:19</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Next episode is all about Bash. We're exploring the origins of shell scripts, and the key to automation.</p> </div> </div> <div class="row"> <div class="col-12"> <div class="card mb-2"> <div class="card-body p-1 bg-white text-purple"> <p class="mb-0"><strong>26:30</strong> - <em>Saron Yitbarek</em></p> </div> </div> </div> </div> <div class="row"> <div class="col-12"> <p>Command Line Heroes is an original podcast from Red Hat. I'm Saron Yitbarek. Until next time, keep on coding.</p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </section> <!-- Pattern | raw_html --> <section class="dms-band clh-keep-going pt-0"> <div class="container"> <div class="row"> <div class="col-12 reveal"> <h3 class="text-white">Keep going</h3> <div class="row"> <div class="col-12 col-md-6 d-flex reveal"> <div class="card rounded-0"> <div class="card-body p-2 p-md-3"> <h3>The Infrastructure is Code: A story of COBOL and Go</h3> <p class="mb-0">COBOL was, and still is, the dominant language of mainframes. What can Go learn from its history in order to dominate the cloud?</p> </div> <div class="card-footer pt-0 px-2 px-md-3 pb-2 pb-md-3"> <a class="btn btn-link mb-0 text-black" href="//opensource.com/article/19/8/command-line-heroes-cobol-golang" target="_blank" title="Look ahead">Look ahead</a> </div> </div> </div> <div class="col-12 col-md-6 d-flex reveal"> <div class="card rounded-0"> <div class="card-body p-2 p-md-3"> <h3>Go on Red Hat Enterprise Linux</h3> <p class="mb-0">Get started with Golang on Red Hat Enterprise Linux. Check out this article for instructions and links to more resources to learn more about Go.</p> </div> <div class="card-footer pt-0 px-2 px-md-3 pb-2 pb-md-3"> <a class="btn btn-link mb-0 text-black" href="//developers.redhat.com/blog/2019/06/24/go-and-fips-140-2-on-red-hat-enterprise-linux/" title="Learn more">Learn more</a> </div> </div> </div> </div> </div> </div> </div> </section> <!-- Pattern | raw_html --> <div class="rh-raw" data-rh-unique-id="1452581"> <section class="dms-band clh-featured-art py-0"> <div class="container"> <div class="row"> <div class="col-12 text-white reveal"> <div class="card rounded-0"> <div class="featured-background bg-no-repeat bg-pos-cb" data-bg-image="/rhdc/managed-files/bkgd-clhs3-e5-artwork-mobile.svg" data-bg-image-md="/rhdc/managed-files/bkgd-clhs3-e5-artwork.svg" style="background-image: url("https://www.redhat.com/cms/managed-files/bkgd-clhs3-e1-artwork.svg");"> <div class="col-12 col-md-7 col-xl-6 px-0"> <div class="card-header pt-2 px-2 pb-0 pt-md-4 px-md-4"> <h3 class="mb-2">Enjoy this episode's artwork on your device</h3> </div> <div class="card-body py-0 px-2 px-md-4"> <p>Download the Command Line Heroes artwork and set it as your background.</p> </div> <div class="card-footer pt-0 px-2 pb-2 px-md-4 pb-md-4"> <div class="cta-group mt-2 d-lg-none"> <a class="btn mt-1 mr-1 mb-0" href="/rhdc/managed-files/clh-s3e5-mobile-1080x1920.png" target="_blank" title="1080x1920">1080x1920</a> <a class="btn mt-1 mr-1 mb-0" href="/rhdc/managed-files/clh-s3e5-mobile-1125x2436.png" target="_blank" title="1125x2436">1125x2436</a> <a class="btn mt-1 mb-0" href="/rhdc/managed-files/clh-s3e5-mobile-1440x2560.png" target="_blank" title="1440x2560">1440x2560</a> </div> <div class="cta-group d-none d-lg-block"> <a class="btn mb-0" href="/rhdc/managed-files/clh-s3e5-desktop-1920x1080.png" title="1920x1080" download>1080p</a> <a class="btn mb-0" href="/rhdc/managed-files/clh-s3e5-desktop-2560x1440.png" title="2560x1440" download>1440p</a> <a class="btn mb-0" href="/rhdc/managed-files/clh-s3e5-desktop-3820x2160.png" title="3840x2160" download>4K</a> </div> </div> </div> </div> </div> </div> </div> </div> </section> </div> <!-- Pattern | raw_html --> <section class="dms-band clh-featured-guests pb-md-12 bg-pos-cc bg-no-repeat" data-bg-image="/rhdc/managed-files/bkgd-clh-s3e5-the-infrastructure-effect.svg"> <div class="container"> <div class="row"> <div class="col-12"> <h3 class="text-white reveal">Featured in this episode</h3> <div class="row"> <div class="col-12 col-md-6 col-lg-3 d-flex reveal"> <div class="card clh-guest"> <a class="card-header p-0 bg-no-repeat bg-pos-cc bg-size-cover rounded-0" href="//twitter.com/ChrisShort" target="_blank" title="Chris Short" data-bg-image="/rhdc/managed-files/chris-short_0.png"></a> <a class="mb-1 d-inline-block w-100 h-100" href="//twitter.com/ChrisShort" target="_blank" title="Chris Short"> <div class="card-body p-2 bg-white h-100"> <h4>Chris Short</h4> <p class="mb-0">Principal Product Marketing Manager at Red Hat</p> </div> </a> </div> </div> <div class="col-12 col-md-6 col-lg-3 d-flex reveal"> <div class="card clh-guest"> <a class="card-header p-0 bg-no-repeat bg-pos-cc bg-size-cover rounded-0" href="//twitter.com/RitikaTrikha" target="_blank" title="Ritika Trikha" data-bg-image="/rhdc/managed-files/ritika-trikha.png"></a> <a class="mb-1 d-inline-block w-100 h-100" href="//twitter.com/RitikaTrikha" target="_blank" title="Ritika Trikha"> <div class="card-body p-2 bg-white h-100"> <h4>Ritika Trikha</h4> <p class="mb-0">Technology Writer</p> </div> </a> </div> </div> <div class="col-12 col-md-6 col-lg-3 mt-md-3 mt-lg-0 d-flex reveal"> <div class="card clh-guest"> <a class="card-header p-0 bg-no-repeat bg-pos-cc bg-size-cover rounded-0" href="//twitter.com/carmatrocity" target="_blank" title="Carmen Hernández Andoh" data-bg-image="/rhdc/managed-files/carmen-hernandez-andoh.png"></a> <a class="mb-1 d-inline-block w-100 h-100" href="//twitter.com/carmatrocity" target="_blank" title="Carmen Hernández Andoh"> <div class="card-body p-2 bg-white h-100"> <h4>Carmen Hernández Andoh</h4> <p class="mb-0">Program Manager for the Go Team at Google</p> </div> </a> </div> </div> <div class="col-12 col-md-6 col-lg-3 mt-md-3 mt-lg-0 d-flex reveal"> <div class="card clh-guest"> <a class="card-header p-0 bg-no-repeat bg-pos-cc bg-size-cover rounded-0" href="//twitter.com/kelseyhightower" target="_blank" title="Kelsey Hightower" data-bg-image="/rhdc/managed-files/kelsey-hightower.png"></a> <a class="mb-1 d-inline-block w-100 h-100" href="//twitter.com/kelseyhightower" target="_blank" title="Kelsey Hightower"> <div class="card-body p-2 bg-white h-100"> <h4>Kelsey Hightower</h4> <p class="mb-0">Developer Advocate at Google</p> </div> </a> </div> </div> </div> </div> </div> </div> <img class="img-fluid w-100 d-md-none" src="/rhdc/managed-files/img-clh-s3e5-the-infrastructure-effect.svg"> </section> <!-- Pattern | raw_html --> <div class="one-column"> <div class="dx-relative content-region"> <section class="dms-band clh-newsletter pt-0 pt-md-8"> <div class="container text-white"> <div class="row"> <div class="col-12 col-md-6 col-lg-5 reveal"> <div class="card"> <div class="card-body p-0"> <img class="img-fluid svg svg-white mb-3" src="/rhdc/managed-files/logo-command-line-heroes.svg" width="166" height="42" alt="Command Line Heroes logo" title="Command Line Heroes" loading="lazy"> <h2 class="font-family-monospace">Share our shows</h2> <p>We are working hard to bring you new stories, ideas, and insights. Reach out to us on social media, use #CommandLinePod, and follow us for updates and announcements.</p> <div class="row"> <ul class="social-list mb-0 d-flex align-items-center list-unstyled"> <li class="social-item mr-1 mr-sm-2 d-inline-block">Share</li> <li class="social-item d-inline-block"> <a class="social-link d-flex align-items-center justify-content-center text-white" href="//www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F" target="_blank" title="Facebook" onclick="return !window.open(this.href, 'Facebook', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')"> <span class="web-icon-facebook" aria-label="Facebook"></span> </a> </li> <li class="social-item ml-1 d-inline-block"> <a class="social-link d-flex align-items-center justify-content-center text-white" href="//www.twitter.com/share?url=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F&text=An%20original%20podcast%20about%20the%20people%20who%20transform%20technology%20from%20the%20command%20line%20up.%20Presented%20by%20Red%20Hat." target="_blank" title="X" onclick="return !window.open(this.href, 'X', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')"> <span class="d-flex" aria-label="X"><svg id="uuid-fa6eed5a-a519-44a2-a49d-33609fd1e951" width="18" height="18" viewBox="0 0 30 30" style="fill: white;" aria-hidden="true"><path d="m16.78,13.54l6.96-8.09h-1.65l-6.04,7.02-4.82-7.02h-5.56l7.3,10.62-7.3,8.48h1.65l6.38-7.42,5.1,7.42h5.56l-7.57-11.01h0Zm-2.26,2.62l-.74-1.06L7.9,6.69h2.53l4.75,6.79.74,1.06,6.17,8.83h-2.53l-5.03-7.2h0Z" stroke-width="0" /></svg></span> </a> </li> <li class="social-item ml-1 d-inline-block"> <a class="social-link d-flex align-items-center justify-content-center text-white" href="//www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.redhat.com%2Fen%2Fcommand-line-heroes%2F&title=Command%20Line%20Heroes&summary=Hear%20the%20epic%20true%20tales%20of%20how%20developers%2C%20programmers%2C%20hackers%2C%20geeks%2C%20and%20open%20source%20rebels%20are%20revolutionizing%20the%20technology%20landscape.%20Command%20Line%20Heroes%20is%20a%20new%20podcast%20hosted%20by%20Saron%20Yitbarek%20and%20produced%20by%20Red%20Hat.&source=Red%20Hat" target="_blank" title="LinkedIn" onclick="return !window.open(this.href, 'LinkedIn', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=600,width=600')"> <span class="web-icon-linkedin" aria-label="LinkedIn"></span> </a> </li> <li class="social-item ml-1 d-inline-block"> <a class="social-link d-flex align-items-center justify-content-center text-white " href="mailto:?subject=Command Line Heroes&body=Hear%20the%20epic%20true%20tales%20of%20how%20developers%2C%20programmers%2C%20hackers%2C%20geeks%2C%20and%20open%20source%20rebels%20are%20revolutionizing%20the%20technology%20landscape.%20Command%20Line%20Heroes%20is%20a%20new%20podcast%20hosted%20by%20Saron%20Yitbarek%20and%20produced%20by%20Red%20Hat. https://www.redhat.com/en/command-line-heroes" target="_blank" title="Email" aria-current="page"> <span class="web-icon-envelope" aria-label="Email"></span> </a> </li> </ul> </div> </div> </div> </div> <div class="col-12 col-md-6 offset-lg-1 reveal"> <div class="card mb-0 bg-white rounded-0 text-black"> <div class="card-body p-2 p-md-3"> <h2 class="text-red font-family-monospace">Presented by Red Hat</h2> <p class="mb-0">Sharing knowledge has defined us from the beginning–ever since co-founder Marc Ewing became known as “the helpful guy in the red hat.” Head over to the Red Hat Blog for expert insights and epic stories from the world of enterprise tech.</p> </div> <div class="card-footer pt-0 px-2 px-md-3 pb-2 pb-md-3"> <rh-cta variant="primary"><a class="mb-0" href="https://www.redhat.com/en/red-hat-original-series" title="Red Hat original series" data-analytics-category="Command Line Heroes|Presented by Red Hat|See original shows" data-analytics-text="See original shows" data-analytics-linktype="cta">See original shows</a></rh-cta> <rh-cta class="pl-2"><a href="https://www.redhat.com/en/blog" title="Red Hat blog" data-analytics-category="Command Line Heroes|Presented by Red Hat|Read the blog" data-analytics-text="Read the blog" data-analytics-linktype="cta">Read the blog</a></rh-cta> </div> </div> </div> </div> </div> </section> </div> </div> <!-- Pattern | raw_html --> <div class="one-column"> <div class="dx-relative content-region"> </div> </div> </div> </div> </div> </article> </div> <rh-footer-universal slot="universal"><h3 slot="links-primary" hidden data-analytics-text="Red Hat legal and privacy links" >Red Hat legal and privacy links</h3><ul slot="links-primary" data-analytics-region="page-footer-bottom-primary"><li><a href="/en/about/company" data-analytics-category="Footer|Corporate" data-analytics-text="About Red Hat" >About Red Hat</a></li><li><a href="/en/jobs" data-analytics-category="Footer|Corporate" data-analytics-text="Jobs" >Jobs</a></li><li><a href="/en/events" data-analytics-category="Footer|Corporate" data-analytics-text="Events" >Events</a></li><li><a href="/en/about/office-locations" data-analytics-category="Footer|Corporate" data-analytics-text="Locations" >Locations</a></li><li><a href="/en/contact" data-analytics-category="Footer|Corporate" data-analytics-text="Contact Red Hat" >Contact Red Hat</a></li><li><a href="/en/blog" data-analytics-category="Footer|Corporate" data-analytics-text="Red Hat Blog" >Red Hat Blog</a></li><li><a href="/en/about/our-culture/diversity-equity-inclusion" data-analytics-category="Footer|Corporate" data-analytics-text="" >Diversity, equity, and inclusion</a></li><li><a href="https://coolstuff.redhat.com/" data-analytics-category="Footer|Corporate" data-analytics-text="Cool Stuff Store" >Cool Stuff Store</a></li><li><a href="https://www.redhat.com/en/summit" data-analytics-category="Footer|Corporate" data-analytics-text="Red Hat Summit" >Red Hat Summit</a></li></ul><rh-footer-copyright slot="links-secondary">© 2025 Red Hat, Inc.</rh-footer-copyright><h3 slot="links-secondary" hidden data-analytics-text="Red Hat legal and privacy links" >Red Hat legal and privacy links</h3><ul slot="links-secondary" data-analytics-region="page-footer-bottom-secondary"><li><a href="/en/about/privacy-policy" data-analytics-category="Footer|Red Hat legal and privacy links" data-analytics-text="Privacy statement" >Privacy statement</a></li><li><a href="/en/about/terms-use" data-analytics-category="Footer|Red Hat legal and privacy links" data-analytics-text="Terms of use" >Terms of use</a></li><li><a href="/en/about/all-policies-guidelines" data-analytics-category="Footer|Red Hat legal and privacy links" data-analytics-text="All policies and guidelines" >All policies and guidelines</a></li><li><a href="/en/about/digital-accessibility" data-analytics-category="Footer|Red Hat legal and privacy links" data-analytics-text="Digital accessibility" >Digital accessibility</a></li><li><span id="teconsent"></span></li></ul></rh-footer-universal> <div id="consent_blackbar" style="position: fixed;bottom: 0;width: 100%;z-index: 5;padding: 10px;"></div> <script>if (("undefined" !== typeof _satellite) && ("function" === typeof _satellite.pageBottom)) {_satellite.pageBottom();}</script> <script src="/modules/custom/rhdc_js_errors/libraries/dist/js/676ea2c2d4a147c2834066d24c04a9e4.min.js?soejlb"></script> <script src="/rhdc/system-files/js/js_m13pN2l2Obi-O7A7elx_vLYL1Q8fsYNTKkhbwhfflkg.js?scope=footer&delta=1&language=en&theme=rhdc&include=eJyNj0FuQjEMRC_0Qw7Rg0RO7CYBJ0a2aUVP38CvCgsWbCzPzPNIVsLUwJM10LVyzxYZfq6BBTCQDcEL06YvMG2hOGzaUgajdOmxsmTgj6Yy6OZLx5IGTKiksSiB0-4V7jR9IVjibQSks1JZOT6ZRh4YZg1F5NTpnqTVxlfvxe7MYZy8Ho72KnvIRIicsrjLeIckVdF3QOvrIyPQ0nb8aPvxH_4vt2_K2uL5k8KEr17Bu8xfs6CUhA"></script> <script src="/modules/contrib/red_hat_shared_libs/dist/js/lazy-load-esmodule.js?soejlb" type="module"></script> <script src="/modules/contrib/red_hat_shared_libs/dist/rhds-elements/modules/rh-cta/rh-cta.js" type="module"></script> <script src="/rhdc/system-files/js/js_HmTR8fol55OKA_s0UEmAtpIMl4hQnAZS4Hj-eJmLPCs.js?scope=footer&delta=4&language=en&theme=rhdc&include=eJyNj0FuQjEMRC_0Qw7Rg0RO7CYBJ0a2aUVP38CvCgsWbCzPzPNIVsLUwJM10LVyzxYZfq6BBTCQDcEL06YvMG2hOGzaUgajdOmxsmTgj6Yy6OZLx5IGTKiksSiB0-4V7jR9IVjibQSks1JZOT6ZRh4YZg1F5NTpnqTVxlfvxe7MYZy8Ho72KnvIRIicsrjLeIckVdF3QOvrIyPQ0nb8aPvxH_4vt2_K2uL5k8KEr17Bu8xfs6CUhA"></script> <script src="/themes/custom/rhdc/js/rhdc-set-lang-cookie.js?soejlb" async></script> <script src="/rhdc/system-files/js/js_XKNjXCQiDMdMvpTCGUG9GcJ4QyA_73Q-IG4mn5VXHxM.js?scope=footer&delta=6&language=en&theme=rhdc&include=eJyNj0FuQjEMRC_0Qw7Rg0RO7CYBJ0a2aUVP38CvCgsWbCzPzPNIVsLUwJM10LVyzxYZfq6BBTCQDcEL06YvMG2hOGzaUgajdOmxsmTgj6Yy6OZLx5IGTKiksSiB0-4V7jR9IVjibQSks1JZOT6ZRh4YZg1F5NTpnqTVxlfvxe7MYZy8Ho72KnvIRIicsrjLeIckVdF3QOvrIyPQ0nb8aPvxH_4vt2_K2uL5k8KEr17Bu8xfs6CUhA"></script> <script src="/modules/contrib/webrh/@cpelements/pfe-navigation/dist/pfe-navigation.min.js" type="module"></script> <script src="/ux/webdms/js/vendors/jquery.waypoints.min.js" defer></script> <script src="/ux/webdms/js/vendors/plyr.min.js" defer></script> <script src="/ux/webdms/js/vendors/viewport.min.js" defer></script> <script src="/ux/webdms/js/scripts.min.js" defer></script> <script src="/ux/webdms/js/projects/clh.min.js" defer></script> </body> </html>