"Jak jsme se sem sakra dostali, že doslova potřebujeme programátory COBOL?" zeptal se guvernér New Jersey Phil Murphy na nedávné tiskové konferenci.
Obsah
- Fortran
- Ada
- Pascal
- BASIC / Visual Basic
- COBOL
Tváří v tvář bezprecedentnímu počtu nezaměstnanost Stát musel okamžitě rozšířit svou 40 let starou platformu žádostí o podporu v nezaměstnanosti – generální opravu což okamžitě odstartovalo zběsilé hledání programátorů obeznámených s desítkami let starým kódovacím jazykem COBOL.
Doporučená videa
Tento problém však nemá jen New Jersey. Mnoho světových bankovních, obranných systémů a systémů umělé inteligence využívá programovací jazyky, které byly v módě, když Apple vyšel z garáže.
Technologický průmysl má náklonnost k věcem, které jsou nové a nejmodernější, ale nebýt starých kódovacích jazyků jako COBOL, Ada, Pascal a Fortran, úvěrový průmysl, vědecké výzkumné organizace a četné obranné systémy by zaječely Stůj. Jinými slovy, bez tohoto starého kódu bychom byli v háji.
Padesát let staré programovací jazyky stále počítají miliony transakcí a statistik a slouží jako páteř systémů, na které se moderní svět spoléhá. Například více než 95 procent bankomatů a 40 procent bank používá kód COBOL, podle studie z roku 2017 Zpráva agentury Reuters.
Několik z těchto starověkých tabelátorů stále plní specifické funkce velmi dobře. Existuje také mnoho obchodních manažerů, kteří nechtějí rozebírat časem prověřený software, který je pro podnikání své společnosti, takže místo generálních oprav a modernizací jednoduše opravují starý kód a doufají v to nejlepší.
Zápas s prastarou technologií není nový fenomén. Například, Kalifornie vyhodila stovky milionů dolarů ve snaze aktualizovat své DMV a mzdovou technologii. Přesto současná pandemie a výsledná vlna nezaměstnanosti osvětlily, jak velká část americké softwarové infrastruktury se hroutí stejně jako ta fyzická.
Zde je pět „starých“ jazyků, na kterých závisí náš svět víc, než si uvědomujete, a proč vás to může trochu znervózňovat.
Fortran
Kdyby nebylo Fortranu, mnoho superpočítačů a modelů, které používáme pro věci, jako je předpověď počasí, astrofyzika a statistická analýza na vysoké úrovni, by prostě nefungovala.
Fortran (zkratka pro Formula Translation) byl postaven společností IBM v 50. letech a byl jedním z prvních jazyků na vysoké úrovni, používal slova místo čísel a umožnil kodérům psát programy o 500 % rychleji než při použití stroje kód. Dnes se jazyk neučí zdaleka tolik vývojářů.
„Fortran používám neustále – jen o tom nikdy nepřemýšlím,“ říká James Howard, datový vědec z Johns Hopkins Applied Physics Laboratory. Zatímco Howard v tomto jazyce léta neprogramoval, jeho aplikace pravidelně přistupují k základním knihovnám Fortranu. Postaveny na počátku 70. let, jsou dobře udržované a „slepě rychlé“.
Howard musel naposledy napsat program Fortran asi před 10 lety. Pracoval ve Federálním rezervním systému a potřeboval přesouvat data mezi dvěma aplikacemi; jeden, který byl napsán v C a druhý ve Fortranu. Programy přestaly komunikovat, protože prodejce přestal poskytovat knihovnu Fortran.
40letý programátor si vzpomněl na něco, co četl jako dítě, že struktura volání dat pro programovací jazyk C je opačná než struktura Fortranu. Napsal jednoduchý scénář, aby obrátil rozkaz a, voila, Federální rezervní systém byl zpět v provozu.
Ada
Vládní programátoři se při vývoji systémů, které vyžadují spolehlivost, jako jsou obranné a bezpečnostní systémy, spoléhají na poměrně obskurní kódovou základnu Ada. Co přesně se v něm programuje? No, to je trochu vládní tajemství, ale NASA a Boeing v posledních letech využily kód založený na Ada k programování satelitů a letadel.
Ministerstvo obrany (DOD) dohlíželo na vývoj Ada v 70. letech, aby se snížil počet programovacích jazyků používaných armádou, kterých bylo v té době přes 400. Ada byla postavena tak, aby byla nepochybně spolehlivá v situacích života a smrti a byla posílena proti chybám programátora. Ačkoli byl jazyk dodán v roce 1980, Kongres nařídil jeho použití ve všech vládních systémech až do roku 1995. O dva roky později ministerstvo obrany mandát opustilo s tím, že bude levnější a flexibilnější používat široce dostupné, aktuální systémy. Ale používá se dodnes.
Pascal
Mnoho programátorů považuje Pascal za téměř mrtvý programovací jazyk, ale v několika ohledech žije dál. „Věřte tomu nebo ne, je to stále velmi populární jazyk v mnoha částech světa, ale v USA můžete dobře mluvit latinsky,“ říká Dave Hatter, který strávil tři roky ve velké pojišťovací společnosti a pomáhal s aktualizací a milionů řádků kódu, které odhadovaly, co stojí politiky a kolik platí.
Mnoho z těchto starších programů bylo napsáno dávno před dnešními obavami z narušení bezpečnosti a mají citlivé vlastnické informace. Hatter, který nyní pracuje jako technik pro kybernetickou bezpečnost, se domnívá, že programy mohou být relativně bezpečné právě kvůli „zabezpečení nejasností“ – mladí kodéři nevědí, co dělat s desítkami let starým kódem. „15letý hacker nebude mít ponětí, jak pracovat s jakýmsi sálovým počítačem IBM 390 s COBOL,“ říká. „Teď neříkám, že se nemohli učit. Ale oni se to nedozví."
Pascal byl základem pro raný operační systém Apple a potomek jazyka, Delphi, má stále silné zastánce. Ve skutečnosti byl Skype – jedna z prvních aplikací pro videohovory, která si získala širokou popularitu a používání – byl původně napsán v Delphi.
BASIC / Visual Basic
BASIC není úplně na vrcholu seznamu, pokud jde o jazyky, které lidé používají v roce 2020, ale mnoho moderních aplikací, na které spoléháme, by bez něj prostě neexistovalo. Pokud jste například někdy programovali makro Excel, použili jste formu BASICu.
BASIC, zkratka pro Beginner’s All-Purpose Symbolic Instruction Code, byl spuštěn v roce 1963 na Dartmouth College jako způsob, jak učit širokému publiku teorie a možnosti programování – ponořte se do vody, než se dostanete do robustnějších jazyků, jako je Fortran. Popularita BASICu vzrostla spolu s osobním počítačem – všechny počítače Apple, IBM a Atari měly své verze.
V polovině 80. let byli počítačoví samouci méně zaujatí BASICem a více se zajímali o programy třetích stran. Poté Microsoft v roce 1991 spustil Visual Basic, který nebyl přesně aktualizací BASICu, ale používal některé stejné příkazy a strukturu a měl lepší grafické rozhraní. Poté byl jazyk využíván mnoha podniky k psaní velkých i malých programů. Přestože Microsoft řekl, že přestal podporovat Visual Basic 6 (nejnovější verzi) v roce 2008, tento jazyk má stále mnoho uživatelů. Zkontrolovat Tiobe index (který mapuje nejpopulárnější programovací jazyky): VB je stále v top 10!
COBOL
„Řekl bych, že více než 90 % lidí, které vidíme, má COBOL jako základní součást toho, co napsali,“ odhaduje Brandon Edenfield, který aktualizuje a převádí starší aplikace pro Moderní systémy a pomohl revidovat kód pro burzy v New Yorku a Singapuru. "Každá velká společnost, na kterou si vzpomenete, má pravděpodobně nezdravé množství těchto věcí."
COBOL, zkratka pro Common Business-Oriented Language, byl uveden na trh v roce 1959 se zaměřením na úkoly zpracování dat, jako je sledování rozpočtu, bankovní transakce a mzdové účetnictví. Ministerstvo obrany (DOD) původně navrhlo jazyk jako provizorní projekt. Poté ministerstvo obrany požadovalo, aby výrobci počítačů zahrnuli COBOL do strojů, které prodávali, a jazyk se během několika příštích desetiletí rychle rozšířil. Více než 95 % bankomatů a 40 % bank stále používá kód COBOL, podle studie z roku 2017 Zpráva agentury Reuters.
Velká část tohoto programování byla nasazena prostřednictvím sálových počítačů a moderní systémy se přesunuly do cloudu. Jak ukazuje svízelná situace v New Jersey, vývojáři, kteří věděli, jak udržovat kód COBOL, stárnou z pracovní síly nebo již odešli do důchodu.
Společnosti, které tyto programy modernizují, tak obvykle činí několika různými způsoby.
„Velký systémový integrátor na kód hodí spoustu těl; sednou si, podívají se na to a přepíší to,“ říká Edenfield. Tento přístup je často nejriskantnější, časově náročný a nákladný. V průměru mohou ručně kódované velké replatformační úlohy trvat 3 až 10 let a mohou stát stovky milionů dolarů.
Edenfield doporučuje automatizovaná řešení a říká, že prvním logickým krokem může být právě přesunutí kódu zastaralou verzi COBOL na současnou, což by mnoha systémům umožnilo přechod na moderní servery. Strojovou aktualizaci přirovnává k překladu francouzštiny do angličtiny: „Základ toho, co se říká, je přeložen dokonale. Musíte jen opravit syntaxi toho, jak je to formulováno." Tento přístup může také snížit čas a náklady na aktualizaci, říká, někde mezi šesti a 24 měsíci.
Bude to levné? No, bude to levnější. Projekty moderních systémů se obvykle pohybují v ceně od 200 000 do 10 milionů USD. Velká část projektu, vysvětluje Edenfield, nepřekládá kód, ale testuje, aby se ujistil, že dělá vše správně.
Důvod, proč tyto aktualizace neprobíhají?
"Nikdo o tom předtím neslyšel, protože to není sexy téma a lidé se obvykle nesnaží mluvit o špinavém prádle, které mají," vysvětluje. IT manažeři mají také ve zvyku kopat do plechovky.
„Vsadím se s vámi, že stát New Jersey bude této záležitosti nyní věnovat pozornost, ale také se s vámi vsadím, že polovina jejich kolegů si bude myslet, že se jim to nestane, ‚Já ne‘.“