Fabrice Le Fessant ΠΎΠ±ΠΎΠ±ΡΠΈ 20-Π³ΠΎΠ΄ΠΈΡΠ½ΠΎΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈΡ GnuCOBOL ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π²Π΅ΠΆΠ΄Π°ΡΠ΅ COBOL ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π² C ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° GCC ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ C ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ. Π‘ΠΏΠΎΡΠ΅Π΄ Π€Π°Π±ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π°Π» Π·ΡΡΠ»ΠΎΡΡ, Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠ° Ρ ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π° GnuCOBOL Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° 19 Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° COBOL, Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΊΡΠΎΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΡΡ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Linux, BSD, macOS, Windows, Android ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½ΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
Π‘ΠΏΠΎΡΠ΅Π΄ Π»Π΅ΠΊΡΠΎΡΠ° Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΡΠΊ ΠΈΠΌΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° GnuCOBOL ΠΎΡ ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ Π±Π°Π½ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° COBOL, ΠΊΡΠΌ GnuCOBOL ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Micro Focus. ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ ΠΏΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊΡΠΌ GnuCOBOL Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΡΡΠ²Π΅ΡΠ΅ ΠΎΡ ΠΏΡΠΈΠ²ΡΡΠ·Π°Π½ΠΎΡΡΡΠ° ΠΊΡΠΌ Π΅Π΄ΠΈΠ½ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π½ΡΠΊΠΎΡΠΎ ΠΌΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ Π½Π° ΡΠΈΠ½Π°Π½ΡΠΈΡΠ΅ Π½Π°ΡΠΊΠΎΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΉΠ½ΡΡΠ΅ΠΉΠΌ ΠΊΠΎΠΌΠΏΡΡΡΡ, ΡΠ°Π±ΠΎΡΠ΅Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° GCOS, Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° GnuCOBOL.
Π‘ΡΠ΅Π΄ ΡΡΠ±ΠΈΡΠΈΡΡΠ°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ GnuCOBOL, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΏΠΎΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ΅Π΄Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° SuperBOL Studio, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π΅Π·ΠΈΠΊΠ° OCaml ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ΅ AGPLv3, MIT ΠΈ ISC. SuperBOL Studio Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π° VS Code, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° GnuCOBOL ΠΈ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅, ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° COBOL ΠΏΡΠΎΠ΅ΠΊΡΠΈ. SuperBOL ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΡΠ²ΡΡΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° LSP (Language Server Protocol) Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° COBOL ΠΊΠΎΠ΄ Π² Π΄ΡΡΠ³Π° IDE.
Π’Π°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° Π΅Π·ΠΈΠΊΡΡ COBOL ΡΠ΅ Π½Π°Π²ΡΡΡΠΈ 65 Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΡΠ°Π²Π° Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΡΡΠ°ΡΠΈΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ Π»ΠΈΠ΄Π΅ΡΠΈΡΠ΅ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ΄. ΠΠ·ΠΈΠΊΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΡΡ COBOL-2002 Π΄ΠΎΠ±Π°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΎΠ±Π΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, Π° ΡΡΠ°Π½Π΄Π°ΡΡΡΡ COBOL 2014 Π²ΡΠ²Π΅Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ IEEE-754, ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ. ΠΠ±ΡΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° COBOL, ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π° Π½Π° 220 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° ΡΠ΅Π΄Π°, ΠΎΡ ΠΊΠΎΠΈΡΠΎ 100 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ, Π³Π»Π°Π²Π½ΠΎ Π²ΡΠ² ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ ΠΈΠ½ΡΡΠΈΡΡΡΠΈΠΈ (ΠΊΡΠΌ 2017 Π³. 43% ΠΎΡ Π±Π°Π½ΠΊΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ COBOL, COBOL ΠΊΠΎΠ΄ΡΡ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΎΠΊΠΎΠ»ΠΎ 80% ΠΎΡ Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π² 95% ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΈΡΠ΅ Π·Π° ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΠ»Π°ΡΠ°Π½ΠΈΡ Ρ Π±Π°Π½ΠΊΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru