본문 바로가기
COMPUTER-SCIENCE

[프로그래밍] 기초와 언어 분류

by 로햐 2021. 11. 18.

1. 기초

컴퓨터=하드웨어+소프트웨어(+펌웨어)

 

하드웨어 : 컴퓨터의 물리적인 장치. 보통 입력, 출력, 연산, 기억, 제어장치로 나뉜다.

소프트웨어 : 하드웨어 상에서 구동되는 프로그램을 총칭. 프로그램과 데이터로 구성된다.

 

임베디드 시스템 : 특정 기계장치 안에 내장되어있는 컴퓨터 시스템. 냉장고나 로봇청소기 같은 경우의 단일목적 컴퓨터!

임베디드 시스템의경우 펌웨어가 필수적. 드라이버 다운, 펌웨어 업그레이드 등으로 성능 업데이트.


소프트웨어=프로그램+데이터

 

프로그램이란? 사용자가 컴퓨터에게 작업을 지시하기 위한 매개체.

 

  시스템 소프트웨어 : 응용 소프트웨어가 작동할 수 있도록 베이스를 제공.

  • 운영체제, 게임엔진, 드라이버, 유틸리티, 펌웨어 등이 있다.
  • 드라이버 : CPU 에서 처리
  • 유틸리티 : 컴퓨터를 관리하기 위한 소프트웨어
  • 펌웨어 : 특정 하드웨어에서 운영되는 소프트웨어. 중간 개념

  응용(Application) 소프트웨어 : 사용자가 필요로하는 작업을 하는 소프트웨어

 

데이터란? 프로그램을 통해 처리되는 대상. 사진, 동영상, 텍스트 등, 확장자로 표현되는 포멧이 있다.


(소스)코드란? 컴퓨터에게 명령하기 위한, 프로그래밍 언어로 이루어진 텍스트.

소스  파일이란? 코드들이 저장된 파일.

 

2. 언어의 분류

관점 의미 종류
저급 언어 0과 1로 이루어진 기계의 언어. 기계어, 어셈블리어
고급 언어 사람이 알기 쉽게 작성하는 개발 언어
컴파일러나 인터프리터가 번역.
C,C++, Java, Basic...

 

해석 방식 의미 종류
컴파일러 언어 컴파일러라는 번역기가 고급 언어를 저급 언어로 번역 C, C++, Java, C#
인터프리터 언어 인터프리터라는 실행기가  줄 단위로 번역하여 바로 실행해줌 Basic, Lisp, 포스트스크립트
스크립트 언어 응용프로그램과 분리하여 프로그램 사용자가 응용프로그램의 동작을 요구에 맞게 JavaScript, ASP, JSP, 쉘 스크립트...

대표적인 스크립트 언어 : 자바스크립트, vb스크립트, asp, jsp, php, 파이썬, 쉘 스크립트, Basic, Ruby on rails...

 

서버용 : ASP, JSP, PHP, 파이썬

클라이언트용 : 자바스크립트, VB 스크립트


지시 방식 의미 종류
선언형 언어(Declarative) 무엇을 할 것인가? HTML, XML, LISP, PROLOG, Haskell
명령형 언어(Imperative) 어떻게 할 것인가?
절차적, 명령형 패러다임
C, C++, Java, JavaScript...

 

처리 방식 의미 종류
절차적 언어 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술 C, FORTRAN, ALGOL, COBOL
객체지향 언어 현실의 개체처럼 객체들을 조립해서 프로그램을 작성 JAVA, C++, Smalltalk

8살때 학교에서 8시~9시에 하던 컴퓨터 자격증 수업(!)때도 이거 들었던것같다! 당시에 딴 자격증 만료 넘 아깝... 넘 어렸을때꺼라 뭐가 있었는지도 확인조차 안되고 하나는 국가자격증이었는데 10년인가 15년인가 유효가간이어서 만료로 끝남... 그거 다시 갱신만 했어도 되는건데