
존 배커스(John Backus)
[참고자료]: en.wikipedia
* 최초로 대중적인 인기를 얻은 고급 프로그래밍 언어. 포트란(Fortran)
배커스는 사람의 언어와 유사한 프로그래밍 언어를 개발하려는 야심찬 계획을 가지고 있었다.
이 계획에는 사용자로 하여금 기계어나 어셈블리어를 몰라도, 또한 기계의 동작 과정을 몰라도 알고 사용할 수 있는 언어의 개발에 관심이 포함되어 있었다. 이것은 오로지 프로그래밍언어는 사용자가 해결하고자 하는 문제 자체의 이해에만 집중하도록 하는 것이었다.
이것은 또한 프로그래밍과 디버깅에 들어가는 돈은 컴퓨터 가동 비용의 약 4분의 3을 차지하고 기 비율은 컴퓨터가 싸질수록 더 높아지기 때문이었다.
배커스와 그의 팀에게 핵심적이 문제는 언어의 설계가 아니라 효과적인 프로그램을 만들어내는 컴파일러의 설계였다. 그들은 과학자와 엔지니어들이 IBM 704에서 프로그램을 작성하는데 편리함을 느낄 수 있는 언어를 만들어내고자 했다. 배커스는 포트란 언어의 특징으로 대입문의 도입과 Do 순환문 사용등 몇 가지를 정했으며, 그 후 수정에 수정을 거듭하여 결국 1957년에 개발이 끝난 포트란 컴파일러를 세상에 선보이게 되었다. 그것은 2500 라인의 기계어로 이뤄져 자기테이프에 수록돼 있었다. 그러나 전문 프로그래머들의 반응은 냉담했다.
IBM은 이에 한가지 꾀를 냈다. 모든 IBM705 사용자에게 포트란 컴파일러를 무료로 보내 주는 것이었다. 그 결과 상당히 반응이 좋게되자 IBM은 IBM650용 포트란도 개발하게 된다. 점차 포트란 사용자들이 늘어가면서 점점 상위 버전도 개발되었으며, 사용자들의 반응도 다양해지고 포트란 컴파일러도 여러 종류가 시중에 나오게 되었다. 또한, 자신에 맞는 포트란 컴파일러를 개발하는 사람들도 늘어갔다.
표준안의 제정이 시급해 지자 1977년 국제회의에서 Fortran-77을 세계 표준으로 발표하였으며, 포트란의 성공으로 고급 언어의 개발이 상업적으로 성공할 수 있음을 알려 주었다.
사용자가 늘어나자 불만도 증가하였는데, 이것은 포트란 언어자체가 가지고 있는 한계성으로 과학기술 계산에는 적합했지만 사무용으로 적절하지 못했기 때문이다.
[원문보기1]
[원문보기2]

마이크로소프트 Visual C# .NET 팀의 프로그램 매니저인 에릭 거너슨은 존 배커스씨가 없었으면 우리는 아직도 토글 스위치나 사용하고 있을 것이라고 했다. 그는 포트란을 통해 루프, 변수할당문, goto문, 본질적인 데이타 타입을 처음으로 사용했으며 소프트웨어 개발자의 코드 포멧팅에 대한 강박관념을 처음으로 심어주기도 했다.
첫 1-5열은 숫자 라벨을 써 넣어야 하고, 한 줄에 72자이상은 인식하지 않는 등 등 제약이 많았다.
[원문보기]
오늘날에도 수치연산이 중요한 과학기술분야에선 포트란의 인기가 좋다. 수학, 천문학, 기계공학, 항공 및 우주공학 등 다양한 분야에서 포트란이 널리 쓰이고 있다. 가장 최근엔 Fortran2003이 출시됐고, Fortran2008이 개발 중이다.
* 형식언어문법. BNF(Backus-Naur Form)
BNF는 프로그래밍 언어를 정의하기 위한 최초의 메타언어이다. ALGOL58언어의 구문 기술을 위해 1959년에 존 배커스에 의해 처음 도입되었으며 피터 놈에 의해 내용이 추가되어 ALGOL60을 정의하는데 사용되었다. BNF는 구문 요소를 나타내는 기호 <>, 둘 중 하나의 선택을 의미하는 기호 | , 좌변은 우변에 의해 정의됨을 나타내는 ::= 등의 메타 기호들을 사용하여 규칙을 표현하였다.
[원문보기]
[참고자료]
* 튜링상 수상
존 배커스는 고급 프로그래밍 시스템, 프로그래밍 언어 명세의 형식적 절차로 1977년 튜링상을 수상했다.
1977년 튜링상 수상 강연
'Can Programming Be Liberated From the von Neumann Style?'
그는 프로그래밍 언어에서 가장 중요한 요소는 효율성이 아니라 가독성, 신뢰성과 같은 것이라 주장했다.
[참고자료]: 역대 튜링상 수상자
* 참고문헌
-http://apmath.kku.ac.kr/~seokko/turing.htm
-http://www.hwlab.com/computer_history.php?code=11615
-http://blogs.msdn.com/ericgu/archive/2007/03/21/
if-it-wasn-t-for-him-we-d-still-be-using-toggle-switches.aspx
-http://www.aistudy.com/linguistics/BNF.htm

댓글 없음:
댓글 쓰기