# 요즘 프로그래머를 위한 코볼 배우기

> Clean Markdown view of GeekNews topic #4062. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=4062](https://news.hada.io/topic?id=4062)
- GeekNews Markdown: [https://news.hada.io/topic/4062.md](https://news.hada.io/topic/4062.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-04-13T10:13:03+09:00
- Updated: 2021-04-13T10:13:03+09:00
- Original source: [monadical.com](https://monadical.com/posts/cobol.html)
- Points: 10
- Comments: 2

## Topic Body

- COBOL을 익히기 어려운건 대부분의 자료가 레퍼런스 매뉴얼만 있기 때문

ㅤ→ 기본 구조를 간단히 설명하고, 익히기 위한 자료들을 정리한 글

- COmmon Business Oriented Language

ㅤ→ 비즈니스용 DSL : 레코드 단위로 처리. 즉, Java 보다는 SQL 부류에 가까움

ㅤ→ 읽기 쉬운 것을 목표로 만들어서 평범한 영단어를 사용. (예를 들어 국세청 직원이 새로운 세법을 구현할 수 있도록)

ㅤ→ COBOL을 배우는 것은 단지 시작일 뿐임. 제대로 COBOL을 하려면 메인프레임 조작까지 배워야 함

- 프로그램 구조

ㅤ→ divisions, sections, paragraphs, sentences, statements 및 글자들로 구성

ㅤ→ 컬럼에 대해서는 엄격한 룰이 있음

ㅤㅤ· 1~6 : 라인넘버

ㅤㅤ· 7 : "*"는 코멘트, "-"는 앞줄에 연결, "/"는 Form Feed

ㅤㅤ· 8~11 : COBOL divisions, sections, paragraphs 등을 지정

ㅤㅤ· 12~72 : COBOL statements

ㅤㅤ· 73~80 : 프로그래머 사용 가능 공간

ㅤ→ 하지만, 요즘의 코볼은 Indentation 무시하고 프리 포맷도 잘 지원함

ㅤ→ 또한 최신 코볼 IDE(OpenCobolIDE)에선 알아서 잘 지원하고 신택스 컬러링도 가능

ㅤ→ 이게 필요했던 이유는 천공카드에서 코드를 읽어서 처리했기 때문

- Hello World 실행하기 (GnuCOBOL)

* 여기까지만 오면 기본적으로 다른 언어처럼 COBOL 배우기 가능

ㅤ→ Derek Vanas의 2시간짜리 유튜브 강의가 가장 훌륭 : https://www.youtube.com/watch?v=TBs7HXI76yU

- 코볼의 훌륭한 점

ㅤ→ 복잡한 레코드 정의가 간편

ㅤ→ 고정 소수점 연산

- COBOL을 익히기 위한 개인 프로젝트로 "개인 회계 시스템" 개발을 추천

ㅤ→ https://plaintextaccounting.org/

ㅤ→ Rust Ledger : https://github.com/ebcrowder/rust_ledger/blob/main/src/ledger.rs

- 그 외의 자료들

ㅤ→ 기초 영상 및 가이드

ㅤ→ 레퍼런스

ㅤ→ Coursera 및 OpenMainframeProject의 COBOL 강의

ㅤ→ 유튜브 채널과 비디오들

## Comments



### Comment 4856

- Author: hyoputer
- Created: 2021-04-13T10:52:56+09:00
- Points: 1

- COBOL을 "읽히기" 위한 개인 프로젝트로 "개인 회계 시스템" 개발을 추천

오타가 있는 것 같습니다

### Comment 4857

- Author: xguru
- Created: 2021-04-13T11:01:13+09:00
- Points: 2
- Parent comment: 4856
- Depth: 1

앗 고맙습니다. 수정해두었습니다!
