본문 바로가기

Programming/기초

프로그래밍 기본 정보

프로그램(computer program) : 컴퓨터가 어떤 작업을 수행하는 데 필요한 명령들의 집합. 주로 순서대로 작성되어 있음.


프로그래머(computer programmer) : 프로그램을 작성하는 사람


프로그래밍(computer programming) : 프로그래머가 프로그램을 만드는 행위


프로그래밍 언어(programming language) : 프로그램을 작성하는 데 사용되는 언어


-------------------------------------------------------------------------------------------------------------------


절차지향 언어(procedure-oriented programming language) : 프로시저(procedure-루틴, 서브루틴, 함수 등)를 호출하는 개념의 프로그래밍 패러다임(paradigm). 대표적인 언어로는 C, Go, Fortran, Pascal, BASIC


객체지향 언어(object-oriented programming language) : 어떤 값을 저장하거나 계산하는 데이터들과 어떤 행위를 하는 메서드들로 구성된 "객체" 개념의 프로그래밍 패러다임. 즉, 프로그램을 '객체'라는 기본 단위로 구성되어 이 객체들의 상호 작용으로 작성된 개념. 대표적인 언어로는 Java, C++, C#, Python, PHP, Ruby, Perl, Delphi, Objective-C, Swift, Common Lisp, Smalltalk.


----------------------------------------------------------------------------------------------------------------------


기계어(machine language) : 컴퓨터가 알아듣는 언어. 우리가 흔히 쓰는 언어와 다름. 기계어는 하드웨어(CPU)마다 다름.


저급 언어(low-level language) : 사람의 언어보다 기계어에 가까운 언어. 사람이 이해하기 어렵지만, 실행 속도가 빠름. 주로 기계어와 어셈블리어를 일컬음.


고급 언어(high-level language) : 기계어보다 사람의 언어에 가까운 언어. 저급 언어보다 가독성이 높고 다루기가 편함. 주로 C언어, 자바, 베이직 등 프로그래밍 언어가 고급 언어에 속함.


----------------------------------------------------------------------------------------------------------------------


컴파일러(compiler) : 프로그램을 기계어로 번역하는 것.


컴파일(compile) : 프로그램을 기계어로 번역하는 변환과정.


링커(linker) : 컴파일러가 만든 하나 이상의 목적 파일(*.obj)을 하나의 실행 프로그램 파일(*.exe)로 만드는 것.


통합 개발 환경 IDE(Integrated Development Environment) : 소스코드를 작성할 수 있는 편집기(editor), 컴파일러, 링커 등을 묶어진 하나의 프로그램. 에러를 찾을 수 있는 도구인 디버거(debugger)도 있어서 프로그램을 개발하기가 편리해짐. eclipse, Microsoft Visual Studio 등이 대표적인 통합 개발 환경 프로그램.


----------------------------------------------------------------------------------------------------------------------


경고(warning) : 컴파일은 가능하지만, 문제가 발생할 수 있는 코드


컴파일 에러(compile-time error) : 컴파일을 할 수 없는 심각한 오류


실행 에러(runtime error) : 실행 시 발생하는 오류