ABC (프로그래밍 언어)

ABC는 범용의 명령형 컴퓨터 프로그래밍 언어이면서 프로그래밍 환경이다. ABC는 네덜란드 CWI(Centrum voor Wiskunde en Informatica)의 레오 회르츠, 람베르트 메르텐스, 스티븐 펨버턴이 개발하였다. ABC는 상호작용적이고 구조적인 고수준 언어로, 배우고 쓰기 쉽고, 베이직, 파스칼 등을 대체할 목적으로 만들어졌다.

ABC는 수, 문자열, 리스트, 순서조, 배열의 다섯 가지 데이터 형을 가지고 있으며, 변수 선언은 필요 없다. 하향식 프로그래밍을 지원하며 블록 구조는 들여쓰기로 이루어진다. 무한정밀도 연산을 지원하며 리스트와 문자열의 길이에 제한이 없다.

ABC는 현재 인터프리터/컴파일러 모두 가능하며, 유닉스, 도스, 아타리, 매킨토시 용이 개발되어 있다.

ABC는 파이썬 언어에 큰 영향을 끼쳤다. 특히 블록 구조를 들여쓰는 것은 그 직접적인 영향이다. 파이썬의 개발자인 귀도 반 로섬은 1980년대 초반 몇 년 동안 CWI에서 ABC 언어 개발에 참여하였다.

프로그램 예 
무한정밀도 연산을 지원한다.
 >>> WRITE 2**1000
 107150860718626732094842504906000181056140481170553360744375038837
 035105112493612249319837881569585812759467291755314682518714528569
 231404359845775746985748039345677748242309854210746050623711418779
 541821530464749835819412673987675591655439460770629145711964776865
 42167660429831652624386837205668069376
 >>> PUT 1/(2**1000) IN x
 >>> WRITE 1 + 1/x
 107150860718626732094842504906000181056140481170553360744375038837
 035105112493612249319837881569585812759467291755314682518714528569
 231404359845775746985748039345677748242309854210746050623711418779
 541821530464749835819412673987675591655439460770629145711964776865
 42167660429831652624386837205668069377

함수 words는 document에 있는 모든 워드들을 중복되지 않게 모아서 돌려준다.
HOW TO RETURN words document:
PUT {} IN collection
FOR line IN document:
  FOR word IN split line:
    IF word not.in collection:
      INSERT word IN collection
RETURN collection

외부 링크 
 A Short Introduction to the ABC Language

절차적 프로그래밍 언어
교육용 프로그래밍 언어