레거시 소프트웨어 외에 COBOL을 사용해야하는 이유가 있습니까?


11

COBOL은 여전히 ​​금융 컴퓨팅에 많이 사용됩니다. 그것은 오래된 언어이며 AFAIK 대부분의 프로그래머는 COBOL을 싫어하거나 적어도 싫어합니다. 레거시 소프트웨어가 COBOL을 여전히 사용하는 유일한 이유입니까, 아니면 다른 프로그래밍 언어에 비해 실질적인 이점이 있습니까?

그냥 궁금해서


3
오래된 것이 그 자체로는 이유가 아닙니다.

아니요, 그러나 그로 인해 최신 기능이 부족할 가능성이 큽니다. 언어가 다르게 설계되어 있다면 그렇게 중요하지 않습니다.
Anto

또한 은행뿐만 아니라 정부에서도 여전히 많이 사용됩니다.
BBlake

6
"대부분의 프로그래머는 COBOL을 싫어한다"-글쎄, 나는 대부분의 프로그래머도 그것을 사용하지 않았다고 확신한다. 이 "해칭 자"의 5 % 이상이 구문이나 형식에 대한 아이디어를 가지고 있다면 놀랍습니다. 그들은 실제로 무슨 일이 일어나고 있는지 모른 채 레거시 시스템의 악의 예로써 그것을 사용합니다. FORTRAN이 종종 간주되는 방식과 유사합니다.
TZHX

@TZHX : 그러나 전체 인용문은 "AFAIK 대부분의 프로그래머는 COBOL을 싫어하거나 싫어합니다". 나는 말하는 게 아니에요 입니다 그것이 내가 어떻게 그냥, 그렇게 해석 상황을. 그러나 당신이 말하는 것은 사실 일지 모르지만, 나 자신을 말할만큼 충분히 잘 모르겠습니다. 내가 사용한 것은 사람들의 의견에 대한 개인적 관찰 (당신이 말한 것과 정확히 겪을 수도 있습니다)이었습니다.
Anto

답변:


12

지금은 대부분 레거시입니다. 많은 중요한 비즈니스 시스템은 여전히 ​​너무 크고 통합되어 재 작성 비용이 그만한 가치가 없다는 사실 때문에 COBOL에 있습니다. COBOL에서 새로운 시스템을 작성하는 것은 아마도 더 이상 실현 가능하지 않을 것입니다. 대부분의 COBOL 개발자는 너무 부족하여 전문 기술을 위해 상당한 액수의 돈을 끌어들일 수 없기 때문입니다 (지금 Foxpro 개발자와 유사). COBOL 앱을 유지할 이유가 거의 없지만 불행히도 일반적인 이유는 COBOL 앱이 이미 제 위치에 있고 신뢰할 수 있으며 교체가 거의 불가능한 다른 시스템과 긴밀하게 연결된 경우입니다. 이러한 추론은 앱을 실행하는 유일한 하드웨어가 80/90 년대의 Ebay 부품으로 맞춤 제작되어야하는 상황에 도달하기 전에 교체되어야하는 이유입니다.


"지금은 대부분 레거시입니다"라고 말하는 이유는 무엇입니까? 나는 당신이 무슨 말을하는지 정말 모른다고 생각합니다. 현재 수백만 달러에 달하는 새로운 COBOL 프로젝트를 진행하고 있습니다. 또한 COBOL을 주요 구현 언어로 사용하는 다른 대규모의 새로운 개발 프로젝트도 알고 있습니다. 당신의 소원을 생각하면 현실이되지 않습니다.
NealB

1
나 한테 가져 가지마 O'Reilley의 연구에 따르면 코볼 서적 판매는 다른 모든 언어에 비해 거의 존재하지 않습니다. 개발자에 대한 관심이 부족하거나이를 사용하는 개발자가 충분하지 않기 때문입니다. COBOL을 사용하여 새로운 개발을 찾을 수 있다고 확신하지만 여전히 모든 레거시가 아닌 레거시입니다. COBOL을 전문으로하는 나와 같은 사람이 COBOL 만 사용하는 다른 사람들과 연결될 것이라고 확신합니다. 나와 함께하는 것처럼, 한 언어를 사용하는 친구 만 있다고해서 내가 소수라는 것은 아닙니다.
Ryan Hayes

우리 회사에서는 기존 코드를 복사 / 붙여 넣기하고 필요에 맞게 조정 한 후 "완료"라고 말합니다. 운 좋게도 C # / VB에서 개발을 시작했습니다
Wayne Werner

4

COBOL은 여전히 ​​금융 컴퓨팅에 많이 사용됩니다.

그렇습니까?

그것은 당신이 금융 컴퓨팅이라고 부르는 것에 달려 있습니다. 금융 기관에서 운영하는 모든 코드를 호출하면 가능할 것입니다. 대부분 60 년대와 70 년대에 작성된 비즈니스 규칙이 있습니다. 이와 같은 시스템을 새로운 환경으로 업그레이드하는 데 따르는 위험 + 비용은 가치가 없습니다. 새로운 COBOL 코드를 작성하는 사람이 있는지 의심합니다. 예를 들어 오늘날 .NET 스택에 통합되는 COBOL 컴파일러가 있습니다. 레거시 응용 프로그램을 최신 소프트웨어 스택에 통합하고 활용하기위한 도구가 종종 있지만 이러한 도구는 종종 틈새 시장이기 때문에이를 사용하지 않아도되는 사람들에게 알려지지 않았습니다.

이제 당신이 금융 컴퓨팅을 정량 금융 소프트웨어와 같은 것으로 부르면 COBOL을 사용하는 사람에 대해 들어 본 적이 없습니다. C ++은 APL 파생물 인 k와 같은 일부 틈새 언어와 함께보다 일반적입니다.


k그리고 그것의 자손은 q통증이다
안드레이

@Andrey 그것은 맛의 문제입니다. 나는 그것을 즐긴다.
Vitor Py

운이 좋다 나에게 가장 큰 문제 중 하나는 일반 IDE와 쓸모없는 오류 메시지의 부족
안드레이

2
@Andrey 네, 틈새 언어를 사용할 때 주류 개발 환경에서 벗어나는 것이 가장 큰 문제입니다. 나는 그것을 사용하기 전에 템플릿 무거운 C ++ 코드를 사용하여 쓸모없는 오류 메시지에 다소 익숙해졌습니다 :)
Vitor Py

@Andrey, IBM은 Cobol 용 Eclipse 기반 툴링을 보유하고 있습니다.

4

COBOL은 현재 대부분 레거시 사용을보고 있습니다. 새로운 응용 프로그램이 작성되지 않고 오래된 응용 프로그램이 느리지 만 확실하게 단계적으로 제거되므로 사용자 기반이 점차 줄어 듭니다.

빠르고 저렴하게 교체 할 수있는 대부분의 COBOL 시스템은 이미 교체되었습니다. 수리 또는 교체 비용이 점점 더 비싸지는 않지만 새로운 시스템에 비해 유지 관리 비용이 저렴하고 저렴합니다. 싸고 오래된 하드웨어에서 잘 작동하며 수년간의 서비스를 거친 후에도 더 이상 새로운 버그를 보여줍니다. 대부분의 버그는 해결되었거나 해결 방법으로 적합한 오랜 전통이 있습니다. 시스템에서 오랜 시간 작업 한 후 상상할 수있는 것보다 더 친밀하게 알고있는 한두 명의 전문 직원으로 유지 관리가 줄었습니다.

기술적 인 관점에서도 오래된 시스템을 유지해야하는 몇 가지 확실한 이유가 있습니다. 그것들은 상대적으로 안정적이며, 대부분 버그로 수정되었으며, 최종 사용자가 잘 알고 있습니다.

그래도 결국 시스템이 교체되는 것을 볼 수 있습니다. 일반적으로 이러한 움직임은 비즈니스 측면에서 비롯됩니다.

  • 현재 시스템의 사용자는 구식 인터페이스를 사용하는 방법을 배울 수없는 젊은 사용자로 대체됩니다.
  • 회사는 다른 직원의 급여에 비해 터무니없는 급여로 시스템을 유지하기 위해 고용 할 사람을 찾을 수 없습니다
  • 예산이 큰 사람이 회사의 핵심 시스템이 랩톱의 vm으로 대체 될 수있는 하드웨어에서 실행되고 있음을 알게되어 창피해집니다.
  • 새로운 상품 시스템이 등장하여 사용하기에 정말 저렴합니다.
  • 구형 시스템을 사용하는 회사가 인수되거나 파산되거나 실제로 존재하지 않는 경우
  • 레거시 시스템과 상호 작용하기 위해 새롭고 긴급하게 요구되는 중요한 기능을 저렴하게 만들 수는 없습니다.

2
확실하다는 당신의 배경은 무엇입니까?

나는 당신의 확실성이 잘못되었다는 것을 강조 할 수 있습니다. 우리는 새로운 Cobol 코드를 작성하는 몇 명의 젊은 (20-30 초) 신입 사원이 있으며 (기존 시스템 업데이트 및 / 또는 복사 및 수정) ~ 200 명의 개발자 중 최소 10 %가 개발 시간의 80 % 이상을 Cobol에서 보냅니다. 난 당신이 코볼을 사용하는 대부분의 장소는 찾을 거라고 생각 정확히 당신이 무엇을 설명 반대.
Wayne Werner

4

"대부분의 프로그래머"가 무엇을 의미하는지 궁금합니다. 저는 코볼 프로그래머, Java 프로그래머, .NET 프로그래머 (단수), 구식 VB 프로그래머와 같은 층에있는 대형 IT 상점에서 일합니다. 싫어하거나 싫어하지 않습니다. 코볼은 다른 프로그래밍 언어와 같은 언어입니다. 코볼로 프로그래밍하는 사람들은 자바로 프로그래밍하거나 트럭을 운전하는 것과 다르지 않습니다. 미국의 대중적인 개념과는 달리 많은 코볼이 계속 작성되고 있으며, 매일 새로운 코볼 프로그래머가 일을 시작하는 인도에서만 볼 수 있습니다.

넷볼 시스템이 너무 많지 않은 이유는 코볼에 적합한 시스템 종류 (대용량 파일 처리)가 이미 작성 되었기 때문이라고 생각합니다. 요즘에는 새로운 대기업이 거의 만들어지지 않습니다. 그리고 직원들은 레거시 코볼 시스템을 운영하는 회사에 급여 및 혜택과 같은 것을 아웃소싱하는 것일 수 있습니다.


2

PeopleSoft의 핵심 코드 중 상당 부분이 COBOL로 작성되었습니다.


오라클이 인수하기 전에 2004 년 IT 컨퍼런스에서 PeopleSoft 담당자와 이야기를 나누면서 당시에는 여전히 COBOL에있는 제품의 한 모듈에 불과하다는 것을 이해하게되었습니다.
Kennah

어쨌든 이것이 다른 언어보다 COBOL에 어떤 이점을 제공합니까?
Matthieu

2

3 년간의 메인 프레임에서 20 년 동안의 COBOL 경험을 통해 진정한 COBOL 프로그래머는 거의 없으며 IBM 프로그래머, Sperry (Unisys 2200) 프로그래머, Burroughs (Unisys MCP) 프로그래머 및 Tandem (HP NonStop)이 있습니다. 프로그래머. 그들과 관련하여, 나는 HP 3000 프로그래머, BULL 프로그래머 및 DEC 프로그래머의 존재를 언급해야합니다.

COBOL은 대부분 큰 철제 상자에서 실행됩니다. 아마도 내 표준에 따르면 유일하게 진정한 COBOL 프로그래머는 UNIX 상자에 COBOL을 작성하는 사람들 일 것입니다. 와우, 나는 이것에 대해들을 것입니다.

하드웨어가 핵심 요소이므로 COBOL을 작성하는 대부분의 프로그래머는 자신이 작성하는 코드가 실행되는 하드웨어로 자신을 식별합니다. 수년 동안 다른 프로그래머의 이야기를 듣고 Sperry, Burroughs 또는 Tandem의 장점에 대해 이야기 할 때, 나는 그것들을 반올림하고 함께 방에 둘 수 없다면 어떤 전쟁이 일어날 지 궁금해했습니다. 모든 COBOL에 대해 하나의 하드웨어 플랫폼에 동의했습니다. 다른 플랫폼에 대해서는 언급 한 적이 없습니다.

많은 IBM 프로그래머를 만나서 이야기했으며 COBOL 프로그래머라고합니다. 그러나 대화에 참여하면 IBM 특정 절차 및 도구를 신속하게 참조하기 시작합니다. COBOL의 하드웨어 중심적 특성을 고려할 때 모든 하드웨어 플랫폼에서이를 이해할 수 있습니다.

COBOL은 일반적으로 매우 비싼 하드웨어에 연결되어 있기 때문에 해당 하드웨어가 컴파일 된 COBOL 프로그램을 실행하는 한 마이그레이션을 위해 COBOL에서 마이그레이션하려는 강한 바람이 없습니다. 그러나 COBOL 프로그래머의 고령화로 인해 이주는 불가피합니다.

COBOL을 실행하는 모든 대형 아이언 박스도 Java를 실행하므로 Java는 COBOL에서 멀리 떨어진 자연스러운 마이그레이션 경로입니다. 코드는 특히 경제 불황으로 경제적 인 가격으로 전환 될 수 있습니다. 일단 고가의 하드웨어에 COBOL이없고 Java 만 있으면 조직의 상위 직원은 Java 코드를 훨씬 덜 비싼 하드웨어로 옮길 수 있는지 궁금해 할 것입니다.

IBM, Sperry, Burroughs 및 Tandem 프로그래머는이를 알고 있으므로 아이디어를 결코 제공하지 않을 것입니다. 그것은 일부의 희생이 될 것입니다.


+1, 매우 비싸다. 또한 Java가 New Cobol이되고 있음을 지적했습니다. 나는 나 자신을 보았고 나는 단지 젊은 벅입니다. 따라서 경험이있는 사람이 동일한 관찰을하는 것이 흥미 롭습니다.
Wayne Werner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.