디시인사이드 갤러리

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

갤러리 본문 영역

1.1 Ada의 역사

나르시갤로그로 이동합니다. 2025.07.31 01:17:47
조회 91 추천 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/08/04 - -
AD 가전디지털, 휴대폰 액세서리 SALE 운영자 25/08/08 - -
2876756 회사 신입 왔는데 404에러가 뭔지 모름 [1] ㅇㅇ(118.235) 07.31 92 0
2876755 프론트랑 백엔드는 샌드박스환경이라 AI가 모가지딸운명임 네오커헠(1.237) 07.31 125 0
2876754 내가 조언해줄수 있긴한데 프갤러(121.139) 07.31 63 1
2876752 인생 한번 살다가는거 정말 맛깔나게 좀 살면 안되냐?? [1] ㅇㅇ(223.39) 07.31 82 0
2876750 여기에 진짜 조언해주고싶은데 프갤러(121.139) 07.31 66 2
2876749 일단 웹프론트는 디자인이랑 퍼블리싱이 ㅈ밥임 [2] 네오커헠(1.237) 07.31 141 0
2876747 2찢명 이새끼는 관세협상 말아먹어 한국 박살내놓고 변명밖에 안하네 ♥수학자냥덩♥갤로그로 이동합니다. 07.31 62 0
2876746 공수처 검찰청 경찰청 국제수사 과학수사 포랜식수사 기무사 국정원 존재이유 뒷통수한방(1.213) 07.31 40 0
2876745 밖에서 IU 욕했다가, 꿀벌한테 쏘였다. 아이유도 사람이라고, 그냥 [1] 넥도리아(220.74) 07.31 57 0
2876744 넥도리아 만든 개발자 누구냐? 프갤러(121.139) 07.31 55 0
2876743 [kt cloud x goorm] IT 직군 개발 / 비개발 9개 과정 프갤러(14.32) 07.31 577 0
2876742 Only One SBS ESPN 축구송... 인간들 미쳤네... 넥도리아(220.74) 07.31 48 0
2876741 이런 윈도우프로그램 만드는게 진짜 개발이지 네오커헠(1.237) 07.31 135 1
2876739 나보다 알뜰하게 쓴 인간 나와봐라... [1] 넥도리아(119.195) 07.31 73 0
2876738 게임개발 개같이 어렵네 아 ㅋㅋㅋㅋㅋㅋㅋ [2] 뉴진파갤로그로 이동합니다. 07.31 95 0
2876737 웹앱땔깜들 볼때마다 이짤생각남 [1] 네오커헠(1.237) 07.31 139 1
2876735 dd ㅇㅇ(211.107) 07.31 40 0
2876734 내쿠폰 어디갔노? [3] 헬마스터갤로그로 이동합니다. 07.31 66 0
2876733 힘이듭니다 아스카영원히사랑해갤로그로 이동합니다. 07.31 54 0
2876731 실수좀했다고 5만원 월급에서 공제한다네 [1] ㅇㅇ(14.32) 07.31 78 0
2876730 복구 받고 열어보니, 기술력이 쩌신듯... [3] 넥도리아(220.74) 07.31 65 0
2876728 나님은 순혈컴공 직계혈통을 지닌 정통성 프로그래머당 네오커헠(1.237) 07.31 92 0
2876727 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥수학자냥덩♥갤로그로 이동합니다. 07.31 45 0
2876726 당 떨어지면 머리 아품 ♥수학자냥덩♥갤로그로 이동합니다. 07.31 43 0
2876725 오 올만에 프갤에 제대로 된 녀석 하나 보이는군 ♥수학자냥덩♥갤로그로 이동합니다. 07.31 66 0
2876723 좆소 코딩충 월급들어왔다... ㅇㅇ(211.107) 07.31 98 0
2876722 웹개발기원이 윈도우개발못하는 허접들이 시작한거임 네오커헠(1.237) 07.31 125 0
2876721 지가 찍고 욕하는건 무슨 경우지? [1] ㅇㅇ(49.165) 07.31 56 0
2876720 혹시 여고생? ♥수학자냥덩♥갤로그로 이동합니다. 07.31 64 0
2876719 울프람알파 코어는 C/C++인데 잘모르노 네오커헠(1.237) 07.31 111 0
2876718 [공지] 뉴프로에 슬라임키우기 게임도입 헬마스터갤로그로 이동합니다. 07.31 53 0
2876716 번호변경 개망했네 ㅠㅠ [5] 나르시갤로그로 이동합니다. 07.31 74 0
2876714 미국이 마스가 프로젝트하는이유 프갤러(183.101) 07.31 55 0
2876712 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥수학자냥덩♥갤로그로 이동합니다. 07.31 51 0
2876710 땔깜이 도태되어 사라지는것이 자연의섭리 네오커헠(211.234) 07.31 74 0
2876707 애니뉴스 - [생성형 AI] Image To Video 프갤러(121.172) 07.31 41 0
2876706 나님 친중공산당에서 상 받았어양⭐+ ♥불사신냥덩♥갤로그로 이동합니다. 07.31 59 0
2876705 관세에 대한 한국인의 과대망상 프갤러(183.101) 07.31 54 0
2876704 결국 선형대수 제어공학 신호처리 수학을쓰는건 임베디드뿐 네오커헠(1.237) 07.31 112 0
2876703 좇센에선 러스트하던 어샘블리하던200충 개돼지노예인건 안변하는데 뒷통수한방(1.213) 07.31 68 0
2876702 난 식품공장에서 일했었는데 프갤러(183.101) 07.31 56 0
2876701 흠 결국 3D그래픽스를 다루는건 임베디드의 고유스킬이되었네 네오커헠(1.237) 07.31 103 0
2876700 하입냥덩? [1] ♥불사신냥덩♥갤로그로 이동합니다. 07.31 67 0
2876698 한민족 dna ) 한방거하게해쳐먹고 자살하면 그만이야 민족 뒷통수한방(1.213) 07.31 40 0
2876697 삼성밝은안과의원 평촌 왔는데... [1] 넥도리아(220.74) 07.31 110 0
2876696 오전 휴가인데 [5] 아스카영원히사랑해갤로그로 이동합니다. 07.31 96 0
2876695 좇센에서 태어나는거 ㄹㅇ 선택받은거 맞누 뒷통수한방(1.213) 07.31 47 0
2876694 한민족하고 좇센징들은 민족성이 왜그러냐??ㄹㅇ 과학인데 뒷통수한방(1.213) 07.31 36 0
2876693 우리나라 노동권 지수는 5등급이기때문에 객관적인 시선에서 해야함 ㅆㅇㅆ(124.216) 07.31 53 0
2876691 노란 봉투법은 반드시 해야함. 노란 봉툽법이 없으면 시위 자체가 불가능 ㅆㅇㅆ(124.216) 07.31 61 0
뉴스 '금쪽같은 내 스타' 최영훈 감독X박지하 작가, ‘굿 캐스팅’ 이후 5년만 의기투합! 디시트렌드 08.08
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2