less than 1 minute read

소프트웨어 아키텍치는 코드code로부터 시작한다. 따라서 아키텍처에 대한 논의도 코드가 최초로 작성된 시점부터, 우리가 코드를 통해 배운 내용을 살펴보는 데서 출발하고자 한다.

1945년경에 튜링은 사람이 식별할 수 있는 형태(눈을 아주 찡그리고 자세히 살펴본다면)의 실질적인 프로그램을 실제 컴퓨터에서 코드로 작성했다. 이들 프로그램은 반복문, 분기문, 할당문, 서브루틴Subroutine, 스택stack 등 우리에게 익숙한 구조를 사용했다. 그리고 바이너리 언어를 사용했다.

이때 이후로 프로그래밍에는 수많은 혁신적인 변화가 이뤄졌다. 1940년대 후반 어셈블러assembler가 처음으로 등장했다. 이 ‘언어’의 등장으로, 바이너리 코드로 프로그램을 작성해야 했던 프로그래머의 단조롭고 고된 일이 줄어들었다. 1951년 그레이스 호퍼Grace Hoper는 최초의 컴파일러인 AO를 발명했다. 사실 컴파일러compiler라는 용어도 그레이스가 처음으로 만들었다. 포트란Fortran은 1953년에 발명되었다(내가 태어난 해이기도 하다). 이처럼 새로운 프로그래밍 언어는 쉴 틈 없이 홍수처럼 쏟아졌다. 코볼COBOL, PL/1, SNOBOL, C, 파스칼rascal, C++, 자바Java 등 셀 수 없을 정도다.

또 다른, 아마도 더 중요한 혁신적인 변화가 프로그래밍 패러다임 paradigm에도 몰아쳤다. 패러다임이란 프로그래밍을 하는 방법으로, 대체로 언어에는 독립적이다. 패러다임은 어떤 프로그래밍 구조를 사용할지, 그리고 언제 이 구조를 사용해야 하는지를 결정한다. 현재까지 이러한 패러다임에는 세가지 종류가 있다.

Source File: 2-0.md

Updated:

Comments