Oude code roest niet. Het draait door, maar kan wel wedstrijden en stunts gebruiken. Dit is de discussiestelling die Computable-lezers vandaag krijgen voorgelegd.
Oude programmeertalen en platformen gaan maar zelden echt dood. Terwijl hun grondleggers en makers inmiddels al wel heengaan, doet echt oude code vaak nog gewoon goed dienst. Grote technologieën uit de ict-oertijd, hun overlijden is al vaak genoeg voorspeld en maar zelden uitgekomen. Cobol, Fortran en andere klinkende namen van ‘grootvaders ict’ beklijven en blijven nog jaren relevant.
Niet iedereen wil of kan nog investeren in dergelijke legacy. Maar moeite erin steken, kan toch zeker de moeite waard zijn. Bijvoorbeeld met wat wedstrijden of andere stunts. Zie maar de Amerikaanse ruimtevaartorganisatie NASA die een open uitdaging heeft: help Fortran-code voor simulatiesoftware (onder andere stromingsleer en aerodynamica) te versnellen. De High Performance Fast Computing Challenge (HPFCC) geldt vanwege overheidsregels alleen voor de VS, maar het is een goed idee. Legacycode kan meer van zulke wedstrijden en stunts gebruiken. Wat vind jij?
Wel eens gehoord van Application Modelling, oftwel “maatwerksoftware maken zonder te programmeren” (No-code ipv Low-code). Kijk eens naar ZoomBIM (WEM.IO) en zie dat je risicovrij de legacy applicatie kan (na)bouwen zonder risico.
Microsoft gaat Minecraft op dezelfde manier aanbieden aan scholen, om op deze manier de nieuwe programmeurs van nieuwe technologiën te voorzien.
Jasper, Fortran en simulatie software klinkt mij zeer bekend in de oren.
Het was idd lang een legacy issue (om nog maar te zwijgen van de voorloper ADA voor het zelfde doel).
Later zag ik dat de overstap hierin richting C en ook C++ gemaakt werd.
Een een op een conversie van FORTAN naar een dergelijke taal middels een niet al te lastig conversie programma is niet echt heel erg spectaculair, zelfs als je in aanmerking moet nemen dat er vaak van heel specifieke eigenschappen van de brontaal (FORTRAN) gebruik gemaakt wordt.
Het argument dat sommige Fortran libraries zeer snel zijn en dat als reden gebruiken om alsnog voor zo’n legacy taal te kiezen is natuurlijk als sederd de jaren ’90 achterhaald, we draaien onze software immers niet meer op een 16bits mainframe maar op een 64bits laptopje met een FPU.
@Marcel Mayer, welicht een oplossing voor BI, maar daar heeft Jasper het niet over, en de software waar hij het over heeft draait maar zelden op een MicroSoft platform.
Zelf vind ik overigens dat je van specialistisch personeel mag verwachten dat ze vrij vlot een legacy progammeertaal eigen kunnen maken, als zo iemand niet verder komt dan java dan heb je wellicht de verkeerde persoon op die plek. Dat is echt geen schande. Ik kan best een ei bakken, maar in een 5 sterren restaurant zou ik een ware ramp zijn.
Er wordt te snel geredeneerd dat Legacy vervangen moet worden. Als de investeringskosten worden meegewogen dan zou een continuering van COBOL nog wel eens een betere keuze kunnen zijn dan het migreren van deze systemen naar Java en andere platformen. COBOL draait meestal op zeer goed beveiligde platformen zoals Mainframe- en Midrange (AS/400) systemen.
Een campagne om COBOL en aanverwante systemen opnieuw populair te maken zou zeker kunnen helpen, ook is dit zeer goed voor de werkgelegenheid en voorkomt veel kapitaalvernietiging.
De term legacy wordt gebruikt voor oudere systemen (inclusief software) die al lang draaien binnen een organisatie en dus vaak de basis vormen van deze organisatie. Het probleem hiermee is dat de kennis ervan langzaam afneemt terwijl er nog een grote afhankelijkheid mee is. Vaak is het ook de ‘core’ van een heleboel later toegevoegde oplossingen waardoor de reactie van Marcel eigenlijk dus weinig hout snijdt want tenslotte beperk je het risico door te testen.
Naast het functioneel nabouwen zijn er nog een heleboel non-functionele aspecten waar rekening mee gehouden moet worden als we kijken naar het ecosysteem, alleen het onderliggende besturingssysteem is zoals Pascal zegt al een dingetje. Windows 2003 is tenslotte nu ook legacy maar wordt dus nog opmerkelijk veel gebruikt binnen organisaties omdat je een ecosysteem veel moeilijker vervangt dan een desktop. En hetzelfde geldt voor het I/O pad welke bestaat uit een functionele en technische invulling.
De opmerking van Willem dat legacy vaak op goed beveiligde platformen draait heeft vooral te maken met het testen. Organisaties die willen stunten met hun primaire bedrijfsprocessen halen vaak niet op een positieve manier de krant. Want uiteindelijk gaat het dus helemaal niet om de code maar de regels die er mee vastgelegd zijn, er zit namelijk een wezenlijk verschil tussen wetenschappelijke oplossingen en bedrijfsmatige.