1. 프로그램 언어
1.1.Programming Language : 프로그래밍 언어란 프로그램을 짜기 위해 사용하는 언어이다. 1세대 언어인 기계어, 2세대 언어인 Assembly, 3세대 및 4세대 언어인 BASIC, Visual Basic, VB.NET, C, C++, C#, Visual C++, Visual C#, MFC, Pro-C, Objective-C, Swift, Java, Scala, Pascal, Object Pascal, Delphi, PowerScript 등이 있다. 다른 응용 프로그램에 삽입되어 동작하는 스크립트 언어에는 JavaScript, jQuery, JSP, PHP, ASP, ASP.NET, Perl, Python, Ruby, VBScript, 등이 있다. 교육용 및 기타 프로그래밍 언어에는 Fortran, COBOL, ALGOL, PL/I, PL/SQL, Coldfusion, R 등이 있다.
1.2.Machine Language : 기계어(機械語)란 컴퓨터가 별도의 해석 과정을 거치지 않고 직접 읽을 수 있는 프로그래밍 언어를 말한다. 0과 1로 구성된 2진 숫자로 이루어져 있다. 기계어는 인간이 이해하기 어렵기 때문에 알파벳과 아라비아 숫자 및 부호를 사용하여 소스코드(Source Code)를 만든 뒤, 어셈블러(Assembler) 또는 컴파일러(Compiler) 등을 통해 기계어로 번역하여 컴퓨터에게 전달한다. 기계어를 1세대 프로그래밍 언어라고 한다.
1.3.Assembly : 어셈블리 언어는 기계어를 대체하기 위해 만든 2세대 프로그래밍 언어이다. 0과 1로 구성된 기계어와 달리, 간단한 영어 단어를 사용한다. 하드웨어에 직접 액세스 하므로 처리 속도가 빠른 장점이 있지만, C, Java 등 3세대 고급 언어에 비해 프로그래밍 작업이 매우 어렵고 복잡한 단점이 있다. 어셈블리 언어로 개발한 프로그램에는 파일 압축을 위해 사용하는 ZIP 파일 등이 있다.
1.4.BASIC : Beginner’s All Purpose Symbolic Instruction Code의 약자로서, 교육용으로 만든 프로그래밍 언어이다. ‘베이직’이라고 읽는다. 1964년 미국 다트머스 대학교(Dartmouth College)의 존 케메니(John Kemeny)와 토머스 커츠(Thomas Kurtz)가 개발했다.
1.5.Visual Basic : 비주얼 베이식은 마이크로소프트사가 개발한 일반 응용 프로그래밍 언어의 하나이다. 약칭 VB라고 쓴다. 종래의 BASIC은 MS-DOS 상에서 작동하는 통상의 프로그램을 개발하기 위한 언어이지만, Visual Basic은 이와는 달리 윈도용 소프트웨어를 개발하기 위한 프로그래밍 언어이다. 4GL, 즉 제4세대 프로그래밍 언어에 속한다. 이후 닷넷(.NET) 기반으로 통합되어 VB.NET 언어로 계승되었다.
1.6.VB.NET : Visual Basic. NET의 약자로서, Microsoft가 개발한 닷넷(. NET)(.NET프로그래밍 언어이다. ‘브이비닷넷’이라고 읽는다. 기존의 비주얼 베이식(Visual Basic) 버전 6.0을 닷넷 기반으로 변형하여 만든 언어이다.
1.7. C : 1972년 데니스 리치(Dennis Ritchie)가 미국 AT&T의 벨 연구소(Bell Lab.) 시절에 개발한 범용 프로그래밍 언어이다. 기존의 A 언어와 B 언어를 개량하여 만들었다. 빠른 처리 속도가 필요한 시스템 제어 분야에 많이 사용된다. 소스코드를 컴파일(Compile)하여 실행파일을 만든다.
1.8. C++ : 1983년 덴마크 출신의 비야네 스트롭스트룹(Bjarne Stroustrup)이 미국 AT&T의 벨연구소(Bell Lab.) 시절에 기존 C 언어의 기능을 확장하여 개발한 프로그래밍 언어이다. 기존 C 언어 문법을 바탕으로 새로 객체 지향 프로그래밍(OOP, Object-Oriented Programming)의 개념을 도입하였다. 처음에는 C with Classes라고 하다가 이후 C++로 이름을 변경했다. ‘씨 플러스 플러스’ 또는 간략히 ‘씨뿔뿔’이라고 읽는다.
1.9. C# : C Sharp은 C++에 기반을 두고 마이크로소프트의 닷넷(. NET)(.NET) 플랫폼에서 작업하도록 설계된 객체 지향 프로그래밍 언어(OOP)이다. ‘씨샵’이라고 읽는다. Visual C#을 간략히 C#이라고 부르는 경우도 많다.
1.10. Visual C++ : 비주얼 C++은 C 및 C++ 프로그래밍 언어를 사용하여 개발을 진행하기 위해 마이크로소프트가 제공하는 통합개발환경(IDE)이다. ‘비주얼 씨뿔뿔’이라고 읽는다. VC++ 또는 MSVC라고 쓰기도 한다. 제4세대 프로그래밍 언어(4GL)에 속한다. 마이크로소프트의 Visual Studio에 통합되었다.
1.11. Visual C# : 비주얼 C#은 C# 프로그래밍 언어를 사용하여 개발을 진행하기 위해 마이크로소프트가 제공하는 통합개발환경(IDE)이다. 마이크로소프트 Visual Studio 통합개발환경(IDE)에 포함되어 있는 기능이다.
1.12. MFC : Microsoft Foundation Class Library의 약자로서, C++ 프로그래밍 언어에서 사용하는 라이브러리이다.
1.13. Pro-C : C 언어를 사용하여 데이터베이스를 쉽게 관리할 목적으로 오라클사가 만든 프로그래밍 언어이다. ProC 또는 Pro*C라고도 쓴다. ‘프로씨’라고 읽는다.
1.14. Objective-C : 오브젝티브-C는 C 언어에서 파생된 객체 지향 프로그래밍 언어(OOP)이다. 1984년 Brad Cox가 만든 언어이다. 애플 아이폰의 iOS에서 작동하는 모바일 앱은 Objective-C 언어로 개발된다.
1.15. Swift : 스위프트는 미국 Apple 회사가 iOS와 OS X 프로그래밍을 위해 개발한 프로그래밍 언어이다. 2014년 6월 출시되었다. 아이폰 앱 개발을 위한 기존 Objective-C 언어와 공존할 목적으로 만들어졌다.
1.16. Java : 자바는 1995년 SUN Microsystems 회사의 제임스 고슬링(James Gosling)이 다른 연구원들과 함께 개발한 객체지향 프로그래밍 언어(OOP)이다. 자바라는 이름은 인도네시아 자바 섬에서 생산한 커피의 이름에서 따왔다. 자바의 로고는 커피잔이고, 마스코트는 듀크(Duke)이다. 2010년 SUN 마이크로시스템즈 회사가 오라클에 인수되면서, 자바도 오라클 회사로 넘어갔다. JSP는 자바 언어로 만든 웹용 스크립트 언어이다. 자바스크립트(JavaScript)는 자바와 이름은 비슷하지만 기능상 아무런 관련이 없다.
1.17. Scala : 스칼라는 Scalable Language에서 따온 말로써,, 객체 지향 프로그래밍 언어와 함수형 프로그래밍 언어의 요소가 결합된 프로그래밍 언어이다. 기존의 Java 언어가 너무 복잡하다는 단점을 극복하기 위해 2004년 마틴 오더스키(Martin Odersky)가 처음 개발하여 배포했다. 간결한 소스코드를 사용하여 Java에서 구현할 수 있는 대부분의 기능을 구현할 수 있다. Scala는 자바 바이트코드를 사용하기 때문에 자바가상머신(JVM)에서 실행할 수 있고, Java 언어와 호환되어 대부분의 자바 API를 그대로 사용할 수 있다.
1.18. Pascal : 파스칼은 1969년 스위스 니클라우스 비르트(Niklaus Wirth)가 개발한 교육용 프로그래밍 언어이다. 17세기 프랑스의 유명한 수학자이자 철학자인 블레즈 파스칼(Blaise Pascal)에게서 이름을 따왔다. 파스칼 언어는 포인터(pointer)를 사용한 구조적 프로그래밍을 특징으로 한다. 파스칼에 객체 지향(OOP) 개념을 포함하여 오브젝트 파스칼(Object Pascal) 언어가 생겨났고, 이 오브젝트 파스칼을 일부 변형하여 델파이(Delphi) 프로그래밍 언어가 생겨났다.
1.19. Object Pascal : 오브젝트 파스칼은 기존의 Pascal 언어에 객체 지향 개념을 포함하여 만든 프로그래밍 언어이다.
1.20. Delphi : 델파이는 미국 볼랜드사에서 오브젝트 파스칼(Object Pascal) 언어의 기능을 향상해 개발한 일반 응용 프로그래밍 언어이다. 4GL, 즉 제4세대 프로그래밍 언어에 속한다.
1.21. PowerScript : 파워스크립트는 파워빌더(PowerBuilder)라는 통합개발환경(IDE)에서 사용하는 객체 지향 프로그래밍 언어이다. 1991년 미국 Powersoft 회사가 개발하였고, 1995년 미국 사이베이스(Sybase) 회사에 인수되었으며, 2000년 다시 독일 SAP 회사에 인수되었다. 4GL, 즉 제4세대 프로그래밍 언어에 속한다. MFC. : Microsoft Foundation Class Library의 약자로서, C++ 프로그래밍 언어에서 사용하는 라이브러리이다.
2. Script
2.1.Script Language : 스크립트 언어는 다른 응용 프로그램에 삽입되어서 동작하는 프로그래밍 언어이다. 스크립트 프로그래밍 언어 또는 간략히 스크립트라고도 한다. 비(非)스크립트 언어인 C, C++, Java 등은 컴파일된 후 독립적으로 작동하는 하나의 완전한 응용 프로그램이지만, Javascript, jQuery, JSP, PHP, ASP, Perl, Python, Ruby, VBScript, Shell Script 등의 스크립트 언어는 다른 응용 프로그램 안에 삽입되어 해석되는 방식으로 작동한다.
2.2.JSP : JavaServer Pages의 약자로서, HTML 페이지 안에 자바(Java) 코드를 직접 삽입하여 웹서버에서 동적으로 웹페이지를 생성하여 웹브라우저가 표현할 수 있도록 전달해 주는 스크립트 프로그래밍 언어이다. 미국 썬 마이크로시스템즈사가 처음 개발했고, 2010년 Oracle사에 인수되었다. HTML 문서 안에 <%... %> 기호를 쓰고 그 안에 자바 코드를 삽입하는 방식으로 사용한다. Servlet은 자바 소스코드 안에 HTML을 삽입하지만, JSP는 반대로 HTML 문서 안에 자바 코드를 삽입한다. 한편 JavaScript는 사용자의 개인 PC에 설치된 웹브라우저에서 실행되지만, JSP는 웹서버에서 실행되어 그 결괏값만 사용자의 웹브라우저에 전달된다는 차이점이 있다.
2.3.JavaScript : 자바스크립트는 미국 넷스케이프(Netscape)사의 브렌던 아이크(Brendan Eich)가 만든 스크립트 프로그래밍 언어이다. 약칭 JS라고도 쓴다. 썬 마이크로시스템즈 회사의 제임스 고슬링(James Gosling)이 개발한 자바(Java) 언어와 이름은 비슷해도, 기능상 아무런 관련이 없다. 자바스크립트는 표준 HTML 문서 내에 삽입되어 사용되며, 인터랙티브인터랙티브 한 웹페이지를 만들 수 있게 한다. JSP는 웹서버에서 실행되어 그 결괏값만 사용자의 웹브라우저에 전달되지만, JavaScript는 사용자의 개인 PC에 설치된 웹브라우저에서 실행된다는 차이점이 있다. 자바스크립트 라이브러리인 jQuery, 자바스크립트로 서버 측 응용 프로그램을 제어하는 node.js, 데이터 연계를 위한 JSON 등 다양하게 활용되고 있다.
2.4.jQuery : 제이쿼리는 HTML 문서에 삽입하여 사용할 수 있는 자바스크립트 라이브러리를 말한다. 스크립트 프로그래밍 언어의 일종이다.
2.5.PHP : HTML 문서 안에 포함하여 작동하는 서버 측 스크립트 프로그래밍 언어이다. 1994년 라스무스 러도프(Rasmus Lerdorf)가 개발했다. 원래 Personal Home Page의 약자였으나, 나중에 “PHP: Hypertext Preprocessor”의 약자(backronym)라고 설명되었다. Linux 운영체제에 Apache 웹서버를 설치하고 MySQL DB 환경에서 PHP 프로그래밍 언어가 주로 사용되기 때문에 LAMP라는 말이 생겼다.
2.6.ASP : Active Server Pages의 약자로서, 윈도우 서버에서 운영되는 스크립트 방식의 웹 프로그래밍 언어이다.
2.7.ASP.NET : 동적 웹페이지를 개발하기 위해 사용하는. NET.NET 기반의 오픈소스 프로그래밍 언어이다. 미국 Microsoft가 기존 ASP 기술을 계승하여 개발했다. ‘에이에스피닷넷’이라고 읽는다.
2.8.Perl : Practical Extraction and Report Language의 약자로서, UNIX 계열의 운영체제에서 사용하는 스크립트 프로그래밍 언어이다. 1987년 래리 월(Larry Wall)이 개발하였다. ‘펄’이라고 읽는다. 펄의 마스코트는 낙타이다.
2.9.Python : 파이썬은 1990년 네덜란드 암스테르담의 귀도 반 로썸(Guido van Rossum)이 개발한 객체 지향 스크립트 프로그래밍 언어이다. 별도의 컴파일 과정이 필요 없어 개발기간이 단축되고, 리눅스나 윈도 등 특정 플랫폼에 의존적이지 않고 독립적이다. 주로 장고(Django) 프레임워크 기반으로 개발한다.
2.10.Ruby : 루비는 1995년 일본의 마츠모토 유키히로(まつもとゆきひろ)가 만든 객체 지향 스크립트 프로그래밍 언어이다. 루비는 보석 이름에서 따온 말이다. 파이썬(Python)과 유사하다. 깃허브(GitHub) 사이트는 루비 언어를 사용하여 개발되었다.
2.11.VBScript : Visual Basic Scripting Edition의 약자로서, 마이크로소프트 Visual Basic 기반의 스크립트 프로그래밍 언어이다. ‘브이비 스크립트’라고 읽는다.
3. 교육용 /기타
3.1.Fortran : 포트란은 1954~57년경 미국 IBM에서 개발한 공학용 프로그래밍 언어이다. 수식을 뜻하는 Formula와 변환기라는 뜻의 Translator를 합성하여 만든 말이다. 최초의 제3세대 고급 언어였으나, 이후 C, Java 등의 언어로 대체되어 거의 사용되지 않고 있다.
3.2.COBOL : Common Business-Oriented Language의 약자로서, 1959년 개발된 사무용 프로그래밍 언어이다. ‘코볼’이라고 읽는다. 미국의 여성 해군 제독인 그레이스 호퍼(Grace Hopper)가 만든 Flow-Matic을 기반으로 개발되었다. Fortran이 주로 공학용으로 사용된 반면, COBOL은 비즈니스, 회계, 금융, 정부 관리 시스템 등에 널리 사용되었다. 이후 C, Java 등의 언어로 대체되어 거의 사용되지 않고 있다.
3.3.ALGOL : Algorithmic Language의 약자로서, 1950년대 후반 유럽을 중심으로 개발된 프로그래밍 언어이다. ‘알골’이라고 읽는다. 당시 미국 IBM에서 개발한 포트란(Fortran)에 대항하기 위해 1958년 스위스 취리히의 국제회의에서 제안되었다. 알고리즘의 연구 개발에 이용되었으나, 널리 보급되지는 못하였다.
3.4.PL/I : Programming Language One의 약자로서, IBM이 메인프레임(Mainframe) 컴퓨터에서 사용하기 위해 1964년 개발한 명령형 프로그래밍 언어이다. ‘피엘원’이라고 읽는다. PL 뒤에 ‘1’이라고 쓰지 않고 ‘I’라고 쓰는 경우가 많다. 간략히 PL1이라고도 쓴다.
3.5.PL/SQL : Procedural Language/Structured Query Language의 약자로서, Oracle 데이터베이스에서 SQL 언어를 확장하기 위해 사용하는 프로그래밍 언어이다. SQL 명령문으로는 처리하기 어려운 복잡한 자료의 저장이나 Procedure와 Trigger 등을 작성할 때 사용한다.
3.6.Coldfusion : 콜드퓨전은 웹사이트나 인트라넷에서 데이터 처리를 위해 사용되는 프로그래밍 언어이다. 1995년 앨라이어 형제가 개발하였고, 2005년 이후 어도비 시스템즈에서 개발하고 있다.
4. 개발환경
4.1.SDK : Software Development Kit의 약자로서, 소프트웨어 개발 도구를 모아둔 툴을 말한다.
4.2.JDK : Java Development Kit의 약자로서, 자바(Java)용 소프트웨어 개발 툴(SDK)을 말한다.
4.3.IDE : Integrated Development Environment의 약자로서, 소프트웨어 개발을 위해 사용하는 통합개발환경을 말한다. 예를 들어, Java 프로그래밍을 위해 사용하는 Eclipse, 오픈소스인 Aptana Studio, 마이크로소프트의 Visual Studio, 독일 SAP의 PowerBuilder, 안드로이드 환경의 앱 개발을 위한 Android Studio 등이 있다.
4.4.Eclipse : 이클립스는 자바 컴파일러를 내장하고 있는 오픈소스 편집기(editor) 겸 통합개발환경(IDE)이다. 2001년 IBM이 개발하였고, 2004년 이클립스재단이 설립되어 오픈소스 프로젝트로 발전시켜 나가고 있다. IBM은 경쟁사인 SUN Microsystems가 태양(SUN)을 나타내므로 그 빛을 가린다는 의미로 일식 또는 월식이라는 뜻을 가진 Eclipse를 제품명으로 정했다. 이클립스의 로고는 일식 모양을 본뜬 것이다. 이클립스재단은 2004년부터 매년 6월 하순에 새로운 버전의 Eclipse 편집기를 배포하고 있다. 2012년 Juno, 2013년 Kepler, 2014년 Luna, 2015년 Mars, 2016년 Neon, 2017년 Oxygen, 2018년 Photon 버전을 배포했다. 최신 버전은 2020년 6월에 출시된 4.16 버전이다.
4.5.Aptana Studio : 앱타나 스튜디오는 웹프로그램을 개발하기 위해 사용하는 통합개발환경(IDE)이다. Windows, Linux, OS X 등의 운영체제에서 단독으로 사용될 수도 있고, 이클립스(Eclipse)에 플러그인으로 끼워 넣어서 사용될 수도 있다. Aptana Studio는 무료 오픈소스 개발 툴로서 GNU GPL 또는 Aptana Public License로 배포되고 있다.
4.6.Visual Studio : 비주얼 스튜디오는 Microsoft가 개발한 통합개발환경(IDE)이다. HTML, XML, JavaScript, CSS 등을 기본 지원할 뿐 아니라, C, C++, Visual C++, Visual C#, VB.NET, Python, Ruby 등 다양한 개발 환경을 지원한다.
4.7.PowerBuilder : 파워빌더는 PowerScript라는 객체 지향 프로그래밍 언어를 사용하는 통합개발환경(IDE)이다. 약칭 PB라고 쓴다.
4.8.Android Studio : 안드로이드 스튜디오는 Android 환경에서 모바일 앱을 개발하기 위해 사용하는 통합개발환경(IDE)이다.
5. Version
5.1.Version Control : 버전 관리란 소프트웨어 소스코드 또는 문서 등의 개정판에 버전 번호를 붙여 체계적으로 관리하는 것을 말한다. 소프트웨어 버전 관리의 경우 서버와 클라이언트 방식의 중앙집중식 버전 관리(예: SVN)와 P2P 방식의 분산 버전 관리(DVC)가 있다.
5.2.CM : Configuration Management의 약자로서, 형상관리 또는 구성관리라고 한다. 시스템의 형상이나 구성요소(CI)에 변경이 생긴 경우, 변경 내역을 문서로 기록하고 관리하는 것을 말한다. 프로그램 소스의 변경은 주로 SVN을 사용하여 관리한다.
5.3.SVN : 에스브이엔은 아파치재단에서 제공하는 자유 소프트웨어 버전 관리 시스템이다. 프로그램 소스의 형상관리(CM)를 위해 사용한다. 정식 명칭은 서브버전(Subversion)이지만, 명령행 인터페이스(I/F)에서 사용하는 명령어를 따서 SVN이라고 줄여서 부른다. SVN과 관련된 툴에는 Subclipse, TortoiseSVN, RapidSVN 등이 있다.
5.4.Subclipse : 서브클립스는 Eclipse에서 소프트웨어 버전 관리 툴인 Subversion(=SVN)을 사용할 수 있도록 지원하는 플러그인이다.
5.5.TortoiseSVN : 토터스 에스브이 앤은Windows 시스템에서 작동하는 버전관리 툴인 SVN(=subversion)의 클라이언트 프로그램이다. 로고는 거북이다.
5.6.Jenkins : 젠킨스는 소프트웨어 개발 시 지속적 통합(CI, Continuous Integration) 서비스를 제공하는 툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해 준다.
5.7.DVC : Distributed Version Control의 약자로서, 분산 버전 관리를 말한다. 서버-클라이언트 방식의 중앙집중형 버전 관리(예: SVN)가 아니라, 중앙 서버가 없이 P2P 방식으로 버전 관리를 한다. 깃(Git)과 깃허브(Github) 등의 버전 관리 툴이 있다.
5.8.Git : 깃은 소프트웨어 소스코드에 대한 분산 버전 관리(DVC) 툴이다. 2005년 리누스 토르발즈(Linus Torvalds)가 리눅스(Linux) 커널 개발에 이용하기 위해 처음 개발했다. GNU GPL 라이선스로 배포되고 있다.
5.9.GitHub : 깃허브는 소프트웨어 분산 버전 관리(DVC) 툴인 깃(Git)을 사용하는 프로젝트를 지원하기 위한 웹호스팅 서비스이다. 깃(Git)이 텍스트 명령어 입력 방식인데 반해, 깃허브는 화려한 그래픽 유저 인터페이스(GUI)를 제공한다. 전 세계 최대 규모의 오픈소스 공유 사이트 겸 개발자 커뮤니티로 성장했다. 루비(Ruby) 언어를 사용하여 개발했다. 깃허브의 마스코트는 고양이 머리에 문어 다리가 달린 옥토캣(Octocat)이다.
'인터넷' 카테고리의 다른 글
시스템 환경, 소프트웨어, 운영체제, 웹서버, WAS, DBMS 정리 (2) | 2023.02.25 |
---|---|
자바 객체 지향 프로그램 정리 (0) | 2023.02.24 |
개발방법론, 아키텍쳐, 아키텍트, 시스템 연계 개념 정리 (0) | 2023.02.22 |
취약점 및 성능 테스트, 보안, 취약점 용어정리 (0) | 2023.02.21 |
스크립트 언어(HTML & Publishing) (0) | 2023.02.20 |