의견.png

알골

위키원
218.146.11.69 (토론)님의 2019년 7월 24일 (수) 10:39 판 (역사)
이동: 둘러보기, 검색

알골(ALGOL)은 Algorithmic Language의 약자로서, 1950년대 후반 유럽을 중심으로 개발된 프로그래밍 언어이다. 당시 미국 IBM에서 개발한 포트란(Fortran)에 대항하기 위해 1958년 스위스 취리히의 국제회의에서 제안되었다. 알고리즘의 연구 개발에 이용되었으나, 널리 보급되지는 못하였다.

개요

알골(ALGOL)은 알고리즘언어(ALGOrithmic Labguage)의 약자로 이 언어는 계산과정묘사 지향적인 언어이자 알고리즘 묘사 지향적인 언어이다. 대표적인 블록구조 언어이기도하다. 대수 계산이나 논리적인 연산 처리를 하는 경우에 적합한 프로그램 언어이다. 1960년에 ALGOL 60으로서 문법서가 제정되었다. 그 후 ALGOL 69도 발표되었다. [1] 알골은 세계 최초의 구조화언어로서 엄격한 기초이론과 형식화된 어법 규칙을 가진다.

역사

  • 알골은 1958년 IBM의 연구 개발팀이 개발한 것으로 같은 해 취히리에서 개최한 국제 상업 학술 컴퓨터 위원회에서 ACM(Association of Computing Machinery) 팀과 당시 연방 독일의 응용수학과 역학협회(GAMM)가 건의한 알고리즘 표시법을 종합해 ALGOL 58을 만들었다. 1959년에 IBM은 ALGOL 코드를 실행시켰다.
  • 1960년 1월 튜링상 수상자 앨런 펄리스는 파리에서 열린 전 세계 일류 소프트웨어 전문가들이 참석한 토론회에서 <알고리즘 언어 ALGOL 60 보고>를 발표해, 알고리즘 언어 ALGOL 60을 확립했다. [2]
  • 알골 50 : 당시 이름은 IAL였다.
  • 알골 60 : 문법이 BNF 표기법으로 기술,구조화된 프로그래밍의 형태를 갖춘다. 알골 60'이라는 새로운 언어는 신대륙의 포트란에 대항하기 위해 만들어졌다.[3]알골은 포트란(FORTRAN) 언어와 비교했을 때 두 가지 장점이 있다.
  1. 프로그래밍 언어 중에서 처음으로 지역 변수를 사용 : FORTRAN 언어는 전역변수(하나의 변수는 모든 코드에서 하나의 의미로만 사용)만 사용 가능했지만, ALGOL은 지역변수를 사용하면서 하나의 코드 안에서 다른 함수라면 다른 의미를 가질 수 있었다.
  2. 재귀라는 프로그래밍 설계 사상 : 재귀는 하나의 문제를 여러 개의 작은 문제로 나누고, 각각의 작은 문제 안에서 해결하고 전체적인 답을 얻는 것을 말한다. 포트란 언어의 설계자인 배커스는 ALGOL 문법을 설계하던 중 전후 문맥이 무관한 문법형식이라는 그의 최신 연구 결과를 사용해 ALGOL 언어 회의에서 논문을 교류했다. 마감일을 넘겨 논문집에 실리지는 못했지만 덴마크의 수학자 페테르 나우르가 큰 영감을 받았고 배커스의 문법에 대한 감수와 수정을 해서 더욱 완벽하게 만들었다. 여기서 컴퓨터계의 유명한 베커스-나우르 표기법(BNF)이 탄생했다. 이 표기법은 <알고리즘 언어 ALGOL 60 보고>안에 쓰였다. [2]
  • 알골 68 :1968년에는 ALGOL 68이 개발되었다. ALGOL-10과 매우 유사하며, IFIP(국제 정보 처리 학회)에서 발표된 언어의 이름으로 알골 60을 발전시켜 다목적용의 강력한 언어로 만들 계획으로 설계했다. 2단계 문법 Wijngaarden 표기법으로 문법이 기술했고, 다양한 데이터형을 다루는 융통성이 주어져 과학 계산용의 범주를 벗어나 사무 처리용까지 적용범위를 확대했다.[4] 기능이 너무 복잡해 실제로는 많이 사용되지 않고 있다. 일괄처리 체제에 적합한 입출력 방식으로 되어있어 주로 일괄처리시스템에 사용된다.[5]

특징

수치 계산 절차를 표준화된 형태로 정확하게 컴퓨터에 나타내는 데 쓰이는 산술 언어로 이 언어는 컴파일러가 있는 상황에서 컴퓨터에 수치 계산 과정을 인식시키는 것 외에 개인 간에 수치 계산 과정을 전달하기 위한 수단으로도 사용된다. 국제 협약에 의해 표준화된 국제 대수 언어(International Algebraic Lan-guage)는 알골의 전신이다. .[6]


각주

  1. 전기용어사전〈알골 - 용어 해설〉 , 《네이버 지식백과》
  2. 2.0 2.1 담 정〈제3세대언어-고급언어〉 , 《소프트웨어 문화개론》, 2016-08-31
  3. 이성규 기자, 〈IT 거인들은 왜 프로그래밍 언어에 집착할까〉, 《BLOTER》, 2014-06-18
  4. 시사상식사전〈용어-시사상식사전〉 , 《네이버 지식백과》
  5. 컴퓨터인터넷IT용어대사전〈알골 68〉 , 《네이버 지식백과》
  6. 컴퓨터인터넷IT용어대사전〈알골 60〉 , 《네이버 지식백과》

참고 자료

같이 보기


  의견.png 이 알골 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.