네리아크
NELIAC![]() |
패러다임 | 절차적, 명령적, 구조적 |
---|---|
가족 | 알골 |
설계자 | 해리 허스키, 모리 할스테드, 니클라우스 위스 |
개발자 | 네이비 일렉트로닉스 연구소 |
첫 등장 | 1958; | 전 (
타이핑 규율 | 정적인 |
범위 | 어휘소 |
구현 언어 | 어셈블리, NELIAC |
플랫폼 | AN/USQ-17, AN/USQ-20; CDC 1604; UNIVAC 1107, 490, 418; IBM 704, 709 |
영향을 받은 | |
알골로58번길 |
해군전자실험실 국제알골 컴파일러(NELIAC)는 1958년 해군전자실험실(NELIAC)이 개발한 프로그래밍 언어 알골 58의 방언 및 컴파일러 구현이다.[1]
그것은 수치적이고 논리적인 계산을 위해 설계되었으며 부트스트랩 구현을 제공하는 최초의 언어였다.
기원
NELIAC는 당시 컴퓨터기계협회(ACM) 회장이자 컴퓨터 과학자로 잘 알려진 해리 허스키가 발상했으며, NELIAC의 컴퓨터센터장인 모리 할스테드가 후원했다.시제품 AN/USQ-17 컴퓨터(Ada Lovelace 백작 부인의 이름을 따서 백작 부인이라고 함)에 초기 버전이 실험실에서 구현되었다.그것은 세계 최초의 자체 컴파일러였으며, 부트스트래핑이라고 불리는 특성이었다.이것은 컴파일러가 처음에는 조립 언어인 "부트스트랩"으로 단순화된 형태로 코딩된 다음, 이 "부트랩" 컴파일러에 의해 편집된 자신의 언어로 다시 작성되고, 스스로 다시 컴파일되어 "부트랩"이 쓸모 없게 되었다는 것을 의미한다.
그 언어와 유사해 ALGOL 58의 변종으로 여겨지지만, 2년 만에 ALGOL 위원회가 다른 버전의 ALGOL을 생산해 NELIAC와 ALGOL이 갈라졌다.
사용하다
컴파일러는 CDC 1604용 버전을 만들기 위해 백작 부인에게 사용되었고, 나중에 그 기계에서 자체 컴파일되었다.UNIVAC 1107, 490, 418, IBM 704 및 709와 같은 상용 컴퓨터용으로 다른 많은 버전이 생산되었다.NELIAC의 생산 버전은 2세대 시스템(AN/USQ-20의 경우, AN/USQ-20의 현대화 및 군국화 버전)으로, 첫 번째 버전에 의해 컴파일되었지만 알고리즘 표현식의 완전한 디코딩과 나중에 다른 모든 버전에 누락된 입출력(I/O) 시스템이 포함되었다.
그 디컴퍼니는 호기심이었다.첫 번째 버전은 백작 부인에서 실행되었지만, 나중에 CDC 1604와 다른 컴퓨터에 포팅되었고, 몇몇 대학에서 약간의 통지를 받았다.하지만 당시만 해도 분해할 만한 프로그램이 거의 없었던 것으로 드러났다.
NELIAC는 결코 상업적인 제품이 될 의도가 없었다.당시의 다른 컴파일러에 비해 1차적인 장점은 다른 컴파일러에 대한 휴대성,[2] 그리고 멀티패스 컴파일러를 사용했던 다른 고급 프로그래밍 언어보다 60배에서 120배 빠른 컴파일러 시간을 가능하게 한 원패스 컴파일러 아키텍처였다.예를 들어 JOFLITY 컴파일러는 14개의 패스를 했다.언어의 단순성과 빠른 컴파일 시간은 다른 동시대의 컴파일러보다 훨씬 빠른 개발 주기를 허용했다.컴퓨터 시스템 개발 문제에 대한 보다 비용 효율적인 해결책이 가능하도록 하기 위한 사내 NEL의 노력이었다.
NELIAC는 실험적인 선상 대잠수함전 시스템 구현에 사용되었고, 항모 및 순양함에 설치된 전략 지휘통제 시스템을 개발하는 NECPA(National Emergency Command Post Afloat) 프로젝트 개발에도 사용되었다.아마도 가장 성공적인 NELIAC 애플리케이션은 1968년에 생산에 들어가 1990년대 초반까지 지속된 미국 해군 자동화된 고주파 방향 찾기 네트워크(클래식 불세예)의 통제였을 것이다.
또한, NEL은 자기 테이프, 프린터, 통신 장비에 대한 입출력 기능을 제공하는 일괄 운영 체제인 NELOS와 대규모 컴퓨터 응용 프로그램을 연결하여 온라인으로 실행할 수 있는 기호 라이브러리를 개발했다.여기에는 데이터베이스를 포함한 정보 관리 프로그램 세트, IBM GIS의 전구성을 가진 무료 양식 질의, 보고 애플리케이션 등이 포함되었다.NECPA와 NELLOS는 1966년에 바다로 갔다.
NELIAC의 끝
그러나, NELIAC 프로그램은 언어에서 단어 길이에 의존하는 이진 문자의 조작을 허용했기 때문에 쉽게 이동하지 못했다.또한 NELIAC 언어는 입력-출력 체계를 가지고 있지 않았다.또한, 지수 변수가 정확히 최종 값에 도달하지 않으면 무한 루프가 발생한다는 점에서 그것의 루프 문장은 예외적으로 엄격했다.이것은 NELIAC의 아킬레스건이었다.
Niklaus Wirth와 같은 다른 유명한 컴퓨터 전문가들은 이 프로젝트에 기여했지만, 궁극적으로 NELIAC는 해군부가 상업적인 지원을 받아 컴파일러에 대한 표준화를 실시한 후 지지를 잃었다.
참조
- ^ Huskey, H.D.; et al. (August 1960). "NELIAC: A Dialect of Algol". Communications of the ACM. 3 (8): 463–468.
- ^ Halstead, Maurice Howard (January 1, 1962). Machine-Independent Computer Programming. Spartan Books. ISBN 978-0-5984-1477-9.
외부 링크
- ACM에서 BC NELIAC에 대한 통사적 설명.
- NELIAC 및 배경 정보에 대한 원본 문서.(2007년 6월 1일)
- 1991년까지 NELIAC의 역사.
- bitsavers.org 웹 사이트 설명서(영어)
- softwarepreservation.org 웹 사이트 설명서(영어)