프로그래밍 언어
프로그래밍 언어(programming language)란 컴퓨터 프로그램을 짜기 위해 사용하는 언어이다.
종류
기계어와 어셈블리
- 기계어(machine language) : 컴퓨터가 별도의 해석 과정을 거치지 않고 직접 읽을 수 잇는 프로그래밍 언어이다. 0과 1로 구성된 2진 숫자로 이루어져 있다. 1세대 프로그래밍 언어이다.
- 어셈블리(Assembly) : 기계어를 대체하기 위해 만든 2세대 프로그래밍 언어이다. 0과 1로 구성된 기계어와 달리, 간단한 영어 단어를 사용한다. 하드웨어에 직접 액세스하므로 처리 속도가 빠른 장점이 있지만, C, C++, Java 등 고급 언어에 비해 프로그래밍 작업이 매우 어렵고 복잡한 단점이 있다.
베이직 계열
- 베이직(BASIC) : 교육용으로 만든 프로그래밍 언어이다. 1964년 미국 다트머스 대학교의 존 케메니(John Kemeny)와 토머스 커츠(Thomas Kurtz)가 개발했다.
- 비주얼 베이직(Visual BASIC) : 미국 마이크로소프트가 윈도 시스템에서 작동하는 소프트웨어를 개발하기 위해 기존의 BASIC를 개량하여 만든 프로그래밍 언어이다. 이후 VB.NET으로 발전했다.
- VB.NET : '브이비닷넷'은 비주얼 베이직 닷넷(Visual BASIC .NET)의 약자로서, 미국 마이크로소프트가 개발한 닷넷(.NET) 프레임워크 기반의 프로그래밍 언어이다. 기존의 비주얼 베이직 6.0 버전을 닷넷 기반으로 변형하여 만든 언어이다.
C 언어 계열
- C : '씨'는 1972년 데니스 리치(Dennis Ritchie)가 미국 AT&T의 벨 연구소 시절에 개발한 범용 프로그래밍 언어이다. 기존의 A 언어와 B 언어를 개량하여 만들었다. 빠른 처리 속도가 필요한 시스템 제어 분야에 많이 사용한다.
- C++ : 1983년 덴마크 출신의 비야네 스트롭스트룹(Bjarne Stroustrup)이 미국 AT&T의 벨 연구소 시절에 기존의 C 언어의 기능을 확장하여 개발한 프로그래밍 언어이다. 객체 지향 프로그래밍(OOP) 개념을 도입했다. '씨 플러스 플러스' 또는 간략히 '씨뿔뿔'이라고 읽는다.
- C#(C sharp) : '씨샵'은 마이크로소프트의 닷넷(.NET) 플랫폼에서 작업할 수 있도록 기존 C++을 개량한 객체 지향 프로그래밍 언어이다. 비주얼 C#을 간략히 C#이라고 부르는 경우도 있다.
- 비주얼 C++(Visual C++) : C 및 C++ 프로그래밍 언어를 사용하여 개발을 진행하기 위해 마이크로소프트가 제공하는 통합 개발 환경(IDE)이다. '비주얼 씨 플러스 플러스' 또는 '비주얼 씨뿔뿔'이라고 읽는다. VC++ 또는 MSVC라고 쓰기도 한다. 제4세대 프로그래밍 언어(4GL)에 속한다. 마이크로소프트의 비주얼 스튜디오(Visual Studio)에 통합되었다.
- MFC : '엠에프씨'는 Microsoft Foundation Class Library의 약자로서, C++ 프로그래밍 언어에서 사용하는 라이브러리이다.
- Pro-C : '프로씨'는 C 언어를 사용하여 데이터베이스를 쉽게 관리할 목적으로 미국 오라클이 만든 프로그래밍 언어이다. 'ProC' 또는 'Pro*C'라고도 쓴다.
- 오브젝티브-C(Objective-C) : C 언어에서 파생된 객체 지향 프로그래밍 언어이다. 1984년 브래드 콕스(Brad Cox)가 만들었다. 애플 아이폰의 iOS에서 작동하는 모바일 앱은 Objective-C 언어로 개발된다.
- 스위프트(Swift) : 미국 애플 회사가 iOS와 OS X 프로그래밍을 위해 개발한 프로그래밍 언어이다. 2014년 6월 출시되었다. 아이폰 앱 개발을 위한 기존 Objective-C 언어와 공존할 목적으로 만들어졌다.
자바 계열
- 자바(Java) : 1995년 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)이 다른 연구원들과 함께 개발한 객체 지향 프로그래밍 언어이다. 자바라는 이름은 인도네시아 자바 섬에서 생산한 커피의 이름에서 따왔다. 2010년 썬 마이크로시스템즈가 오라클에 인수되면서, 자바도 오라클 회사로 넘어갔다.
- JSP : '제이에스피'는 자바 서버 페이지(JavaServer Pages)의 약자로서, HTML 페이지 안에 자바(Java) 코드를 직접 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저가 표현할 수 있도록 전달해 주는 스크립트 프로그래밍 언어이다. 미국 썬 마이크로시스템즈가 처음 개발했고 2010년 오라클에 인수되었다. HTML 문서 안에 <% ... %> 기호를 쓰고, 그 안에 자바 코드를 삽입하는 방식으로 사용한다.
- 스칼라(Scala) : 2004년 마틴 오더스키(Martin Odersky)가 기존 Java 언어가 너무 복잡하다는 단점을 극복하기 위해 개발한 프로그래밍 언어이다. 간결한 소스 코드를 사용하여 Java에서 구현할 수 있는 대부분의 기능을 구현할 수 있다.
델파이 계열
- 파스칼(Pascal) : 1969년 스위스의 니클라우스 비르트(Niklaus Wirth)가 개발한 교육용 프로그래밍 언어이다. 파스칼 언어는 포인터(pointer)를 사용한 구조적 프로그래밍을 특징으로 한다.
- 오브젝트 파스칼(Object Pascal) : 기존의 파스칼 언어에 객체 지향 개념을 포함하여 만든 프로그래밍 언어이다.
- 델파이(Delphi) : 미국 볼랜드사에서 오브젝트 파스칼(Object Pascal) 언어의 기능을 향상시켜 개발한 일반 응용 프로그래밍 언어이다. 4GL, 즉 제4세대 프로그래밍 언어에 속한다.
스크립트 언어
- 스크립트 언어(script language)란 다른 응용 프로그램에 삽입되어서 동작하는 프로그래밍 언어이다. 스크립트 언어에 대해 자세히 보기
- 자바스크립트(JavaScript) : 미국 넷스케이프(Netscape)의 브렌던 아이크(Brendan Eich)가 개발한 스크립트 프로그래밍 언어이다. 약칭 JS라고도 쓴다. 자바스크립트는 표준 HTML 문서 내에 삽입되어 사용되며, 인터랙티브한 웹 페이지를 만들 수 있게 한다. 자바(Java) 언어와 이름은 비슷해도, 기능상 아무런 관련이 없다.
- 제이쿼리(jQuery) : HTML 문서에 삽입하여 사용할 수 있는 자바스크립트 라이브러리를 말한다.
- PHP : '피에이치피'는 HTML 문서 안에 포함하여 작동하는 서버 측 스크립트 프로그래밍 언어이다. 1994년 라스무스 러도프(Rasmus Lerdorf)가 개발했다. 원래 Personal Home Page의 약자였으나, 나중에 “PHP: Hypertext Preprocessor”의 약자(backronym)라고 설명되었다. 리눅스 운영체제에 아파치 웹서버를 설치하고 MySQL DB 환경에서 PHP 프로그래밍 언어가 주로 사용되기 때문에 LAMP라는 말이 생겼다.
- ASP : '에이에스피'는 Active Server Pages의 약자로서, 미국 마이크로소프트의 윈도 서버에서 운영되는 스크립트 방식의 웹 프로그래밍 언어이다.
- 펄(Perl) : Practical Extraction and Report Language의 약자로서, 유닉스 계열의 운영체제에서 사용하는 스크립트 프로그래밍 언어이다. 1987년 래리 월(Larry Wall)이 개발하였다. 펄의 마스코트는 낙타이다.
- 파이썬(Python) : 1990년 네덜란드 암스텔담의 귀도 반 로썸(Guido van Rossum)이 개발한 객체 지향 스크립트 프로그래밍 언어이다. 별도의 컴파일 과정이 필요 없어 개발기간이 단축되고, 리눅스나 윈도 등 특정 플랫폼에 의존적이지 않고 독립적이다. 주로 장고(Django) 프레임워크 기반으로 개발한다.
- 루비(Ruby) : 1995년 일본의 마츠모토 유키히로(まつもとゆきひろ)가 만든 객체 지향 스크립트 프로그래밍 언어이다. 루비는 보석 이름에서 따온 말이다. 파이썬(Python)과 유사하다. 깃허브(GitHub) 사이트는 루비 언어를 사용하여 개발되었다.
- VBScript : '브이비스크립트'는 Visual Basic Scripting Edition의 약자로서, 미국 마이크로소프트 비주얼 베이직(Visual Basic) 기반의 스크립트 프로그래밍 언어이다.
기타
- 포트란(Fortran) : 1954~57년경 미국 IBM에서 개발한 공학용 프로그래밍 언어이다. 수식을 뜻하는 'Formula'와 변환기라는 뜻의 'Translator'를 합성하여 만든 말이다. 최초의 제3세대 고급 언어였으나, 이후 C, Java 등의 언어로 대체되어 거의 사용되지 않고 있다.
- 코볼(COBOL) : Common Business-Oriented Language의 약자로서, 1959년 개발된 사무용 프로그래밍 언어이다. 미국의 여성 해군 제독인 그레이스 호퍼(Grace Hopper)가 만든 Flow-Matic을 기반으로 개발되었다. 포트란이 주로 공학용으로 사용된 반면, 코볼은 비즈니스, 회계, 금융, 정부 관리 시스템 등에 널리 사용되었다. 이후 C, Java 등의 언어로 대체되어 거의 사용되지 않고 있다.
- 알골(ALGOL) : Algorithmic Language의 약자로서, 1950년대 후반 유럽을 중심으로 개발된 프로그래밍 언어이다. 당시 미국 IBM에서 개발한 포트란(Fortran)에 대항하기 위해 1958년 스위스 취리히의 국제회의에서 제안되었다. 알고리즘의 연구 개발에 이용되었으나, 널리 보급되지는 못하였다.
- 피엘원(PL/I) : Programming Language One의 약자로서, 미국 IBM이 메인프레임(Mainframe) 컴퓨터에서 사용하기 위해 1964년 개발한 명령형 프로그래밍 언어이다. PL 뒤에 숫자 '1'이라고 쓰지 않고 영문자 'I'라고 쓰는 경우가 많다. 간략히 PL1이라고도 쓴다.
- PL/SQL : '피엘에스큐엘'은 Procedural Language/Structured Query Language의 약자로서, 오라클 데이터베이스에서 SQL 언어를 확장하기 위해 사용하는 프로그래밍 언어이다. SQL 명령문으로는 처리하기 어려운 복잡한 자료의 저장이나 프로시저(procedure)와 트리거(trigger) 등을 작성할 때 사용한다.
- 콜드퓨전(Coldfusion) : 웹사이트나 인트라넷에서 데이터 처리를 위해 사용되는 프로그래밍 언어이다. 1995년 앨라이어 형제가 개발하였고, 2005년 이후 어도비 시스템즈에서 개발하고 있다.
- R : '알'은 통계 계산과 그래픽을 위한 프로그래밍 언어이다. 1993년 뉴질랜드의 로버트 젠틀맨(Robert Gentleman)과 로스 이하카(Ross Ihaka)가 공동 개발하여, 자유 소프트웨어로 배포하였다.
- 파워빌더(PowerBuilder) : 파워스크립트(PowerScript)라는 객체 지향 프로그래밍 언어를 사용하는 통합 개발 환경(IDE)이다. 1991년 미국 파워소프트(Powersoft) 회사가 개발하였고, 1995년 미국 사이베이스(Sybase) 회사에 인수되었으며, 2000년 다시 독일 SAP 회사에 인수되었다. 4GL, 즉 제4세대 프로그래밍 언어에 속한다. 약칭 PB라고 쓴다.