다양한 프로그래밍 언어(2)
본문 바로가기
컴퓨터공학

다양한 프로그래밍 언어(2)

by 데이젤리 2022. 7. 14.
반응형

 지난 포스팅에서는 1950년도부터 1960년도에 개발된 다양한 프로그래밍 언어들이 개발된 순서와 간단한 특징들을 알아보았습니다.

오늘은  1970년대 이후에 개발된 대표적인 프로그래밍 언어와 비주얼 프로그래밍 언어들의 특징을 정리하고 알아보도록 하겠습니다.

 

 

먼저 1970년대 이후에 개발된 대표적인 프로그래밍 언어들을 정리해 보도록 하겠습니다.

1970년대 이후 개발된 프로그래밍 언어에는 파스칼, C++, 파이썬, 자바(JAVA), 코틀린(Kotlin)이 있습니다. 순서대로 차근차근 정리해 보도록 하겠습니다.

 

1) 파스칼

 

1971년에 개발된 파스칼은 프랑스의 수학자 파스칼(Pascal)의 이름에서 따온 프로그래밍 언어입니다.

파스칼은 스위스 취리히 공과대학교의 니클라우스 비르트 교수에 의해 개발된 프로그래밍 언어입니다. 

프로그램을 작성하는 방법인 알고리즘 학습에 적합하도록 개발되었습니다.

 

파스칼은 알골(Algol)을 기반으로 해서 초보자들이 프로그램의 문법적 에러를 줄일 수 있도록 매우 엄격한 문법을 가진 프로그래밍 언어입니다.

비교적 자유로운 구조를 가질 수 있는 다른 프로그래밍 언어와는 다르게 구조적인 프로그래밍이 가능하도록 being ~ end의 블록 구조가 설계되어 있습니다. 

또 알고리즘의 실험이나 프로그램을 연습할 수 있는 모든 명령어가 갖추어져 있습니다. 

 

1980년에서 1990년대까지 대부분의 대학에서 프로그래밍 언어의 교과과정으로 파스칼을 채택하였을 정도로 인기가 높았습니다. 

'애플'은 1980년 초에 파스칼 문법에 객체지향 기능을 추가시킨 오브젝트 파스칼 (Object Pascal)을 만들었습니다.

1980년대에는 '볼랜드'에서 파스칼을 발전시켜 터보 파스칼(Turbo Pascal)이라는 제품을 상용화하였습니다.

또 1990년 중반에 '마이크로소프트'는 비주얼 베이직과 유사한 오브젝트 파스칼 언어를 기반으로 하며,

동시에 그래픽 사용자 인터페이스를 적용한 윈도우 환경의 RAD 통합개발환경인 델파이(Delphi)를 출시하여 현재까지도 널리 이용되고 있습니다.

 

2) C++

 

 1972년에 C 언어가 개발되었으며, 이는 1983년에 프로그램 언어 C++로 발전하였습니다. 

C++는 객체지향 프로그래밍(OOP)을 지원하기 위해서 C 언어가 가지는 장점을 그대로 계승하였습니다. 

그리고 동시에 객체의 상속성(inheritance) 등의 개념을 추가한 효과적인 언어로, AT&T의 비야네 스트롭스트룹이 개발하였습니다. 

 

C++이 개발된 당시의 C 언어는 시스템 프로그래밍 능력을 인정받아 이미 많은 프로그래머가 사용하고 있었습니다.

C++가 C와 비슷한 문법을 사용하기에 C 언어를 사용하는 것에 이미 익숙해진 프로그래머들은 C++를 쉽게 배울 수 있다는 장점을 가지게 되었습니다. 

 

개발자인 바야네는 C++의 이름을 C 다음에 나온 언어라는 의미로 D로 할지, BCPL에서 BC 다음에 P로 할지 고민하였습니다. 

그러다가 C 다음에 나온 언어라는 의미로 'C++'라고 이름을 붙였다고 합니다.

C++는 C 언어의 확장이라고 볼 수 있어 기존에 있던 C 언어로 개발된 모든 프로그램들을 수정 없이 그대로 사용할 수 있었습니다. 

 

 

3) 파이썬(Python)

 

세 번째로 알아볼 언어인 파이썬은 현재 미국과 우리나라의 대학 등 전 세계적으로 가장 많이 가르치고 있는 프로그래밍 언어 중 하나입니다. 

특히나 비전공자들의 컴퓨팅 사고력을 키우기 위한 프로그래밍 언어로도 널리 활용되고 있습니다.

파이썬은 웹 및 데스크톱 분야의 개발뿐만 아니라 실무에서도 그 사용이 증가하는 추세를 보입니다.

프로그래밍 관련 질의응답 허브 사이트에서는 사용자의 통신량을 기반으로 조사하였을 때 파이썬의 인기가 더욱 증가할 것이라 예측하였습니다. 

 

파이썬은 1991년 귀도 반 로섬(Guido van rossum)이 개발한 객체지향 프로그래밍 언어입니다. 

베이직과 같이 인터프리터로 실행된다는 특징이 있습니다. 

파이썬은 비영리의 파이썬 소프트웨어 재단이 관리하는 개방형, 공동체 기반 개발 모델을 가지고 있습니다.

이는 배우기 쉽고, 간결하면서도 개발 속도가 빠르기 때문입니다. 

또 파이썬은 풍부한 라이브러리와 다양한 개발 환경을 제공하고 있어 개발자가 쉽고 빠르게 소프트웨어의 개발을 할 수 있도록 합니다.

 

C와 C++ 와 같은 컴파일 언어는 소스를 컴파일하여 기계어로 변환한 후 실행이 됩니다.

그러나 파이썬이나 베이직처럼 인터프리터 방식인 언어는 인터프리터가 한 줄씩 읽어 들여 문법을 확인한 후 문법상의 문제가 없다면 바로 실행하게 됩니다.

그렇지만 인터프리터 방식의 언어의 단점도 존재합니다.

인터프리터 방식 언어의 단점은 인터프리터를 거쳐야 하므로 상대적으로 실행 속도가 느리다는 점입니다. 

 

 

4) 자바(JAVA)

 

자바는 1995년에 공식적으로 발표되었으며, C++을 기반으로 하여 만들어진 객체지향 프로그래밍 언어입니다. 

자바는 1990년 초 미국의 '선 마이크로시스템즈'에서 가전제품을 제어하기 위해 만든 언어에서 비롯되었습니다. 

 

선 마이크로시스템즈사는 1992년 양방향 TV를 만드는 제어 박스의 개발을 위해 그린 프로젝트를 시작하였습니다. 

이 프로젝트의 책임자였던 제임스 고슬링은 내부에서 개발된 오크(oak)라는 언어를 발전시켜서 자바라는 범용적인 프로그래밍 언어를 개발하였습니다. 

 

선 마이크로시스템즈사는 오라클사에 합병되었기에 현재 자바는 오라클 기술이 되었습니다.

자바의 개발환경인 JDK는 현재까지도 계속해서 발표되고 있습니다.

자바는 안드로이드 기반 스마트폰의 개발 언어로서 여러 정보기술 분야에서 사용되는 프로그래밍 언어로 발전하였습니다.

 

 

5) 틀린(Kotlin)

 

코틀린은 제트브레인즈에서 자바 가상 기계와 안드로이드를 위해 2011년에 공개한 객체지향 프로그래밍 언어입니다. 

제트브레인즈는 자바 통합개발환경인 인텔리 제이 아이디어를 만든 개발회사입니다. 

구글2017년에 안드로이드 앱의 개발 공식 언어로서 코틀린을 채택했습니다. 

 

코틀린의 문법은 읽고 쓰기가 매우 간결하고 간편합니다. 

코틀린은 언어와의 상호 운용이 모두 지원되며, 자바 가상 기계 기반에서 자바 바이트코드를 생성해 실행되는 것이 기본이지만, 모든 자바 기반 프레임 워크와 완전히 호환되며 자체 컴파일러를 사용하여 기계어로 컴파일해 직접 실행도 가능합니다. 

 

 

마지막으로 프로그래밍에 익숙하지 않은 초보, 입문자를 위한 비주얼 프로그래밍 언어스크래치(scratch)와 엔트리가 있습니다. 

 

1) 스크래치(scratch)

 

스크래치는 2007년 MIT 대학의 미디어 연구실에서 개발한 비주얼 프로그래밍 개발 도구입니다. 

스크래치는 브라우저에서 직접 개발을 할 수 있는 환경으로 커뮤니티 기반의 웹 인터페이스로 구성되어 있습니다. 

 

스크래치는 컴퓨터에 관련된 지식이 전혀 없는 일반인과 청소년 혹은 프로그래밍에 입문한 지 얼마 되지 않은 학생들을 대상으로 한 언어입니다.

스크래치는 컴퓨터 프로그래밍의 개념을 이해할 수 있도록 도와주는 교육용 프로그래밍 언어입니다. 

 

스크래치는 다양한 이미지와 사운드를 제공하여 쉽게 사용할 수 있습니다.

또 코딩에 의한 프로그래밍 방식이 아니라 직관적으로 누구나 쉽게 이해할 수 있는 블록을 끼워서 맞춰 프로그램을 작성하는 방식입니다. 

 

 

2) 엔트리

 

엔트리는 순수 국내 기술로 개발된 제품으로, 스크래치와 매우 유사한 방식으로 웹 브라우저에서 로그인한 후 블록 프로그래밍 방식으로 프로그램을 작성하는 방식을 사용합니다.

 

어린아이들도 쉽고 재밌게 배울 수 있도록 블록을 차곡차곡 쌓아 연결하는 방식으로 코딩할 수 있는 그래픽 기반의 프로그래밍 도구로 주어진 문제를 해결해 나갈 수 있게 다양한 콘텐츠와 학습환경을 지원합니다.

 

엔트리는 일상 언어들로 이루어져 있는 블록들을 순서에 맞게 조립하여 쉽게 독창적인 창작물을 만들 수 있습니다. 

현재는 엔트리가 교육용 프로그래밍 언어로서 채택이 되어, 전국의 초등학교와 중학교에서 학생들을 대상으로 한 교육이 진행되고 있으며, 대학에서도 교양 과목으로 개설되고 있습니다. 

파이썬에서도 엔트리를 코딩할 수 있는 엔트리 파이썬이라는 텍스트 기반 시스템도 제공하고 있다고 합니다.

 

반응형

댓글