COBOL이란 무엇이며 많은 기관에서 COBOL에 의존하는 이유는 무엇입니까?

뉴저지 주지사 최근에 언급된 코볼, 60년 된 프로그래밍 언어. 정확히 무엇입니까? 그리고 그것을 사용하는 방법을 아는 사람이 거의 없다는 사실에도 불구하고 여전히 금융 세계의 핵심 요소인 이유는 무엇입니까?

코볼의 기원

그레이스 호페r은 현상이었다. 그녀는 예일대에서 수학 박사 학위를 받았고 Vassar에서 교수로 재직했으며 해군 소장으로 진급하여 미 해군을 떠났습니다. 컴퓨팅 분야에 대한 그녀의 공헌은 그녀의 기억 속에 만들어졌다. 그만큼 국립 에너지 연구 과학 전산 센터 그 이름을 크레이 XE6 그녀의 뒤를 이은 슈퍼컴퓨터. 해군은 또한 그녀의 이름을 따서 유도 미사일 구축함인 USS Hopper라고 명명했습니다. 배의 모토인 “Aude et Effice”(“Dare and Do”)는 Hopper를 염두에 두고 만들어졌을 것입니다.

기계 코드 컴퓨터가 이해하는 것보다 영어에 더 가까운 프로그래밍 언어를 만들기 위해 호퍼는 최초의 컴파일러를 개발했습니다. 이것은 다음과 같은 최초의 컴파일된 언어의 문을 열었습니다. 플로우매틱. 이로써 그녀는 데이터 시스템 언어에 관한 회의/위원회(코다실) 1959.

그녀는 또한 사양 및 개발에 중요한 역할을 했습니다. 공통 비즈니스 지향 언어(COBOL). 1959년 6월 23일에 첫 회의가 열렸고 그 보고서와 COBOL 언어 사양 1960년 4월에 따랐다.

코볼은 급진적이었다

COBOL에는 몇 가지 획기적인 개념이 포함되어 있습니다. 틀림없이 이들 중 가장 중요한 것은 다른 제조업체에서 생산한 하드웨어에서 실행할 수 있는 능력으로 당시에는 전례가 없었습니다.

언어는 정교했고 프로그래머가 작업할 수 있도록 영어에 가까운 어휘를 제공했습니다. 방대한 양의 데이터를 처리하고 수학적으로 매우 정확하도록 설계되었습니다.

예약어(언어를 구성하는 단어)의 어휘는 거의 400개에 달합니다. 프로그래머는 이러한 예약어를 함께 묶어서 구문적으로 이해하고 프로그램을 만듭니다.

다른 언어에 익숙한 프로그래머라면 400개가 엄청나게 많은 예약어라고 말할 것입니다. 비교를 위해, C 언어 32개가 있고, 파이썬 33이 있습니다.

COBOL의 또 다른 단점은 특정 프로그램 행이 특정 열에서 시작해야 한다는 엄격한 요구 사항입니다. 이것은 그 시절의 숙취다. 펀치 카드. 오늘날 프로그래머는 COBOL을 포맷할 때 더 많은 자유를 누리고 더 이상 모든 것을 대문자로 입력할 필요가 없습니다. 이것은 그것으로 작업하는 것을 덜 규범적이고 시끄럽게 만들지만, 아래와 같이 여전히 그 시대의 창조물입니다.

IDENTIFICATION DIVISION.
      PROGRAM-ID. Hello-World.
      DATA DIVISION.
      FILE SECTION.
      WORKING-STORAGE SECTION.
      PROCEDURE DIVISION.
      MAIN-PROCEDURE.
           DISPLAY "Hello world, from How-To Geek!"
           STOP RUN.
      END PROGRAM Hello-World.

코볼은 히트작이다

대부분의 ATM 거래는 여전히 COBOL을 사용합니다.

오늘날에는 투박해 보이지만 COBOL은 출시 당시 혁명적이었습니다. 금융 부문, 연방 정부, 주요 기업 및 조직에서 호의를 보였습니다. 이는 확장성, 일괄 처리 기능 및 수학적 정밀도 때문이었습니다. 전 세계의 메인프레임에 설치되어 뿌리를 내리며 번성했습니다. 뻣뻣한 잡초처럼 그냥 죽지 않습니다.

여전히 COBOL에서 실행되는 시스템에 대한 의존도는 놀랍습니다. ㅏ 2017년 로이터 보도 다음과 같은 놀라운 통계를 공유했습니다.

오늘날에도 여전히 2200억 라인의 COBOL 코드가 사용됩니다.
COBOL은 모든 은행 시스템의 43%의 기반입니다.
COBOL로 구동되는 시스템은 매일 3조 달러의 상거래를 처리합니다.
COBOL은 모든 ATM 카드 스와이프의 95%를 처리합니다.
COBOL은 모든 대면 신용 카드 거래의 80%를 가능하게 합니다.

보시다시피 COBOL에 의존하는 시스템을 사용하지 않고는 하루를 버티기 어렵습니다. 은행 계좌, 수표 청산 서비스, ATM, 신호등과 같은 공공 기반 시설은 수십 년 전에 작성된 이 코드에서 여전히 실행됩니다.

코볼이 문제다

COBOL을 아는 프로그래머는 은퇴하거나 은퇴를 생각하거나 사망합니다. 우리는 이러한 중요한 시스템을 계속 가동하고 실행할 수 있는 기술을 가진 사람들을 꾸준히 잃고 있습니다. 새롭고 젊은 프로그래머는 COBOL을 모릅니다. 또한 대부분은 고대 코드를 유지하거나 새 코드를 작성해야 하는 시스템에서 작업하기를 원하지 않습니다.

COBOL 베테랑인 Bill Hinshaw가 퇴직을 강요받아 코볼 카우보이. 이 개인 컨설팅 회사는 COBOL에 정통한 코더를 어디에서도 찾을 수 없는 절망적인 기업 고객을 대상으로 합니다. COBOL Cowboys(“Not Our First Rodeo”가 모토)의 “젊은이들”은 50대입니다. 그들은 Fortune 500대 기업 시스템의 90%가 COBOL에서 실행된다고 믿습니다.

물론 개인 기업, 기업 및 은행만이 엄청난 양의 재무 데이터를 처리해야 하는 것은 아닙니다. 연방, 지방 및 지방 정부 서비스에는 동일한 요구 사항이 있습니다. 다른 모든 것과 마찬가지로 메인프레임과 COBOL을 사용합니다.

코로나바이러스 전염병의 무서운 영향은 사업주, 직원 및 자영업자들에게 상심, 사망 및 경제적 불확실성으로 이어졌습니다. 뉴저지의 엄청난 수의 해고 및 해고 직원 경험 많은 COBOL 프로그래머에 대한 호소력 있는 주지사 주의 노후화된 백엔드 시스템을 지원하기 위해 이들은 대처하기 위해 애쓰고 있습니다. 326,000 신규 등록.

그만큼 메인프레임 프로젝트 열기 돕기 위해 자원 봉사 기반 이니셔티브를 실행하고 있습니다. 당신이 도울 수 있다고 생각한다면 그들은 당신의 의견을 기꺼이 들어줄 것입니다.

뉴저지만이 이 곤경에 처한 것이 아닙니다. 천만 명이 넘는 사람들이 실업에 등록했으며 그 수치는 증가하고 있습니다. 코네티컷은 25만 명의 신규 등록을 처리하는 데 어려움을 겪고 있습니다. 국가의 40년 된 시스템에 대해.

이것은 광범위하고 깊이 내재된 문제입니다. ㅏ 2016년 정부 회계 감사원 보고서 최대 53년 된 메인프레임에서 실행되는 COBOL 시스템을 나열했습니다. 여기에는 보훈부, 법무부 및 사회 보장국과 관련된 데이터를 처리하는 데 사용되는 시스템이 포함됩니다.

어제처럼 마이그레이션하고 업그레이드하지 않는 이유는 무엇입니까?

이러한 레거시 시스템을 업그레이드하는 것은 말처럼 간단하지 않습니다. 시스템은 금융, 정부 및 비즈니스 세계가 중심이 되는 연중무휴 24시간 지렛대입니다. 코드는 오래되고 다층적이며 종종 문서화되지 않거나 완전히 문서화되지 않습니다. 또한 항상 작동해야 합니다. 이 전망은 비행기에서 프로펠러를 떼어내고 제트 엔진에 장착하려고 시도하는 것과 비교되었습니다.

위험은 제쳐두고, 현대 시스템으로의 마이그레이션에 대한 경제적 논쟁 또한 어려운 것입니다. 이러한 메인프레임과 COBOL 애플리케이션의 운영을 유지하기 위해 쏟아붓는 돈은 놀랍습니다. 기관은 COBOL 코드가 여전히 실행되고 작동하는 동안 모든 것을 버리고 다시 시작해야 합니까? 그것은 아마도 특별히 기술적으로 기울어지지 않은 보드에 대한 어려운 피치입니다. COBOL 마이그레이션은 저렴하지도 빠르지도 않습니다.

“저는 방금 COBOL에서 Java로 전환하는 과정을 거쳤습니다.”라고 Hinshaw가 말했습니다. “4년이 걸렸다. 그리고 그들은 아직 끝나지 않았다.”

Commonwealth Bank of Australia는 2012년에 핵심 COBOL 플랫폼을 교체했습니다., 5년이 걸렸고 최종 비용은 7억 4,990만 달러(10억 호주 달러)였습니다.

그리고 그것은 계획대로 진행될 때입니다. 영국 은행, TSB, 바이아웃으로 인해 2018년 COBOL 기반 시스템에서 마이그레이션해야 했습니다. 잘 되지 않았다. 은행은 며칠 동안 거래할 수 없었기 때문에 마이그레이션 비용은 결국 3억 3천만 파운드가 되었습니다. 이는 실제 마이그레이션을 위한 엔지니어링 작업에 대한 예산 비용에 추가된 것입니다. TSB는 또한 시스템이 붕괴되는 동안 금융 사기로 4,910만 파운드를 잃었습니다.

고객 보상은 1억 2,500만 파운드를 넘어섰고 은행은 204,000건의 고객 불만 사례를 처리하기 위해 새 직원을 고용하는 데 1억 2,200만 파운드를 지출해야 했습니다. CEO는 사임했고 회사는 사건이 발생한 지 2년이 지난 지금도 여전히 피해를 청소하고 있습니다.

코볼의 수수께끼

상황이 그대로 있을 수는 없지만 이에 대해 뭔가를 할 수 있다는 전망은 그다지 매력적이지 않습니다. 그럼에도 불구하고 상황이 개선될 수 있는 유일한 방법은 최신 소프트웨어 및 하드웨어로 제어되고 신중하게 마이그레이션하는 것입니다.

중단 없이 이를 달성하려면 데이터 손실 및 가동 중지 시간에 현대적인 전문 지식과 비용이 필요하며 이는 방정식의 50%에 해당합니다. 나머지 절반은 COBOL의 전문성과 시간입니다. 불행히도 이 두 가지 재료가 거의 소진되었습니다.

아마도 새로운 유형의 COBOL 카우보이가 마을로 탈 것입니다.