프로그래밍 언어와 역사 서상 우
목차 1950년 ( 어셈블리 ) 1950년대 ( 포트란, 알골, 코볼 ) 1970년대 ( C, 파스칼 ) 1950년 ( 어셈블리 ) 1950년대 ( 포트란, 알골, 코볼 ) 1970년대 ( C, 파스칼 ) 1980년대 ( C++ ) 1990년대 ( Java, C# )
1950년 ( 어셈블리 언어 ) 1950년대 컴퓨터가 상업화 되면서, 복잡한 기계어 대신 어셈블리 언어(assembly language)라고 하는 대체 언어를 사용하게 되었다.
특징 어셈블리 언어는 어려운 기계어의 코드를 move, jump, branch등과 같은 쉬운 명령어로 나타낸 것이 다. 기계어와 어셈블리 언어는 기계 의존적이며 자연 언 어와는 차이가 나는 구문을 사용했기 때문에 저급언 어(low level language)라 불린다.
1950년대 (포트란, 알골, 코볼) FORTRAN I(1957) 최초의 대중 컴퓨터 언어. FORTRAN은 수식(Formular) 변환기(Translator) 의 약자
특징 구성요소는 단순, 프로그래머는 간단하게 프로그래 밍할 수 있게 되었다. 오늘날 언어에서 사용되고 있 는 데이터 형식들도 FORTRAN에서 시작되었다. FORTRAN의 어셈블리 언어 개발자들은 최초로 성 공적인 고급 언어를 만들었으며 매우 효율적인 코드 를 생산해 내는 최적화 컴파일러도 만들었다. 호환성이 좋다는점에서 FORTRAN은 어셈블리언 어를 누르고, 과학 및 방위 산업 연관 단체에 채용되 는 등 우주 항공 프로그램과 방위산업 프로젝트들에 서 광범위하게 사용 되었다.
ALGOL58 (1958) 알골(ALGOL) 은 미국에서 만들어진 포트란에 대항 하여 유럽을 중심으로 개발된 프로그래밍 언어이다. ALGOrithmic Language 를 줄여 붙여진 이름으로 알고리즘의 연구개발에 이용하기 위한 목적으로 만 들어졌다. 1958년 취리히에서 열린 국제회의에서 제안된 것이 그 기원으로 여겨진다. (이 언어는 후에 ALGOL 58 로 불리게 되지만, 당초의 이름은 IAL이었다.) 파스칼, C 언어 등 이후 언어의 발전에 큰 영향을 주 었다.
COBOL (1959) COBOL은 Common Business Oriented Language 상업 지향적 보통 언어의 약자이며, 영업 및 업무 중 심의 언어이다.
특징 1950년대 사무처리 언어가 개발업체마다 달라서 문 제가 있었다. 이러한 것을 인식한 미국 국방부에서 사무처리 언어의 통일을 위해 사무처리에 대한 언어 발달 모형이 제시되고 CODASYL ( 데이터 시스템즈 언어 협의회)가 설립되었다. 이러한 배경하에 1959년에 개발된 일반 사무처리 언 어가 코볼이다. 코볼보다 먼저 개발된 포트란(FORTRAN)은 주로 과학기술계산용인 반면 비슷한 시기에 탄생된 코볼 은 대량 데이터 처리를 위한 업무처리 및 관리 분야 용으로 자리잡게 된다.
특징 코볼은 제3세대 프로그래밍 언어이고, 가장 오래되 었으면서 지금도 쓰이는 언어의 하나이다. 90년대 중반까지 한국의 대부분의 은행에서 관리하던 프로 그램들은 코볼로 만들어졌다. 장점은 호환성이 많고 FILE관리가 쉽고, 영어형식 으로 이해하기 쉽고, 프로그램 편집이 쉽다.
1970년대 (C, 파스칼) C(1971) C 언어는 1972년 켄 톰슨과 데니스 리치가 벨 연구 소에서 일할 당시 유닉스 운영 체제에서 사용하기 위 해 개발한 프로그래밍 언어이다.
특징 켄 톰슨은 BCPL언어를 필요에 맞추어 개조해서 "B" 언어 라 명명했고, 데니스 리치가 이것을 개선하여 C 언어가 탄생했다. 원래 유닉스는 어셈블리로는 이식성이 낮았다. 그래 서 이식성도 좋고 익히기도 쉬운 언어인 C언어로 다 시 프로그래밍 하게 된다. C++은 C에서 객체 지향형 언어로 발전된 것이다. 또 다른 다양한 최신 언어들도 그 뿌리를 C에 두고 있 다.
파스칼(1969) 파스칼은 1969년에 스위스 ETH 취리히의 컴퓨터 과학자 니클라우스 비르트가 개발하였다. 파스칼이라는 이름은 프랑스의 수학자이자 철학자 블레즈 파스칼의 이름을 딴 것이다.
특징 포인터를 사용한 구조적 프로그래밍을 그 특징으로 한다. 포인터를 사용한 구조적 프로그래밍을 그 특징으로 한다. 알골 60의 영향을 받았기 때문에, 같은 시기에 제작 된 C와 여러가지 면에서 유사한 점을 갖는다. 코드를 간결하게 하고 버그를 더 쉽게 잡아내기 위한 목적으로 몇가지 기능을 제한함으로써 결과적으로 C 언어에 비해 활용도가 떨어지는 언어가 되었다. 현재는 초기의 파스칼에 비해 많은 부분이 추가, 개 선되고 상용 파스칼 컴파일러인 델파이는 C++과 거 의 기능 차이가 없다.
1980년대 (C++) C++(1983) C++은 AT&T 벨 연구소의 비야네 스트롭스트룹이 1983 년 발표하여 발전한 프로그래밍 언어이다. C 언어의 문법 을 대부분 사용할 수 있으며, 객체지향성이 더해진 C 언 어의 확장형이라고 생각할 수도 있다. 원래 이름은 C with Classes였으나, 증가 연산자를 도입 하면서 1984년에 C++로 이름이 변경되었다.
특징 초기의 C++은 C 위에 놓인 트랜스레이터로 구현되 었다. 즉, C++ 프로그램을 일단 C 프로그램으 로 변환하고 나서 C 컴파일러로 컴파일하는 식이었 고 따라서 C 언어에 대해 상위 호환성을 갖는 언어였 다. 현재 C 언어와 C++와의 사이에는 엄격한 호환성은 없다. 특히 C99의 출현으로 C 언어와의 호환성은 완전하게 없어졌다. 현재는 C와 C++가 명확한 구별 없이 혼재되어 사용 되는 컴파일러가 대부분이다.
1990년대 ( Java, C# ) Java(1995) Java는 썬 마이크로시스템즈의 제임스 고슬링 과 다 른 연구원들이 개발한 객체 지향적 프로그래밍 언어 이다. 고슬링의 목표는 C/C++ 스타일의 언어와 가상 머신 을 구현하는 것이었다.
특징 1991년 그린 프로젝트라는 이름으로 시작해 1995년에 발표했다. 1991년 그린 프로젝트라는 이름으로 시작해 1995년에 발표했다. 자바 언어는 1991년 6월 셋톱 프로젝트를 위해 만들었다. 원래 사무실 밖에 있던 오크 나무를 따다 오크, 혹은 그린 이라고도 불렀으나, 단어 리스트 중 무작위로 뽑은 자바 (Java)를 선택했다. 자바의 개발자들은 유닉스 기반의 배경을 가지고 있었기 때문에 문법적인 특성은 파스칼이 아닌 C 언어와 비슷하 다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위 해 개발했지만 현재 웹 애플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나이고, 모바일 기기용 소프트웨 어 개발에도 널리 사용하고 있다.
C# (2001) C#은 마이크로소프트에서 개발한 객체 지향 프로그 래밍 언어로, 닷넷 프레임워크의 한 부분으로 만들었 으며 나중에 ECMA 와 ISO의 표준으로 자리잡았다. 닷넷 프레임워크는 마이크로소프트에서 개발한 윈 도 프로그램 개발 및 실행 환경이다
특징 2000년에 마이크로소프트, 휴렛 팩커드, 인텔은 C# 과 공통 언어 기반(CLI)를 ECMA 국제 표준으로 등 록하기 위한 작업을 준비하였다. 2001년 12월에 ECMA는 C# 언어를 ECMA-334 표 준으로 발표하였고 2003년에는 ISO/IEC 23270 표 준으로도 등록되었다. C#은 그 문법적인 특성이 자바와 상당히 유사하며 C#을 통하여 다룰 수 있는 닷넷 플랫폼의 기술들조 차도 자바를 염두에 둔 것이 많아서 자바와 많이 비 교되고 있다. 끝