480 likes | 1.75k Views
프로그래밍 언어와 역사. 서상우. 목차. 1950 년 ( 어셈블리 ) 1950 년대 ( 포트란 , 알골 , 코볼 ) 1970 년대 ( C , 파스칼 ) 1980 년대 ( C++ ) 1990 년대 ( Java , C# ). 1950 년 ( 어셈블리 언어 ). 1950 년대 컴퓨터가 상업화 되면서 , 복잡한 기계어 대신 어셈블리 언어 (assembly language) 라고 하는 대체 언어를 사용 하게 되었다. 특징.
E N D
프로그래밍 언어와 역사 서상우
목차 • 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) 은 미국에서 만들어진 포트란에 대항하여 유럽을 중심으로 개발된 프로그래밍 언어이다. • ALGOrithmicLanguage 를 줄여 붙여진 이름으로 알고리즘의 연구개발에 이용하기 위한 목적으로 만들어졌다. • 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년 6월 셋톱 프로젝트를 위해 만들었다. 원래사무실 밖에 있던 오크 나무를 따다 오크, 혹은 그린이라고도 불렀으나, 단어 리스트 중 무작위로 뽑은 자바(Java)를 선택했다. • 자바의 개발자들은유닉스기반의 배경을 가지고 있었기 때문에 문법적인 특성은 파스칼이 아닌 C 언어와 비슷하다. • 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발했지만 현재 웹 애플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나이고, 모바일 기기용 소프트웨어 개발에도 널리 사용하고 있다.
C# (2001) • C#은 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어로, 닷넷 프레임워크의 한 부분으로 만들었으며 나중에 ECMA와 ISO의 표준으로 자리잡았다. • 닷넷 프레임워크는 마이크로소프트에서 개발한 윈도 프로그램 개발 및 실행 환경이다
특징 • 2000년에 마이크로소프트, 휴렛팩커드, 인텔은 C#과 공통 언어 기반(CLI)를 ECMA 국제 표준으로 등록하기 위한 작업을 준비하였다. • 2001년 12월에 ECMA는 C# 언어를 ECMA-334 표준으로 발표하였고 2003년에는 ISO/IEC 23270표준으로도 등록되었다. • C#은 그 문법적인 특성이 자바와 상당히 유사하며 C#을 통하여 다룰 수 있는 닷넷 플랫폼의 기술들조차도 자바를 염두에 둔 것이 많아서 자바와 많이 비교되고 있다. 끝