Èíñòðóìåíò äëÿ èçáàâëåíèÿ îò COBOL
Ïðîåêò GnuCOBOL, ïðåäñòàâëÿþùèé ñîáîé ñâîáîäíî ðàñïðîñòðàíÿåìûé êîìïèëÿòîð äëÿ ÿçûêà ïðîãðàììèðîâàíèÿ COBOL (COmmon Business-Oriented Language), äîñòèã íîâîãî ýòàïà ðàçâèòèÿ. Ïî ñëîâàì àâòîðîâ ïðîåêòà, îòíûíå åãî ìîæíî ïðèìåíÿòü â ïðîìûøëåííûõ ñèñòåìàõ, ãäå îí ñïîñîáåí ïîêàçàòü ñåáÿ íè÷óòü íå õóæå ïëàòíûõ àíàëîãîâ.
Íàïèñàííîå íà COBOL ïðîãðàììíîå îáåñïå÷åíèå àêòèâíî ïðèìåíÿåòñÿ, â ÷àñòíîñòè, â îáëàñòè áóõãàëòåðèè è ôèíàíñîâ.
GnuCOBOL – ýòî, ñêîðåå, èíñòðóìåíò, ïîçâîëÿþùèé êîìïàíèÿì èçáàâèòüñÿ îò çàâèñèìîñòè îò ÿçûêà COBOL, îäíîãî èç äðåâíåéøèõ ÿçûêîâ ïðîãðàììèðîâàíèÿ â ìèðå. COBOL ïîÿâèëñÿ 65 ëåò íàçàä è ïåðåæèë íåñêîëüêèõ ñâîèõ ðàçðàáîò÷èêîâ. Íûíåøíåìó ïîêîëåíèþ ïðîãðàììèñòîâ îí íåèíòåðåñåí, â ðåçóëüòàòå ÷åãî îðèåíòèðóþùèõñÿ â íåì ñïåöèàëèñòîâ ñ êàæäûì ðàçîì ñòàíîâèòñÿ âñå ìåíüøå ââèäó èõ âîçðàñòà.
Îñíîâíîå óìåíèå GnuCOBOL – ýòî òðàíñëÿöèÿ íàïèñàííîé íà COBOL ïðîãðàììû â ïðåäñòàâëåíèå íà ÿçûêå Ñ äëÿ äàëüíåéøåé êîìïèëÿöèè ïðè ïîìîùè êîìïèëÿòîðà ÿçûêà Ñ, êîòîðûé, ñîãëàñíî ðåéòèíãó Tiobe, âõîäèò â òîï-5 ñàìûõ ïîïóëÿðíûõ â ìèðå è äåðæèòñÿ â íåì íà ïðîòÿæåíèè ìíîãèõ ëåò. COBOL æå íàõîäèòñÿ íà 20 ñòðî÷êå ýòîãî ðåéòèíãà, è òî ëèøü ïîòîìó, ÷òî ñåé÷àñ ìíîæåñòâî êîìïàíèé ïî âñåìó ìèðó çàíÿòî ïåðåíîñîì ñâîåãî COBOL-ÏÎ íà áîëåå ñîâðåìåííûå ÿçûêè.
Êàê ñîîáùàë CNews, ìèð îñîçíàë ñâîþ çàâèñèìîñòü îò COBOL â íà÷àëå 2020 ã., êîãäà âûÿñíèëîñü, ÷òî ñîëèäíàÿ ÷àñòü ñîöèàëüíîãî è ãîñóäàðñòâåííîãî ÏÎ íàïèñàíà èìåííî íà ýòîì ÿçûêå. IBM ïîïûòàëàñü çàïóñòèòü êóðñû ïî îáó÷åíèþ ýòîìó ÿçûêó, íî ìèðîâîé óñïåõ åå íà÷èíàíèå íå ïîëó÷èëî.
20 äîëãèõ ëåò
Íà ïîäãîòîâêó GnuCOBOL ê èñïîëüçîâàíèþ íå òîëüêî â ëè÷íûõ öåëÿõ, íî è íà ïðåäïðèÿòèÿõ, óøëî 20 ëåò, óòâåðæäàþò ðàçðàáîò÷èêè. Ïðè ýòîì íåëüçÿ ñêàçàòü, ÷òî ïðîåêò ðàçâèâàåòñÿ ñòðåìèòåëüíî – ñîâñåì íàîáîðîò, íîâûå îáíîâëåíèÿ äëÿ GnuCOBOL ìîãóò íå âûõîäèòü ãîäàìè.
Íàïðèìåð, íà ìîìåíò âûõîäà ìàòåðèàëà ñàìàÿ íîâàÿ âåðñèÿ GnuCOBOL èç äîñòóïíûõ íà îôèöèàëüíîì ñàéòå ïðîåêòà èìåëà èíäåêñ 3.2 è äàòó âûïóñêà 28 èþëÿ 2023 ã. À ïðåäøåñòâóþùèé ðåëèç çà íîìåðîì 3.1.2 óâèäåë ñâåò â êîíöå äåêàáðÿ 2020 ã.
Ê ïðåèìóùåñòâàì ñâîåãî ïðîåêòà ðàçðàáîò÷èêè îòíîñÿò â ïåðâóþ î÷åðåäü êðîñïëàòôîðìåðííîñòü – ýòîò êîìïèëÿòîð ìîæíî èñïîëüçîâàòü ïîä Windows, macOS, Linux, Android, BSD è äðóãèõ îïåðàöèîííûõ ñèñòåìàõ. Òàêæå îíè îòäåëüíî àêöåíòèðóþò âíèìàíèå íà ïîääåðæêó ñðàçó 19 «äèàëåêòîâ» ÿçûêà COBOL – èõ áîëüøîå êîëè÷åñòâî, ê ñëîâó, òîæå ïîâëèÿëî íà ðåçêîå ñíèæåíèå ïîïóëÿðíîñòè ýòîãî ÿçûêà ïðîãðàììèðîâàíèÿ ïîñëå ïîÿâëåíèÿ áîëåå ñîâðåìåííûõ è ìîãóùåñòâåííûõ Ñ è Ñ++.
Ðàçðàáîò÷èêè îòäåëüíî îòìåòèëè, ÷òî êîìïàíèè âñå ÷àùå âíåäðÿþò GnuCOBOL, è ÷àñòî îíè íà÷èíàþò èñïîëüçîâàòü åãî âìåñòî êîììåð÷åñêèõ àíàëîãîâ. Îíè ïðèâåëè â ïðèìåð êîìïèëÿòîð Micro Focus è ðàññêàçàëè î ðåøåíèè Ìèíèñòåðñòâà ôèíàíñîâ Ôðàíöèè ïî îòêàçó îò ñòàðîãî ìåéíôðåéìà ñ îïåðàöèîííîé ñèñòåìîé ëèíåéêè GCOS (General Comprehensive Operating System), ïîÿâèâøåéñÿ åùå â ñåðåäèíå XX âåêà, â ïîëüçó áîëåå ñîâðåìåííîãî ðåøåíèÿ ñ GnuCOBOL.
COBOL ïîðà íà ïîêîé
×åëîâå÷åñòâî çàâèñèò îò COBOL ñèëüíåå, ÷åì äóìàåò. Ïî ñòàòèñòèêå IBM, ê êîíöó 2022 ã. â ìèðå íàñ÷èòûâàëîñü îêîëî 800 ìëðä èñïîëüçóåìûõ ñòðîê êîäà íà COBOL. À â êîíöå 2023 ã. CNews ïèñàë, ÷òî êàæäûé äåíü â ìèðå ïðîãðàììàìè, íàïèñàííûìè íà äðåâíåì ÿçûêå COBOL, îáðàáàòûâàþòñÿ áàíêîâñêèå òðàíçàêöèè íà òðèëëèîíû äîëëàðîâ ÑØÀ. È ñ òå÷åíèåì âðåìåíè, ïî ìåðå òîãî, êàê êîëè÷åñòâî çíàþùèõ COBOL ñïåöèàëèñòîâ óáûâàåò, ýòî ñòàíîâèòñÿ âñå áîëüøåé ïðîáëåìîé. Êîìïàíèè òðàòÿò áîëüøå âðåìåíè íà ïîèñê êîìïåòåíòíîãî ïðîãðàììèñòà, à ÷åì ðàðèòåòíåå ñïåöèàëèñò, òåì áîëüøå åìó ïðèõîäèòñÿ ïëàòèòü, ÷òî âûëèâàåòñÿ â äîïîëíèòåëüíûå ðàñõîäû äëÿ ïðåäïðèÿòèé.
Êàê èòîã, â ìèðå ðàñòåò ÷èñëî óòèëèò, ïîçâîëÿþùèõ îñòàâèòü COBOL â ïðîøëîì – îäíó èç òàêèõ ñîçäàëà IBM – êîìïàíèÿ, ïûòàâøàÿñÿ âîçðîäèòü COBOL è äàòü åìó âòîðóþ æèçíü.  àâãóñòå 2023 ã. îíà ïîêàçàëà âñåìó ìèðó íîâåéøèé èíñòðóìåíò Watsonx Code Assistant ïî àâòîìàòè÷åñêîìó ïðåîáðàçîâàíèþ êîäà COBOL â êîä íà Java. Ýòîò ÿçûê î÷åíü ëþáèì ðîññèéñêèìè ïðîãðàììèñòàìè è âõîäèò â òîï-5 ñàìûõ âîñòðåáîâàííûõ â ìèðå íàðÿäó ñ Python, C, C++ è C#.
Îäíîé ëèøü «èãðîé ìóñêóëàìè» IBM íå îãðàíè÷èëàñü – ïðîâåäÿ ïîêàç Watsonx Code Assistant, îíà íåçàìåäëèòåëüíî ñòàëà ïðåäëàãàòü åãî ÷àñòíîìó áèçíåñó, êîìïàíèÿì ñ ãîñó÷àñòèåì è íåïîñðåäñòâåííî ãîññòðóêòóðàì.




