"말 그대로 COBOL 프로그래머가 필요하게 된 이유는 도대체 어떻게 된 걸까요?" 최근 기자회견에서 필 머피(Phil Murphy) 뉴저지 주지사가 물었습니다.
내용물
- 포트란
- 에이다
- 파스칼
- 베이직 / 비주얼 베이직
- 코볼
전례없는 수의 문제에 직면했습니다. 실업 신청이 이루어지자 주정부는 40년 된 실업수당 청구 플랫폼을 즉시 확장해야 했습니다. 이는 수십 년 된 코딩 언어에 익숙한 프로그래머를 찾기 위한 광적인 검색을 즉시 시작했습니다. 코볼.
추천 동영상
하지만 이런 문제가 있는 것은 뉴저지뿐만이 아닙니다. 전 세계의 많은 은행, 국방, 인공 지능 시스템은 Apple의 차고가 부족했을 때 유행했던 프로그래밍 언어를 사용하고 있습니다.
기술 산업은 새롭고 최첨단을 선호하지만 COBOL과 같은 고대 코딩 언어가 아니었다면 Ada, Pascal 및 Fortran, 신용 산업, 과학 연구 기관 및 수많은 방어 시스템이 비명을 지르게 될 것입니다. 정지. 즉, 이 오래된 코드가 없으면 우리는 망할 것입니다.
50년 된 프로그래밍 언어는 여전히 수백만 건의 트랜잭션과 통계를 계산하고 현대 세계가 의존하는 시스템의 중추 역할을 하고 있습니다. 예를 들어, 2017년 보고서에 따르면 ATM의 95% 이상과 은행의 40%가 COBOL 코드를 사용합니다. 로이터 보고서.
이러한 고대 표 작성기 중 일부는 여전히 특정 기능을 매우 잘 수행합니다. 또한 비즈니스에 필수적인 오랜 테스트를 거친 소프트웨어를 분리하고 싶지 않은 많은 비즈니스 임원이 있습니다. 회사의 비즈니스를 전면적으로 점검하고 현대화하는 대신 단순히 오래된 코드를 패치하고 최상의.
고대 기술과 씨름하는 것은 새로운 현상이 아닙니다. 예를 들어, 캘리포니아 DMV와 급여 기술을 업데이트하는 데 수억 달러가 소요되었습니다. 그러나 현재의 전염병과 그에 따른 실업의 물결은 미국의 소프트웨어 인프라가 실제 인프라처럼 얼마나 무너지고 있는지를 보여주었습니다.
여기 여러분이 생각하는 것보다 우리 세계가 더 많이 의존하고 있는 5가지 "빈티지" 언어가 있으며, 이것이 여러분을 약간 긴장하게 만들 수 있는 이유입니다.
포트란
Fortran이 아니었다면 우리가 날씨 예측, 천체 물리학, 고급 통계 분석 등에 사용하는 많은 슈퍼컴퓨터와 모델이 작동하지 않았을 것입니다.
1950년대 IBM이 구축한 Fortran(Formula Translation의 약자)은 최초의 고급 언어 중 하나였습니다. 숫자 대신 단어를 사용하여 코더가 기계를 사용할 때보다 500% 더 빠르게 프로그램을 작성할 수 있게 했습니다. 암호. 오늘날 언어를 배우는 개발자는 그리 많지 않습니다.
Johns Hopkins Applied Physics Laboratory의 데이터 과학자인 James Howard는 "저는 항상 Fortran을 사용합니다. 전혀 그것에 대해 생각하지 않습니다."라고 말합니다. Howard는 수년 동안 해당 언어로 프로그래밍하지 않았지만 그의 응용 프로그램은 정기적으로 Fortran의 핵심 라이브러리에 액세스합니다. 70년대 초반에 지어진 이 건물은 관리가 잘 되어 있고 “눈이 부시도록 빠릅니다.”
Howard가 마지막으로 Fortran 프로그램을 작성해야 했던 것은 약 10년 전이었습니다. 그는 연방준비은행에서 일하고 있었고 두 앱 간에 데이터를 이동해야 했습니다. 하나는 C로 작성되었고 다른 하나는 Fortran으로 작성되었습니다. 공급업체가 Fortran 라이브러리 제공을 중단했기 때문에 프로그램의 통신이 중단되었습니다.
40대 프로그래머는 어렸을 때 읽은 내용을 기억했습니다. C 프로그래밍 언어의 데이터 호출 구조는 포트란과 반대라는 것이었습니다. 그는 명령을 뒤집는 간단한 스크립트를 작성했고, 짜잔, 연준이 다시 사업을 시작했습니다.
에이다
정부 프로그래머는 국방 및 안전 시스템과 같이 신뢰성이 요구되는 시스템을 개발할 때 상대적으로 알려지지 않은 Ada 코드베이스에 의존합니다. 정확히 무엇이 프로그래밍되어 있습니까? 글쎄요, 그것은 약간의 정부 비밀이지만 NASA와 Boeing은 최근 몇 년 동안 위성과 비행기를 프로그래밍하기 위해 Ada 기반 코드를 사용했습니다.
국방부(DOD)는 당시 400개가 넘는 군대에서 사용하는 프로그래밍 언어의 수를 줄이기 위해 1970년대 Ada 개발을 감독했습니다. Ada는 생사가 걸린 상황에서도 의심할 여지 없이 신뢰할 수 있도록 제작되었으며 프로그래머 오류로부터 보호되었습니다. 이 언어는 1980년에 전달되었지만 의회는 1995년까지 모든 정부 시스템에서 이 언어의 사용을 의무화하지 않았습니다. 2년 후, 국방부는 널리 사용 가능한 최신 시스템을 사용하는 것이 더 저렴하고 더 유연할 것이라고 판단하여 이 권한을 포기했습니다. 하지만 오늘날에도 여전히 사용되고 있습니다.
파스칼
많은 프로그래머들은 파스칼을 거의 죽은 프로그래밍 언어라고 생각하지만, 여러 면에서 여전히 살아있습니다. “믿거나 말거나, 이 언어는 여전히 세계 여러 지역에서 매우 인기 있는 언어이지만, 미국에서는 라틴어로 말해야죠.” 대형 보험 회사에서 3년 동안 업데이트 작업을 도운 Dave Hatter의 말입니다. 정책 비용과 지불 금액을 추정하는 수백만 줄의 코드.
이러한 오래된 프로그램 중 다수는 오늘날의 보안 침해에 대한 우려가 있기 오래 전에 작성되었으며 민감한 독점 정보를 담고 있습니다. 현재 사이버 보안 기술로 일하고 있는 Hatter는 "모호함에 의한 보안" 때문에 프로그램이 상대적으로 안전할 수 있다고 생각합니다. 젊은 코더들은 수십 년 된 코드를 어떻게 해야할지 모릅니다. “15세 해커는 COBOL을 사용하여 일종의 IBM 390 메인프레임으로 작업하는 방법을 전혀 알지 못할 것입니다.”라고 그는 말합니다. “이제 그들이 배울 수 없다는 말은 아닙니다. 그러나 그들은 알지 못할 것입니다.”
Pascal은 초기 Apple 운영 체제의 기반이었으며 해당 언어의 후손인 Delphi는 여전히 강력한 지지자들을 보유하고 있습니다. 실제로 광범위한 인기와 사용을 얻은 최초의 화상 통화 응용 프로그램 중 하나인 Skype는 원래 Delphi로 작성되었습니다.
베이직 / 비주얼 베이직
BASIC은 2020년에 사람들이 사용하는 언어에 있어서는 목록의 최상위에 없지만, 우리가 사용하는 많은 최신 애플리케이션은 BASIC이 없었다면 존재하지 않았을 것입니다. 예를 들어 Excel 매크로를 프로그래밍한 적이 있다면 BASIC 형식을 사용한 것입니다.
Beginner's All-Purpose Symbolic Instruction Code의 약자인 BASIC은 1963년 다트머스 대학에서 교육 방법으로 시작되었습니다. 일반 청중에게 프로그래밍의 이론과 기능을 소개합니다. 포트란. BASIC의 인기는 개인용 컴퓨터와 함께 높아졌습니다. Apple, IBM 및 Atari 컴퓨터에는 모두 해당 버전이 있었습니다.
1980년대 중반이 되자 독학으로 컴퓨터를 배운 사람들은 BASIC에 대한 관심이 줄어들고 타사 프로그램에 더 관심을 갖게 되었습니다. 그런 다음 Microsoft는 1991년에 Visual Basic을 출시했습니다. 이는 BASIC의 업데이트는 아니지만 일부 동일한 명령과 구조를 사용하고 더 나은 그래픽 인터페이스를 가졌습니다. 그런 다음 이 언어는 수많은 기업에서 크고 작은 프로그램을 작성하는 데 활용되었습니다. Microsoft는 2008년에 Visual Basic 6(최신 버전)에 대한 지원을 중단했다고 밝혔지만 이 언어에는 여전히 많은 사용자가 있습니다. 을 체크 해봐 티오베 지수 (가장 인기 있는 프로그래밍 언어 차트): VB는 여전히 상위 10위 안에 있습니다!
코볼
"우리가 보는 사람들 중 90% 이상이 자신이 작성한 내용의 핵심 부분으로 COBOL을 사용하고 있다고 말하고 싶습니다."라고 레거시 앱을 업데이트하고 전환하는 Brandon Edenfield는 추정합니다. 현대 시스템 뉴욕과 싱가포르 증권 거래소의 규정을 개정하는 데 도움을 주었습니다. "당신이 생각할 수 있는 모든 주요 회사에는 아마도 건강에 해로운 양의 이런 것들이 있을 것입니다."
Common Business-Oriented Language의 약어인 COBOL은 예산 추적, 은행 거래, 급여 회계와 같은 데이터 처리 작업을 위해 1959년에 출시되었습니다. 국방부(DOD)는 원래 임시방편 프로젝트로 이 언어를 설계했습니다. 그런 다음 국방부는 컴퓨터 제조업체에 판매하는 기계에 COBOL을 포함하도록 요구했고 언어는 향후 수십 년에 걸쳐 빠르게 확산되었습니다. 2017년 보고서에 따르면 ATM의 95% 이상과 은행의 40%가 여전히 COBOL 코드를 사용하고 있습니다. 로이터 보고서.
이 프로그래밍의 대부분은 메인프레임 컴퓨터를 통해 배포되었으며 최신 시스템은 클라우드로 이동되었습니다. 뉴저지의 곤경에서 알 수 있듯이 COBOL 코드를 유지 관리하는 방법을 알고 있던 개발자는 인력에서 나이가 들었거나 이미 은퇴했습니다.
이러한 프로그램을 현대화하는 회사는 일반적으로 몇 가지 다른 방법으로 이를 수행합니다.
“대형 시스템 통합업체는 코드에 수많은 본문을 던질 것입니다. 그들은 앉아서 보고 다시 쓸 것입니다.”라고 Edenfield는 말합니다. 이러한 접근 방식은 가장 위험하고 시간 소모적이며 비용이 많이 드는 경우가 많습니다. 평균적으로 손으로 코딩한 대규모 플랫폼 변경 작업은 3~10년이 걸리고 수억 달러의 비용이 소요될 수 있습니다.
Edenfield는 자동화된 솔루션을 권장하며 첫 번째 논리적 단계는 코드를 이동하는 것일 수도 있다고 말합니다. 오래된 버전의 COBOL을 최신 버전으로 전환하여 많은 시스템을 최신 버전으로 전환할 수 있습니다. 서버. 그는 기계 업데이트를 프랑스어를 영어로 번역하는 것에 비유합니다. “말씀의 기초가 완벽하게 번역되었습니다. 표현 방식의 구문을 수정하면됩니다.” 이러한 접근 방식을 사용하면 업데이트 시간과 비용을 6~24개월 정도 줄일 수 있다고 그는 말합니다.
저렴할까요? 음, 더 저렴할 것입니다. Modern Systems 프로젝트의 가격은 일반적으로 20만 달러에서 1,000만 달러 사이입니다. Edenfield는 프로젝트의 대부분이 코드를 번역하는 것이 아니라 모든 것이 제대로 작동하는지 테스트하는 것이라고 설명합니다.
이러한 업데이트가 발생하지 않는 이유는 무엇입니까?
"이건 섹시한 주제가 아니기 때문에 이전에는 아무도 이에 대해 들어본 적이 없으며 사람들은 일반적으로 자신이 가지고 있는 더러운 세탁물에 대해 이야기하려고 하지 않습니다."라고 그는 설명합니다. IT 임원은 또한 기회를 놓치지 않는 습관을 가지고 있습니다.
“뉴저지 주는 이제 이 문제에 관심을 기울일 것이라고 장담합니다. 하지만 뉴저지 주 동료 중 절반은 자신에게 그런 일이 일어나지 않을 것이라고 생각할 것이라고 장담합니다. ‘나는 그렇지 않습니다.’”