디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

1.1 Ada의 역사

나르시갤로그로 이동합니다. 2025.07.31 01:17:47
조회 65 추천 0 댓글 0

Ada 프로그래밍 언어의 역사는 특정 목적, 즉 대규모의 장기 실행, 고신뢰성 소프트웨어 시스템 개발을 위한 표준화된 도구의 필요성에서 시작되었습니다. 그 기원은 1970년대 중반 미 국방부(United States Department of Defense, DoD)의 소프트웨어 위기 인식으로 거슬러 올라갑니다.

1.1.1 문제의 대두: 국방부의 소프트웨어 위기

1970년대에 미 국방부는 임베디드 컴퓨팅 시스템에 사용되는 프로그래밍 언어의 수가 폭발적으로 증가하는 문제에 직면했습니다. 국방부 시스템 전반에 걸쳐 수백 개의 서로 다른 언어와 그 방언들이 사용되고 있었으며, 이는 심각한 비효율성을 초래했습니다. 각 프로젝트마다 새로운 언어, 컴파일러, 개발 도구 및 교육이 필요했으며, 이는 소프트웨어 개발 및 유지보수 비용을 천문학적으로 증가시켰습니다. 또한, 코드의 재사용성과 이식성이 극도로 낮았고, 시스템의 신뢰성을 검증하고 보장하는 것이 거의 불가능했습니다.

이러한 문제를 해결하기 위해, 국방부는 1975년에 고차 언어 실무 그룹(High Order Language Working Group, HOLWG)을 설립했습니다. 이 그룹의 임무는 국방부의 요구사항을 충족할 수 있는 단일하고, 표준화된, 범용 프로그래밍 언어를 정의하거나 선정하는 것이었습니다.

1.1.2 요구사항 정의와 언어 설계 경쟁

HOLWG는 먼저 현존하는 언어들(예: Pascal, PL/I, Algol 68)이 국방부의 요구사항을 충족하는지 평가했습니다. 평가 결과, 어떤 언어도 실시간 처리, 예외 처리, 병행성, 대규모 시스템 모듈화와 같은 핵심 요구사항을 완전히 만족시키지 못한다는 결론에 도달했습니다. 따라서 새로운 언어를 개발하기로 결정했습니다.

이후 HOLWG는 일련의 요구사항 문서를 작성했으며, 이는 최종적으로 Steelman 요구사항 명세서로 집대성되었습니다. 이 명세서는 새로운 언어가 갖추어야 할 기술적 특성을 매우 상세하게 정의했습니다. 주요 요구사항은 다음과 같았습니다.

  • 강력한 타입 시스템 (strong typing): 컴파일 시점에 오류를 최대한 발견하여 런타임 오류를 줄입니다.
  • 모듈성 (modularity): 패키지(package) 개념을 통해 대규모 소프트웨어를 논리적으로 분할하고 관리할 수 있도록 지원합니다.
  • 예외 처리 (exception handling): 런타임 오류 발생 시 시스템이 안정적으로 복구하거나 종료될 수 있는 메커니즘을 제공합니다.
  • 병행성 (concurrency): 여러 작업을 동시에 처리할 수 있는 기능을 언어 자체에 내장합니다. (태스크, rendezvous 개념)
  • 데이터 추상화 (data abstraction): 사용자가 데이터의 내부 구현을 알 필요 없이 인터페이스만을 통해 데이터를 조작할 수 있도록 합니다.
  • 가독성 (readability): 코드 작성의 용이성보다 코드 판독의 용이성에 중점을 두어 장기적인 유지보수를 용이하게 합니다.

이러한 요구사항을 바탕으로 국제적인 언어 설계 경쟁이 시작되었습니다. 여러 팀이 경쟁에 참여했으며, 제출된 설계안들은 코드명(Red, Green, Blue, Yellow)으로 불렸습니다. 치열한 평가 과정을 거쳐 1979년, 프랑스 CII Honeywell Bull사의 Jean Ichbiah가 이끄는 팀이 제안한 Green 설계안이 최종적으로 선정되었습니다.

1.1.3 Ada의 탄생과 표준화

선정된 언어는 19세기 초, 세계 최초의 프로그래머로 인정받는 Augusta Ada Byron, Countess of Lovelace의 이름을 기려 Ada로 명명되었습니다. Ada Lovelace는 Charles Babbage의 해석 기관(analytical engine)을 위한 알고리즘을 작성한 인물로, 그녀의 선구적인 업적은 Ada 언어가 지향하는 정밀성과 신뢰성의 가치를 상징합니다.

Ada 언어의 첫 번째 공식 표준은 1983년에 미국 국립 표준 협회(ANSI)에 의해 승인되었으며(ANSI/MIL-STD-1815A), 이후 국제 표준화 기구(ISO) 표준으로도 채택되었습니다. 이 버전을 Ada 83이라고 부릅니다. Ada 83은 당시로서는 매우 진보적인 개념들을 포함하고 있었으며, 특히 대규모, 고신뢰성 시스템 설계에 강력한 기반을 제공했습니다.

1.1.4 진화하는 언어: Ada 95, Ada 2005, Ada 2012, Ada 2022

소프트웨어 공학 기술이 발전하고 프로그래밍 패러다임이 변화함에 따라 Ada 언어 역시 지속적으로 개정되었습니다.

  • Ada 95: 첫 번째 주요 개정판인 Ada 95는 ISO에 의해 표준화된 최초의 객체 지향 프로그래밍 언어였습니다. 이 버전에서는 상속, 다형성 등 완전한 객체 지향 기능을 지원하기 위한 태그드 타입(tagged type) 개념이 도입되었습니다. 또한, 보호 객체(protected object)를 도입하여 병행성 처리 모델을 개선하고 데이터 경쟁(data race)을 방지하는 더 안전하고 효율적인 방법을 제공했습니다. 계층적 라이브러리(hierarchical libraries)와 표준 라이브러리의 확장도 이루어졌습니다.

  • Ada 2005: 이 버전은 Interfaces라는 개념을 도입하여 Java나 C#과 유사한 다중 상속의 유연성을 제공했습니다. 또한, 표준 라이브러리가 더욱 확장되었고, 실시간 시스템 지원 기능이 향상되었습니다. pragma와 같은 언어의 세부적인 부분들도 개선되어 프로그래머의 편의성과 코드의 명확성을 높였습니다.

  • Ada 2012: 계약 기반 프로그래밍(design by contract)을 언어 차원에서 본격적으로 지원하기 시작한 버전입니다. 서브프로그램의 사전 조건(precondition), 사후 조건(postcondition), 타입 불변식(type invariant) 등을 명시할 수 있는 구문이 추가되었습니다. 이를 통해 개발자는 프로그램의 정확성을 더욱 엄격하게 명시하고 검증할 수 있게 되었습니다. 또한 멀티코어 프로세서를 더 잘 활용할 수 있도록 병행성 관련 기능들이 개선되었습니다.

  • Ada 2022: 가장 최신 표준인 Ada 2022는 이전 버전의 개념들을 더욱 발전시키고 새로운 기능을 추가했습니다. delta 애그리게이트, 더 정교해진 계약 기반 프로그래밍 지원, 병렬 프로그래밍을 위한 새로운 속성 및 parallel 키워드 등이 포함되었습니다. 이러한 개선 사항들은 Ada를 현대적인 하드웨어 아키텍처와 개발 방법론에 더욱 적합한 언어로 만들었습니다.

이처럼 Ada는 단순한 프로그래밍 언어를 넘어, 소프트웨어 공학의 원칙을 체계적으로 구현한 도구로서 설계되었습니다. 그 역사는 신뢰성과 안전성이 최우선으로 요구되는 시스템을 구축하기 위한 끊임없는 노력의 과정이며, 오늘날에도 항공우주, 국방, 철도, 의료 등 실패가 허용되지 않는 핵심 시스템에서 그 가치를 증명하고 있습니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
공지 프로그래밍 갤러리 이용 안내 [92] 운영자 20.09.28 45958 65
2877173 나님 건강 이슈로 당분간 탈갤합니당.. ♥찢명아티스트냥덩♥갤로그로 이동합니다. 20:47 0 0
2877172 구글창업자: 세르게이 - 잼민이ai 금지한사람 골때린다 프갤러(183.101) 20:43 3 0
2877171 이선균 유작 '행복의 나라'개봉에 민주당 "이선균 방지법 앞장" 발명도둑잡기(118.216) 20:37 5 0
2877170 죽을죄는 사형집행이 정석입니다 프갤러(220.84) 20:26 24 0
2877169 열돔은 콘돔이당 By 나님 ♥찢명아티스트냥덩♥갤로그로 이동합니다. 20:25 9 0
2877168 귀엽지 ㅇㅅㅇ 어린이노무현갤로그로 이동합니다. 20:22 17 0
2877167 이공계 기피 발명도둑잡기(118.216) 20:21 9 0
2877166 한국인 안 뽑을래요 발명도둑잡기(118.216) 20:20 9 0
2877165 나의 취급이 이래서는 안됩니다 프갤러(220.84) 20:15 10 0
2877164 코딩 뉴비 조언좀요 ㅠㅠ 프갤러(118.235) 20:13 22 0
2877163 레이건 정부 CIA가 자국 내에 마약을 판매한 콘트라사건 [2] 발명도둑잡기(118.216) 20:10 11 0
2877162 나님 애널두 무사히 차분하게 주무실 준비..⭐+ ♥찢명아티스트냥덩♥갤로그로 이동합니다. 20:10 9 0
2877161 잠 한번 잘못잤다고 멀미 비스무리하게 오는둣? ♥찢명아티스트냥덩♥갤로그로 이동합니다. 19:52 9 0
2877160 부모 폭행하다 형한테 맞자 가족 3명 모두 살해…30대 기소 발명도둑잡기(118.216) 19:50 14 0
2877159 [단독] 경찰 때려 퇴학 당한 경찰대생… 경찰 간부돼 발명도둑잡기(118.216) 19:49 7 0
2877158 리버스 만유인력? ♥찢명아티스트냥덩♥갤로그로 이동합니다. 19:42 10 0
2877157 오호라 음의 유효질량.. ♥찢명아티스트냥덩♥갤로그로 이동합니다. 19:41 9 0
2877156 피궁해서 누엇당.. 졸리.. ♥찢명아티스트냥덩♥갤로그로 이동합니다. 19:37 8 0
2877154 뭐임 2찢명 계엄 때림? 증시 대폭망 환율 1400대 뚫었넹 ♥찢명아티스트냥덩♥갤로그로 이동합니다. 19:26 33 0
2877153 애널의달성 3.3/1/ ♥찢명아티스트냥덩♥갤로그로 이동합니다. 19:22 9 0
2877152 페미 여성우월주의 내로남불 길거리 참수 합법화 해줘 류류(118.235) 19:16 13 1
2877151 옷을 벗기는 것보다 화장을 벗기는게 더욱 치욕적인;; [1] ♥찢명아티스트냥덩♥갤로그로 이동합니다. 18:44 30 0
2877150 동남아 어린여자아이 먹어서 뭐하냐 ㅇㅅㅇ [1] 류류(118.235) 18:41 26 1
2877149 윤괴수 팬티쇼 보고싶지않냐? [1] 헬마스터갤로그로 이동합니다. 18:39 25 0
2877148 냉정하게 23살먹고 공부해보겠다는건 아집이고 객기일까요?? ㅇㅇ(223.39) 18:34 20 0
2877145 정신력을 직접 산출할수는 없기에 결과물로 유추하며 개인적이당 ♥찢명아티스트냥덩♥갤로그로 이동합니다. 18:25 20 0
2877143 뀨? ♥찢명아티스트냥덩♥갤로그로 이동합니다. 18:21 18 0
2877142 FA 프리랜서 헝가리 가게 되면 단가가 얼마나 할까? 프갤러(58.121) 18:21 11 0
2877140 일감 없는게 원종이 잘못은 아니잖아 ㅇㅅㅇ 류류(118.235) 18:12 23 0
2877139 전쟁광 좌파들 때문에 3차세계전쟁 터지는구낭 ♥찢명아티스트냥덩♥갤로그로 이동합니다. 18:09 16 0
2877138 그니까 개발자한테 스트레스 주지마라 ㅇㅅㅇ 류류(118.235) 18:08 22 0
2877137 퇴군! [4] 개멍청한유라갤로그로 이동합니다. 18:02 33 0
2877136 오랜만에 goto문 써보는구나 [5] 루도그담당(211.184) 17:35 54 0
2877135 정신병 살인귀 또 터졌구나 [7] 헬마스터갤로그로 이동합니다. 17:34 65 0
2877134 대만 영화계 상황 발명도둑잡기(118.216) 17:29 14 0
2877133 9년간 사용하던 전번을 변경했습니다. [2] 나르시갤로그로 이동합니다. 17:22 29 0
2877129 대한민국 교육청 인증 객관식 시험 잘쳐야 가는 명문대 [1] 발명도둑잡기(118.216) 17:09 23 0
2877128 의대보다 공대 발명도둑잡기(118.216) 17:03 21 0
2877126 “세계가 대한민국을 주목합니다” 발명도둑잡기(118.216) 16:59 19 0
2877125 확실히 여름엔 퍼포먼스가 떨어진당 ♥찢명아티스트냥덩♥갤로그로 이동합니다. 16:58 16 0
2877124 정치글 좀 작작쳐올려라 개씨발새끼들아 [2] 프갤러(113.59) 16:57 32 0
2877123 [중앙시평] 중국의 기술 굴기가 가져올 파장들 발명도둑잡기(118.216) 16:56 13 0
2877120 속보) 2찢명 번식 왕성 ! ♥찢명아티스트냥덩♥갤로그로 이동합니다. 16:46 31 0
2877119 106.101 마약 발명도둑잡기(118.216) 16:39 19 0
2877118 가비아 대책없는 회사 보안 개ㅂㅅ사이트 ㅈㄴ 답답하네 프갤러(211.219) 16:35 263 0
2877116 사회생활 직급별 완벽한 정리 발명도둑잡기(118.216) 16:33 27 0
2877115 옷벗고 드러눠 체포영장 집행 못했다? 대한민국 공권력, 내란수괴 앞에서만 발명도둑잡기(39.7) 16:28 17 0
2877114 ■요즘 레드오션이라는데 취업할려면 뭘 파야합니까? ㅇㅇ갤로그로 이동합니다. 16:27 30 0
2877113 혐오는 귀염을 이길수 없당⭐+ ♥찢명아티스트냥덩♥갤로그로 이동합니다. 16:21 17 0
뉴스 여리(如理)∙Raynes∙Bright World, 7월 5주 차 위클리 키트앨범 스포트라이트 선정! 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2