소프트웨어의 역사

History of software

소프트웨어는 프로세서에 의해 실행될 수 있도록 저장된 프로그램 디지털 컴퓨터의 메모리에 저장된 프로그램된 명령어 세트입니다.소프트웨어는 인류 역사의 최근 발전으로 정보화 시대의 기본이다.

19세기에 찰스 배비지해석 엔진위한 Ada Lovelace의 프로그램은 종종 수학자의 노력은 이론적인 것에 불과했지만, Lovelace와 배비지의 시대의 기술이 그의 컴퓨터를 만드는데 불충분하다는 것이 증명되었기 때문에 그 학문의 창시자로 여겨집니다.앨런 튜링은 1935년에 소프트웨어에 대한 이론을 최초로 고안한 사람으로 알려져 컴퓨터 과학소프트웨어 공학이라는 두 가지 학문 분야를 이끌었다.

1940년대 후반의 초기 저장 프로그램 디지털 컴퓨터용 소프트웨어의 1세대에는 명령어가 바이너리 코드로 직접 작성되어 일반적으로 메인프레임 컴퓨터용으로 작성되었습니다.나중에 가정용 컴퓨터의 발전과 함께 현대 프로그래밍 언어의 발전은 어셈블리 언어에서 시작해 기능 프로그래밍객체 지향 프로그래밍 패러다임을 통해 사용 가능한 소프트웨어의 범위와 폭을 크게 넓힐 것입니다.

프로그램 디지털 컴퓨터 저장 전

컴퓨터 과학의 기원

개념으로서의 컴퓨팅은 주판, Antikythera 메커니즘, Al-Jazari의 프로그램 가능한 성시계 [1]등의 장치를 통해 고대 시대로 거슬러 올라간다.그러나 이들 디바이스는 순수 하드웨어로 소프트웨어가 없었습니다.컴퓨팅 능력은 그 형태와 엔지니어링에 직접 관련되어 있었습니다.

소프트웨어는 범용 프로세서의 개념 - 현재 튜링 기계로 묘사되고 있는 것 - 뿐만 아니라 재사용 가능한 루틴과 프로그램으로 구성된 수학적 함수 세트를 개별적으로 저장, 시작 및 중지할 수 있는 컴퓨터 메모리를 필요로 하며, 인류 역사에 최근에야 나타난다.

최초의 알려진 컴퓨터 알고리즘은 19세기에 에이다 러브레이스에 의해 해석 엔진을 위해 쓰여졌는데, 기계 지시를 [2][2]위해 베르누이 숫자를 사용한 루이지 메나브레아의 연구를 번역하기 위해서였다.하지만, 이것은 이론적인 것으로만 남았습니다.-이 두 수학자의 일생 동안 공학의 상태는 분석 엔진을 구축하기에 불충분하다는[citation needed] 것이 증명되었습니다.

소프트웨어의 첫 번째 현대 이론은 앨런 튜링에 의해 1935년 에세이 "계산 가능 숫자"에서 Eentscheidungsproblem (결정의 문제)[3]대한 적용과 함께 제안되었습니다.

이것은 결국 소프트웨어와 그 창조를 연구하는 컴퓨터 과학소프트웨어 공학이라는 두 개의 학문 분야를 창조하는 것으로 이어졌다.컴퓨터 공학은 보다 이론적인 반면(튜링의 에세이는 컴퓨터 과학의 한 예) 소프트웨어 공학은 보다 실용적인 문제에 초점을 맞추고 있습니다.

그러나 1946년 이전에는 현재 우리가 알고 있는 소프트웨어(저장된 프로그램 디지털 컴퓨터의 메모리에 저장된 프로그램)는 아직 존재하지 않았습니다.최초의 전자 컴퓨팅 디바이스는, 대신에 「재프로그래밍」하기 위해서 재접속되었습니다.최초의 전자 컴퓨터 중 하나인 ENIAC는 주로 이전에 인간 [4]컴퓨터로 일했던 여성들에 의해 프로그램되었다.[5] 엔지니어들은 프로그래머들에게 ENIAC 배선의 청사진을 주고 [6]그들이 기계를 프로그래밍하는 방법을 알아내기를 기대했다.프로그래머로 일했던 여성들은 첫 공개를 위해 ENIAC를 준비했고,[7] 데모를 위해 패치 패널을 함께 배선했다.[8][9] Kathleen Booth는 1950년에 Birkbeck [10]College에서 작업한 컴퓨터의 프로그래밍을 용이하게 하기 위해 Assembly Language를 개발했습니다.

Grace Hopper 및 UNIVAC

그레이스 호퍼는 하버드 마크 [11]1의 첫 프로그래머 중 한 명으로 일했다.그녀는 나중에 컴퓨터를 [12]위한 500페이지 분량의 설명서를 만들었다.호퍼는 종종 마크 II에서 나방을 발견했을 때 "버그"와 "디버깅"이라는 용어를 잘못 만들어 [13]오작동을 일으켰다고 한다. 하지만, 사실 그녀가 [13]나방을 발견했을 때 이 용어는 이미 사용되고 있었다.Hopper는 최초의 컴파일러를 개발하여 1950년대에 [14]Mark 컴퓨터에서 작업하던 아이디어를 UNIVAC에서 작업하는 것으로 가져왔습니다.호퍼는 UNIVAC를 [13]프로그래밍하기 위해 프로그래밍 언어인 FLOW-MATIC도 개발했습니다.프랜시스 E. 또한 UNIVAC에서 일하는 Holberton은 프로그래머가 키보드 입력을 사용할 수 있는 코드인[clarification needed] C-10을 개발했고 [15][16]1951년에 Sort-Merge Generator를 만들었다.Adele Mildred Koss와 Hopper는 또한 [15]보고서 생성기의 선구자를 만들었습니다.

컴퓨터 소프트웨어의 초창기(1948년-1979년)

Claude Shannon(1916–2001)은 그의 원고 "A Mathemical Theory of Communication"에서 이진 논리가 컴퓨터를 프로그래밍하기 위해 어떻게 구현될 수 있는지에 대한 개요를 제공했습니다.그 후, 최초의 컴퓨터 프로그래머들은 바이너리 코드를 사용하여 컴퓨터에게 다양한 작업을 수행하도록 지시하였다.그럼에도 불구하고, 그 과정은 매우 힘들었다.컴퓨터 프로그래머들은 컴퓨터에 어떤 데이터를 저장해야 하는지 알려주기 위해 긴 이진 코드 문자열을 제공해야 했다.코드와 데이터는 다양한 번거로운 메커니즘을 사용하여 컴퓨터에 로드해야 했습니다.예를 들어, 스위치 플릭이나 카드의 미리 정의된 위치에 구멍을 뚫어 이러한 천공 카드를 컴퓨터에 로드하는 것입니다.이러한 방법으로 잘못하면 프로그램 전체를 처음부터 다시 로드해야 할 수도 있습니다.

저장된 프로그램 컴퓨터가 소프트웨어를 전자 메모리에 저장하여 성공적으로 실행한 것은 1948년 6월 21일 오전 11시 맨체스터 대학의 맨체스터 베이비 컴퓨터에서였다.이것은 킬번에 의해 쓰여졌고, 정수 2^18 = 262,196의 가장 높은 인자를 계산했다.큰 시험 제수를 시작으로 262,144의 나눗셈을 반복한 후 나머지가 0인지 확인했습니다.그렇지 않은 경우 시행 제수를 1씩 줄이고 과정을 반복했습니다.구글은 맨체스터 베이비를 "소프트웨어의 탄생"으로 축하하는 헌사를 발표했다.

FORTRAN은 1950년대 IBM의 John Backus가 이끄는 팀에 의해 개발되었습니다.최초의 컴파일러는 1957년에 출시되었습니다.이 언어는 과학 및 기술 컴퓨팅 분야에서 매우 인기가 있었기 때문에 1963년까지 모든 주요 제조업체가 컴퓨터에 [17][18]FORTRAN을 구현하거나 발표했습니다.

COBOL은 Mary K 때 처음 고안되었다. Hawes는 1959년에 Grace Hopper를 포함한 회의를 소집하여 기업 [15]간에 공유할 컴퓨터 언어를 만드는 방법에 대해 논의하였습니다.COBOL을 사용한 Hopper의 혁신은 프로그래밍을 [12]작성하는 새로운 상징적 방법을 개발했습니다.그녀의 프로그래밍은 자기 [19]기록이었다.Betty Holberton은 1960년에 [20]정부 인쇄소에 제출된 언어의 편집을 도왔다.FORMAC는 1960년대에 [20]Jean E. Sammet에 의해 개발되었습니다.그녀의 저서 프로그래밍 언어: 역사와 기본(1969)은 영향력 [20][21]있는 텍스트가 되었다.

아폴로 미션

Margaret Hamilton은 그녀와 그녀의 팀이 아폴로 미션 컴퓨터를 위해 작성한 코드 더미 옆에 있었다.

아폴로 달 탐사는 착륙 [22][23]모듈에 컴퓨터를 프로그래밍하는 소프트웨어에 의존했다.이 컴퓨터들은 "Basic"이라고 불리는 언어로 프로그래밍되었다(동시에 [24]다트머스에서 개발된 BASIC 프로그래밍 언어와는 관련이 없음).이 소프트웨어에는 일련의 루틴으로 구성된 인터프리터와 실행할 프로그램과 [24]시간을 지정하는 임원(현대 운영 체제와 같은)도 있었다.둘 다 Hal Laning에 [24]의해 설계되었다.Margaret Hamilton은 이전에 US SAGE 방공 시스템에서 작업할 때 소프트웨어 신뢰성 문제에 관여한 적이 있습니다.또한 아폴로 소프트웨어 [22][25]팀의 일원이기도 했습니다.해밀턴은 아폴로 컴퓨터의 [22]기내 비행 소프트웨어를 담당했다.해밀턴은 소프트웨어 조작이 기계의 일부일 뿐만 아니라 소프트웨어를 [24]조작하는 사람들과도 복잡하게 관련되어 있다고 느꼈다.해밀턴은 [26]또한 NASA에서 일하는 동안 "소프트웨어 엔지니어링"이라는 용어를 만들었습니다.

아폴로 임무에서 컴퓨터를 위한 실제 "소프트웨어"는 자기 코어를 [27]통해 나사산된 전선으로 구성되었다.와이어가 자기 코어를 통과해서1을 나타내고 와이어가 코어 주위를 도는 [27]것은0을 나타냅니다각 코어에는 64비트의 [27]정보가 저장되어 있습니다Hamilton과 다른 사람들은 펀치 카드에 구멍을 뚫어 소프트웨어를 만들었는데, 그 후 Honeywell 메인프레임에서 처리되어 소프트웨어가 시뮬레이션되었습니다.[22]코드가 "고체"였을 때, 그것은 "리틀 노부인"으로 알려진 여성들이 [22]전선 작업을 했던 레이시온의 마그네틱 코어로 짜여지도록 보내졌다.그 프로그램 자체는 "파괴할 수 없는" 것이었고 심지어 아폴로 [27]12호에게 일어난 번개에도 견딜 수 있었다.컴퓨터를 배선하는 데 몇 주가 걸렸고,[28] 그 동안 소프트웨어 개발이 중단되었습니다.

프로그래밍을 테스트하기 위해 시뮬레이터를 사용하는 동안, 해밀턴은 [22]코드를 사용하는 동안 인간의 실수가 있을 때 위험한 오류를 발생시킬 수 있는 방법을 발견했다.나사는 우주 비행사들이 [29]훈련 때문에 실수를 하지 않을 것이라고 믿었다.해밀턴은 시스템 크래시를 일으킬 수 있는 오류를 방지하기 위해 코드를 프로그래밍할 수 없었기 때문에 프로그램 설명서에 [22]코드에 주석을 달았습니다.오류 검사 코드를 추가하려는 그녀의 아이디어는 "과도한"[22] 것으로 거부되었습니다.그러나 해밀턴이 아폴로 8호 비행에서 일어날 것이라고 정확히 예측한 것은 인간의 실수로 인해 컴퓨터가 모든 항법 [22]데이터를 삭제하게 되었을 때 일어났다.

소프트웨어와 하드웨어의 번들 및 그 법적 문제

이후 소프트웨어는 Data General, Digital Equipment 및 IBM과 같은 OEM(Original Equipment Manufacturer)에 의해 하드웨어와 함께 번들되어 여러 고객에게 판매되었습니다.고객이 미니컴퓨터를 구입했을 때, 당시 시장에서 가장 작은 컴퓨터였던 컴퓨터에는 소프트웨어가 프리 인스톨 되어 있지 않았지만, [citation needed]OEM에 고용된 엔지니어가 설치해야 했습니다.

이 번들은 1969년 IBM을 부적절한 "타이잉"으로 고소한 미국 독점 금지 규제 기관들의 관심을 끌었으며, IBM의 소프트웨어를 구하고자 하는 고객이 이를 위해 IBM의 하드웨어를 구입하거나 임대해야 하는 것은 독점 금지 위반이라고 주장했습니다.그러나, 미 법무부는 수년간의 감퇴 끝에,[30] 이 사건이 "무가치"로 결론지어 기각되었다.

Data General은 번들링과 관련된 법적 문제도 안고 있었습니다.이 경우 경쟁업체와의 민사소송이 원인이었습니다.Data General이 Data General Nova를 도입했을 때 Digidyne라는 회사는 자체 하드웨어 클론에서 RDOS 운영 체제를 사용하기를 원했습니다.Data General은 소프트웨어 라이선스를 거부하고 "번들 권리"를 주장했습니다.미국 대법원은 1985년 제9회 순회 항소심에서 Digidyne v. Data General이라는 판례를 만들었고, DG 하드웨어에만 라이센스를 제한하는 것은 불법적인 결합 [31]협정이라는 판결을 받아 결국 운영체제를 허가해야 했다.지방법원은 "이 거대하고 역동적인 시장에서 경쟁자가 훨씬 더 많은 시장에서는 합리적 배심원이 찾을 수 없다"고 지적했지만, Data General은 "불법적인 결속 약정을 통해 거래를 제한할 수 있는 시장 지배력이 있다"고 [32]항소에 따라 운영체제를 하드웨어에 연결하는 판결을 내렸다.

2008년, Psystar Corporation은 OS X가 프리 인스톨 되어 있는 무허가 Macintosh 클론을 배포한 혐의로 Apple Inc.에 제소되어 반소되었습니다.Data General 사례를 인용한 소송에서 제기된 주장 중 하나는 운영체제를 애플 컴퓨터에 불법적으로 연결함으로써 애플이 OS X 호환 컴퓨터 시장을 장악하고 있다는 것이다.지방법원 판사 윌리엄 알섭은 지방법원이 20여 년 전 데이터 제너럴 사건에서 판결한 것처럼 관련 시장은 단순한 하나의 운영체제(Mac OS)가 아니라 맥 OS를 포함한 모든 PC 운영체제라며 맥 OS가 더 넓은 시장에서 지배적인 위치를 누리지 못했다고 말하며 이 주장을 기각했다.Alsup의 판단은 또한 저작권이 있는 제품의 타이는 항상 불법이라는 놀라운 Data General의 전례가 일리노이 Tool Works Inc. v. Independent Ink, Inc.[33]의 판결에 의해 "암묵적으로" 기각된 것에 주목했다.

패키지 소프트웨어(1960년대 후반-현재)

개별 고객을 위한 "일회성"으로 생산되지도 않고 컴퓨터 하드웨어와 함께 "번들"되지도 않는 독립적으로 패키지화된 소프트웨어를 생산하는 산업은 1960년대 [34]후반부터 발전하기 시작했습니다.

Unix (1970년대 ~ 현재)

유닉스는 초기 운영체제로 대중화되었고 매우 영향력이 컸으며 오늘날에도 여전히 존재한다.오늘날 Unix의 가장 인기 있는 변형은 macOS(이전의 OS X 및 Mac OS X)이며, Linux는 Unix와 밀접하게 관련되어 있습니다.

마이크로컴퓨터의 부상

1975년 1월 Micro Instrumentation and Telemetry SystemsAltair 8800 마이크로컴퓨터 키트를 통신판매로 판매하기 시작했습니다.마이크로소프트는 그 해 말에 첫 번째 제품인 Altair BASIC을 출시했고, 취미 생활자들은 이 키트에서 실행할 수 있는 프로그램을 개발하기 시작했다.Tiny BASIC은 Dobb's Journal에 입력 프로그램으로 게재되어 공동 개발되었습니다.

를 들어 1976년 피터 R. 제닝스는 MOS 테크놀로지KIM-1 키트를 위한 마이크로체스 프로그램을 만들었지만 테이프 드라이브가 포함되어 있지 않았기 때문에 그는 소스코드를 작은 책자에 넣어 우편 주문 고객에게 보내서 프로그램 전체를 손으로 타이핑해야 했습니다.1978년, Kathe와 Dan Spracklen은 그들의 Sargon(체스) 프로그램의 소스를 컴퓨터 잡지에 발표했습니다.제닝스는 나중에 종이 테이프를 파는 것으로 전환했고, 결국 그 프로그램이 있는 콤팩트 카세트를 팔았다.

컴퓨터 매거진의 소스 코드를 입력하는 것은 불편하고 느린 프로세스였습니다.또, 잘못 인쇄된 문자 한 개로 인해, 프로그램이 동작하지 않게 되는 일이 있었습니다.그러나 사람들은 여전히 동작하고 있었습니다.(이러한 광학식 문자 인식 테크놀로지는 이론상으로는 h에 의한 문자 변환이 아닌 리스트의 스캔에 사용되었을 가능성이 있습니다.그리고 아직 널리 쓰이지 않았다.)

1980년대에 상업용 소프트웨어의 보급을 위해 카트리지와 카세트 테이프가 보급되어도, 카세트 테이프를 만들어 잡지에 붙이는 것보다 저렴하기 때문에, 무료 프로그램(프로그래밍 기술을 가르치는 것을 목적으로 한 간단한 교육 프로그램 등)이 인쇄되는 경우가 많았다.

그러나, 최종적으로, 다음의 4개의 요소의 조합에 의해서, 컴퓨터 매거진에 있는 프로그램 전체의 완전한 소스 코드 리스트를 인쇄하는 이 관행이 종료되었습니다.

  • 프로그램은 매우 커지기 시작했다.
  • 플로피 디스크는 소프트웨어 배포에 사용되기 시작했고, 그 후 가격이 내려갔다.
  • 일반인들은 컴퓨터를 사용하기 시작했고 프로그램을 쉽게 실행할 수 있는 방법을 원했다.
  • 컴퓨터 잡지는 무료 또는 시험판 소프트웨어가 있는 카세트 테이프 또는 플로피 디스크를 포함하기 시작했다.

매우 빠르게, 상업용 소프트웨어는 불법 복제되기 시작했고, 상업용 소프트웨어 생산자들은 이것에 매우 불만스러워했다.마이크로소프트공동 설립자인 게이츠는 1976년 [35]그의 유명한 취미 활동가들에게 보내는 공개 서신을 통해 소프트웨어 불법복제에 대한 초기 윤리학자였다.

1980년대 ~ 현재

마이크로컴퓨터 이전에는 성공한 소프트웨어 프로그램이 개당 50,000~60,000달러에 1,000대까지 판매되었습니다.1980년대 중반까지 개인용 컴퓨터 소프트웨어는 개당 50~700달러에 수천 권이 팔렸다.Microsoft, MicroPro, Lotus Development와 같은 회사들은 연간 수천만 달러의 [36]매출을 올렸다.그들은 이미 성공한 제품의 [37]현지화 버전으로 유럽 시장을 지배했다.

컴퓨팅 역사에서 중추적인 순간은 IBM 직원 Philip Don Estridge가 1980년대에 발표한 IBM Personal Computer 사양서 발표로, 이는 전세계 데스크톱 및 이후 노트북 시장에서 PC의 우세로 빠르게 이어졌으며, 이는 오늘날까지 이어지고 있습니다.Microsoft는 IBM과 성공적으로 협상을 통해 PC(MS-DOS)용 첫 번째 운영 체제를 개발함으로써 MS-DOS와 그 후속 제품인 Microsoft Windows의 성공을 통해 PC의 성공을 통해 막대한 이익을 얻었습니다.이 협상에서 승리한 것은 마이크로소프트사의 중요한 순간이었다.

자유 오픈 소스 소프트웨어

최근의 동향

앱스토어

모바일 기기용 애플리케이션(휴대폰 및 태블릿)은 최근 몇 년 동안 "앱"으로 불리고 있습니다.애플은 아이폰아이패드 앱 판매를 앱스토어, 즉 수의사 앱을 통해 공급하여 판매되는 모든 유료 앱의 일부를 얻는 것을 선택했다.Apple은 앱 스토어를 우회하는 데 사용할 수 있는 앱(예: Java 또는 Flash 가상 머신)을 허용하지 않습니다.

반면 Android 플랫폼에는 여러 앱스토어가 있으며 사용자는 일반적으로 어떤 앱스토어를 사용할지 선택할 수 있습니다(Google Play에는 호환성이 있거나 루트 장치가 필요합니다).

이 이동은 GNOME 소프트웨어(Linux용), Mac App Store(MacOS용) 및 Windows Store(Windows용)가 설치된 데스크톱 운영 체제에 대해 복제되었습니다.이 모든 플랫폼은 지금까지와 같이 비배타적인 상태로 남아 있습니다.앱스토어 외부에서도 애플리케이션을 설치할 수 있고 다른 앱스토어에서도 설치할 수 있습니다.

특히 iPhone뿐만 아니라 Android에 대한 앱의 폭발적인 인기는 일종의 "골드 러시"로 이어졌으며, 일부 유망한 프로그래머들은 앱을 풍부하게 만들려는 희망으로 상당한 시간을 할애하고 있다.진짜 골드 러시와 마찬가지로, 이 희망적인 기업가들이 모두 성공한 것은 아니다.

소프트웨어 개발의 공식화

컴퓨터 과학 커리큘럼의 개발은 소프트웨어 개발의 개선을 가져왔다.이러한 커리큘럼의 구성 요소는 다음과 같습니다.

  1. 구조화객체 지향 프로그래밍[38]
  2. 데이터 구조[39]
  3. 알고리즘 분석[40]
  4. 정식[41] 언어 및 컴파일러 구성[42]
  5. 컴퓨터 그래픽스 알고리즘[43]
  6. 정렬 및 검색[44]
  7. 수치방식,[45] 최적화 및 통계[46]
  8. 인공지능과[47] 기계학습[48]

소프트웨어가 하드웨어에 미치는 영향

점점 더 많은 프로그램이 펌웨어 영역으로 진입하고 하드웨어 자체가 무어의 법칙에 따라 소형화, 비용 절감, 고속화됨에 따라 소프트웨어에서 최초로 실행되는 컴퓨팅의 기능 유형도 그래픽 처리 장치와 같이 하드웨어 대열에 합류하게 되었습니다.(단, 소프트웨어 모듈이나 마이크로 코드 등 비용이나 기타 이유로 변경이 다른 방향으로 진행되는 경우가 있습니다).

소프트웨어 툴은 프린트 기판(PCB) 엔지니어의 작업을 자동화했기 때문에 오늘날 대부분의 하드웨어 기업은 하드웨어[citation needed] 설계자보다 소프트웨어 프로그래머를 더 많이 고용하고 있습니다.

컴퓨터 소프트웨어 및 프로그래밍 언어 타임라인

다음 표는 컴퓨터 소프트웨어의 다양한 측면에 대한 연도별 개발을 포함하고 있습니다.다음은 예를 제시하겠습니다.

  1. 고급 언어[49][50]
  2. 운영 체제[51]
  3. 네트워킹 소프트웨어 및 응용[52] 프로그램
  4. 컴퓨터 그래픽스 하드웨어, 알고리즘 및 응용[53][54] 프로그램
  5. 스프레드시트
  6. 워드프로세서
  7. 컴퓨터 지원 설계[55]

1971–1974

1971 1972 1973 1974
프로그래밍
언어들
CDL
KRL
고소하다
C
인터칼
PL/M
프롤로그
스몰토크
SQL
코마
LIS
ML
Speakasy-3
베이직 포
클루
잔디
산문
운영하는
시스템들
DEC RSTS-11 데이터 일반
RDOS
소비에트 알골 68 DEC DOS-11
컴퓨터.
네트워크
워즈니악스
블루 박스
Bob Metcalfe 개발
이더넷
컴퓨터.
그래픽스
Newell & Sancha 표시
표면 알고리즘
Catmull & Straber
z자극이 생기다
CAD/CAM MCS 설립 아담 자동 드래프트 테크트로닉스 4014

1975–1978

1975 1976 1977 1978
프로그래밍
언어들
ABC
알테어 BASIC
CS-4
모듈라
스킴
메사
플러스
랫포
S
SAM76
SAS
스몰톡-76
파랑색
본 셸
코모도어 BASIC
FP
아이콘
IDL
빨간.
표준 유행성 이하선염
노란 색
IDL
C 쉘
HAL/S
매트랩
RPG III
작은.
VisiCalc
SQL
운영하는
시스템들
CP/M 케임브리지 CAP 1BSD 2BSD
Apple DOS
컴퓨터.
네트워크
텔레넷 패킷
전환
컴퓨터.
그래픽스
EDS 설립 안티앨리어싱
단어
프로세서
일렉트릭 펜슬 AppleWriter
CAD/CAM 솔리드 모델링 맥도널 더글러스
단음문 구입
CATIA의 선구자 래스터 그래픽스 디스플레이

1979–1982

1979 1980 1981 1982
프로그래밍
언어들
AWK
아이콘
모듈라-2
REXX
벌컨 dBase-II
에이다 80
클래스가 있는 C
CBASIC
BBC 베이직
IBM BASICA
드라코
포스트 스크립트
Speakasy-IV
운영하는
시스템들
아타리 DOS 86-DOS MS-DOS 1
아콘 MOS
코모도어 DOS
컴퓨터.
네트워크
유저넷 TCP/IP
컴퓨터.
그래픽스
실리콘 그래픽스
설립.
단어
프로세서
워드스타 워드퍼펙트
DG Mini용
뱅크 스트리트
애플라이터 II

WordStar 3.0
DOS용 WordPerfect

스프레드시트 VisiCalc Lotus 1-2-3
CAD/CAM IGES VersaCAD Dassault 시스템 오토데스크 설립

1983–1986

1983 1984 1985 1986
프로그래밍
언어들
ABAP
아다 83
C++
GW 베이직
콘셸
목표-C
발생하다
진정한 BASIC
터보 파스칼
클리퍼
일반적인 리스프
굿 올드 매드(GOM)
OPL
레드코드
RPL
표준 ML
매트랩
패러독스
QuickBASIC
보정
에펠
GFA 베이직
인포믹스-4GL
랩뷰
미란다
오브젝트 파스칼
프롬
운영하는
시스템들
MS-DOS 2
리사 오피스
SunOS 1
MS-DOS 3
시스템 소프트웨어
Windows 1.0
아타리 TOS
아미가OS
AIX 1
컴퓨터.
네트워크
ARPANET 분할
오프 밀넷
Novell NetWare
Research In Motion 설립
NSFNET 접속
5 슈퍼컴퓨터
컴퓨터.
그래픽스
ATI 설립 인텔 82786
코프로세서
단어
프로세서
DOS용 워드 1 Mac용 워드 1 WordPerfect 4.2
DOS용
스프레드시트 Mac용 Excel
CAD/CAM 오토데스크 릴리즈
AutoCAD 1.2, 1.3, 1.4
AutoCAD 2 벤틀리 시스템즈
파라메트릭 테크놀로지
자동 LISP

1987–1990

1987 1988 1989 1990
프로그래밍
언어들
Ada ISO 8652
깨끗한
얼랑
하이퍼토크
매스매티카
오베론
occam 2

자신
터보 베이직
A+
해밀턴 C 셸
오브젝트 REXX
옥타브
RPG/400
스파크
STOS 베이직
TCL
매스매티카
배쉬
LPC
모듈라-3
PowerBASIC
터보 파스칼 OOP
VisSim
FL
AMOS 베이직
앰프
EuLisp
하스켈
J
오브젝트 오베론
Z 쉘
운영하는
시스템들
Windows 2.0 MS-DOS 4
Windows 2.1x
OS/2
A/UX
EPCO Windows 3.0
컴퓨터.
네트워크
모리스벌레 월드 와이드 웹
기동하다
HTML
컴퓨터.
그래픽스
JPEGGIF 픽사의 양철 장난감
오스카 수상
AutoDesk 3D Studio
단어
프로세서
Microsoft의 DOS용 기능 PC 매거진 리뷰
55 패키지
WordPerfect 5.1
Word for Windows
Microsoft Office for Windows
스프레드시트 Windows용 Excel 콰트로 프로
CAD/CAM Deneba 릴리즈
캔버스 X
AutoCAD 9
CATIA 3
AutoCAD 10
파라메트릭 T-Flex 비전 설계 시스템 설립
AutoCAD 11
ACIS 1

1991–1994

1991 1992 1993 1994
프로그래밍
언어들
GNU E
오베론-2
오즈
Q
비주얼 베이직
파이썬
터보 파스칼
딜런
루비
애플 스크립트
브레인 fuck
K
루아
뉴턴스크립트
R
성적표
자신
ZPL
닫히다
ANS 포스
ANSI 공통 리스프
클레어.
파이크
고속
운영하는
시스템들
MS-DOS 5
리눅스
Windows 3.1x
386BSD
MS-DOS 6
뉴턴 OS
솔라리스
AIX 4.0, 4.1
컴퓨터.
네트워크
모자이크 웹 브라우저 넷웨어 4 Netscape 내비게이터
컴퓨터.
그래픽스
오픈GL Nvidia가 설립
단어
프로세서
Microsoft 웍스 Novell, WordPerfect 인수
CAD/CAM EDS 구매
단음문자
CADAM 및 CATIA
통일을 시작하다
AutoCAD 12 심플 벡터
포맷

1995–1998

1995 1996 1997 1998
프로그래밍
언어들
에이다 95
콜드퓨전
델파이
자바
자바스크립트
라이브 스크립트
PHP
루비

라소
넷렉스
OCaml
Perl 데이터 언어
웹 DNA
컴포넌트 파스칼
E
ECMAScript
F-스크립트
ISLISP
피코
리볼
스퀵 스몰톡

리볼
M2001
오픈 소스 Erlang
픽트
Pure Basic
리얼 베이직
표준 C++
언리얼 스크립트
운영하는
시스템들
윈도 95
디지털 UNIX
Windows NT 4.0
팜 OS
지옥
Mac OS 7.6
Mac OS 8
윈도 98
Solaris 7 64비트
컴퓨터.
네트워크
연구 제안서

구글이 만들어졌기 때문입니다.

모자이크 웹 브라우저
인터 @ctive 호출기
넷웨어 4 Netscape 내비게이터
컴퓨터.
그래픽스
픽사가 상장하다
토이스토리 이후
3Dfx 부두 ATI Rage Pro 부두 반시
단어
프로세서
Word 95 for Windows Corel이 WordPerfect를 인수하다
Novell에서
CAD/CAM MicroStation 어드밴스드
솔리드 모델링
캔버스 5 ISO 13567
AutoCAD 14
Dassault Systems 구매
Matra Datavision 제품

1999–2002

1999 2000 2001 2002
프로그래밍
언어들
D
GameMaker 언어
하버
XSLT
액션 스크립트
C#
페라이트
자바 가입
즐거움
XL
Visual Basic.그물
애스펙트 J
GDScript
처리.
RPG IV
고수
이오
운영하는
시스템들
Mac OS X Server 1.0
Mac OS 9
윈도 2000
Windows Me
Mac OS X 공개 베타판
v10.0 치타
v10.1 푸마
윈도 XP
Windows XP 64비트판
10.2 재규어
컴퓨터.
네트워크
BlackBerry 850 넷웨어 4 Netscape 내비게이터
컴퓨터.
그래픽스
S3 새비지 4
지포스 256
Radeon DDR (R100) Nvidia Kyro II
지포스 3
단어
프로세서
태양은 스타 디비전을 인수
CAD/CAM Pro/Engineer 2000 AutoCAD 2000 EDS가 SDRC를 구입하다 단음문 NX
오토데스크가 Revit을 인수하다

2003–2006

2003 2004 2005 2006
프로그래밍
언어들
요인
네메루
스칼라
다람쥐
알마-0
부우
프리베이직
그루비
리틀 b
서브텍스트
아다 2005
F#
시드7
코브라
링크
OptimJ
Windows PowerShell
운영하는
시스템들
v10.3 팬더
레드햇
엔터프라이즈 리눅스
Windows Server 2003
v10.4 타이거
우분투 5
Windows XP Professional x64 Edition
컴퓨터.
네트워크
802.11g
애플 사파리
지메일
페이스북 설립
모질라 파이어폭스
블랙베리 펄 8100

2007–2010

2007 2008 2009 2010
프로그래밍
언어들
클로쥬르
판텀
포트리스
롤코드
오베론-07
바라
지니
순수하다
커피 스크립트
가세요
이드리스
파라세일
예배당
RPG 오픈 액세스
운영하는
시스템들
윈도 비스타
v10.5 레오파드
안드로이드 윈도 7
v10.6 눈표범
Android 1.5 "컵케이크"
Android 1.6 "Donut"
안드로이드 2.0–2.1 "Eclair"
Android 2.2 "Froyo"
안드로이드 2.3 진저브레드
컴퓨터.
네트워크
구글 크롬
크롬
Wi-Fi 802.11n
컴퓨터.
그래픽스
어쌔신 크리드 업클로스
시뮬레이션
아바타가 이기다
"최고의 작품"
단어
프로세서
Oracle 구매
Sun의 Open Office
Oracle이 OpenOffice를 출시하다
Apache Software Foundation으로 전송
CAD/CAM Siemens, UGS 인수

2011–2014

2011 2012 2013 2014
프로그래밍
언어들
다트 아다 2012
엘릭시르
줄리아.
타입 스크립트

Cry Engine #Cry Engine 3 (BeamNG.drive)

조조 해킹
재빠르다
운영하는
시스템들
v10.7 Lion
Android 3.x "허니콤"
Android 4.0 '아이스크림 샌드위치'
윈도 8
v10.8 마운틴 라이온
안드로이드 4.1.x~4.2.x "젤리빈"
v10.9 Mavericks
윈도 8.1
안드로이드 4.3 젤리빈
Android 4.4 "킷캣"
v10.10 요세미티
Android 5.0 "롤리팝"
컴퓨터.
네트워크
802.11ac
컴퓨터.
그래픽스
휴고 오스카 수상
시각 효과
CryEngine3 및 그 3D 소프트바디 물리

「 」를 참조해 주세요.

레퍼런스

  1. ^ Ancient Discoveries, Episode 11: Ancient Robots, History Channel, archived from the original on March 1, 2014, retrieved 2008-09-06
  2. ^ a b 에반스 2018, 페이지 21
  3. ^ Hally, Mike (2005). Electronic brains/Stories from the dawn of the computer age. London: British Broadcasting Corporation and Granta Books. p. 79. ISBN 1-86207-663-4.
  4. ^ 에반스 2018, 페이지 39
  5. ^ 1999년 라이트, 페이지 469
  6. ^ 1999년 라이트, 페이지 470
  7. ^ 1999년 라이트 472쪽
  8. ^ 1999년 라이트 473쪽
  9. ^ 에반스 2018, 페이지 51
  10. ^ Connolly, Cornelia; Hall, Tony; Lenaghan, Jim (2018-01-10). "The women who led the way in computer programming". RTE.ie. Retrieved 2018-11-25.
  11. ^ Smith 2013, 페이지 6
  12. ^ a b Smith 2013, 페이지 7
  13. ^ a b c 귀러 1995, 페이지 176
  14. ^ Ceruzi 1998, 84-85페이지
  15. ^ a b c 귀러 1995, 177페이지
  16. ^ "Frances Holberton, Pioneer in Computer Languages, Dies". The Courier-Journal. December 12, 2001. Retrieved November 24, 2018 – via Newspapers.com.
  17. ^ Jean E. Sammet(1969년.프로그래밍 언어: 역사와 기초, 프렌티스 홀, 뉴저지, 잉글우드 클리프스
  18. ^ R.W. 베머(1969년).알골의 정치-사회사, 자동 프로그래밍 연차 리뷰, 페이지 151-237.옥스퍼드 퍼가몬 프레스입니다
  19. ^ 세루지 1998, 페이지 92
  20. ^ a b c 귀러 1995, 페이지 179
  21. ^ "Computer Authority to Speak Here". The Times. April 9, 1972. Retrieved October 13, 2018 – via Newspapers.com.
  22. ^ a b c d e f g h i Harvey IV, Harry Gould (13 October 2015). "Her Code Got Humans on the Moon—And Invented Software Itself". WIRED. Retrieved 2018-11-25.
  23. ^ various (October 14, 2019). "The Lines of Code That Changed Everything; Apollo 11, the JPEG, the first pop-up ad, and 33 other bits of software that have transformed our world". slate.com. Retrieved October 17, 2019.{{cite web}}: CS1 maint: 작성자 파라미터 사용(링크)
  24. ^ a b c d 민델 2008, 페이지 149
  25. ^ "Margaret Hamilton". Computer History Museum. Retrieved 2018-11-25.
  26. ^ "Meet Margaret Hamilton, the scientist who gave us "software engineering"". IEEE Software Magazine IEEE Computer Society. 2018-06-08. Retrieved 2018-11-25.
  27. ^ a b c d 민델 2008, 페이지 154
  28. ^ 민델 2008, 페이지 157
  29. ^ 민델 2008, 페이지 160
  30. ^ G. David Garson (January 2006). Public Information Technology and E-governance: Managing the Virtual State. Jones & Bartlett Learning. pp. 229–. ISBN 978-0-7637-3468-8.
  31. ^ "Tying Arrangements and the Computer Industry: Digidyne Corp. vs. Data General". JSTOR 1372482. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  32. ^ 블랙문 판사가 합류한 화이트 판사가 반대합니다.
  33. ^ "Archived copy" (PDF). Archived from the original (PDF) on 2017-01-01. Retrieved 2016-12-31.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  34. ^ Ensmenger, Nathan (2010). The Computer Boys Take Over. p. 55. ISBN 978-0-262-05093-7.
  35. ^ Brad Lockwood (13 October 2008). Bill Gates: Profile of a Digital Entrepreneur: Easyread Super Large 18pt Edition. ReadHowYouWant.com. pp. 25–. ISBN 978-1-4270-9149-9.
  36. ^ Caruso, Denise (1984-04-02). "Company Strategies Boomerang". InfoWorld. pp. 80–83. Retrieved 10 February 2015.
  37. ^ Schrage, Michael (1985-02-17). "IBM Wins Dominance in European Computer Market". Washington Post. ISSN 0190-8286. Retrieved 2018-08-29.
  38. ^ 부치, 그래디(1997).응용 프로그램을 사용한 객체 지향 분석 및 설계애디슨 웨슬리.
  39. ^ 피터 브라스.(2008) Advanced Data Structures, Cambridge University Press
  40. ^ 코먼, 토마스 H;Leiserson, Charles E.; Rivest, Ronald L. & Stein, Clifford.(2001) 알고리즘 입문, MIT 프레스 및 McGraw-Hill.
  41. ^ 홉크로프트, E., 제프리 D. Ulman, (1979) 오토마타 이론, 언어 계산 입문
  42. ^ 아호, 알프레드 5세, 세티, 라비, 울만, 제프리 D.(1988)컴파일러: 원칙, 기술 도구.애디슨 웨슬리.
  43. ^ 셜리, 피터(2009) 컴퓨터 그래픽스의 기초– 제3판
  44. ^ Knuth, Donald. (1998) 컴퓨터 프로그래밍 기술: 제3권: 정렬과 검색
  45. ^ 언론, 윌리엄 H., 사울 A. 튜콜스키, 윌리엄 T. 베터링, 브라이언 P. 플래너리.(2007) 수치 레시피 제3판: 과학 컴퓨팅의 기술
  46. ^ 남작, 마이클(2006) 컴퓨터 사이언티스트의 확률과 통계
  47. ^ Russell, Stuart J. 및 Peter Norvig(2009) 인공지능: 모던 어프로치 (제3판)
  48. ^ 미첼, 톰 기계학습(1997년)
  49. ^ Aaby, Anthony (2004).프로그래밍 언어 소개
  50. ^ Wexelblat, 리차드 L.프로그래밍 언어의 역사
  51. ^ 스톨링(2005년).운영체제, 내부설계원칙.피어슨
  52. ^ Kurose, James; Ross, Keith(2005).컴퓨터 네트워킹: 하향식 접근법.피어슨.
  53. ^ Wayne Carlson (2003) 컴퓨터 그래픽과 애니메이션의 중요한 역사
  54. ^ 퍼거슨, R. 스튜어트(2013) 3D 컴퓨터 그래픽스를 위한 실용적인 알고리즘
  55. ^ 나라얀, K. 랄릿(2008)컴퓨터 지원 설계제조프렌티스 홀

원천

외부 링크