Roel Notebook

[common] 프로그래밍 언어란?

by Roel Downey

C++

728x90
반응형

프로그래밍 언어란?

프로그램 : Program : 

어플리케이션: Application

소프트웨어 : Software

하드웨어 : Hardware 

 

기초프로그래밍 - 계산적 사고 (컴퓨팅 사고) : 링크

위의 영상을 간단하게 정리하고 넘어가겠다.

Computational Thinking

 

Input -> Algorithms -> Outputs

입력이 있고 내가 원하는 결과를 얻기 위해 알고리즘을 거쳐서 내가 원하는 결과를 얻는다.

 

프로그래머의 아내 라는 유머가 있다.

아내는 프로그래머인 남편에게 심부름을 시켰다.

" 우유 한 통 사오고 계란이 있으면 6개 사와" 남편은 심부름을 마치고 집에 오자마자 아내는 분노 했다.

 

이유가 뭘까?

...더보기

Pseudo-code

1. Buy one milk

2. if (eggs are exist)

3. Buy 6 of them

 

아내는 우유 한 통을 사고, 달걀이 있으면 6알이 담긴 달걀을 사와라. 라는 뜻이다.

그렇지만 프로그래머인 남편은 우유를 한 통을 집었다. 계란이 있는지 확인을 하고 우유를 6통을 사왔다.

내가 원하는걸 얻기 위해서는 정확한 입력을 줘야 정확한 결과를 얻을 수 있다.

 

기계어 (Machine Language)

10110000 01100001

전압에 차이로 신호를 얻는다. 

 

어셈블리 언어 (Assembly Language)

저수준의 언어 

 

고수준 언어 (High - Level Language)

c, c++, Java, Python, ... 등

고수준 언어라고 좋은게 아니다. 게임 레벨은 높아야 좋지만 프로그래밍 언어에서의 고수준 언어는 사람이 알아 듣는 언어라고 할수 있다.

 

컴파일러 (Compiler)

컴파일러는 프로그램이다.

컴파일러가 하는 일 : 내가 작성한 코드를 컴파일러 프로그램을 통해서 컴퓨터가 실행 가능 한 프로그램으로 만든다. 

 

고수준 언어로 쓰여진 코드(code) -> 컴파일러 -> 실행파일(Executable)

 

실행파일(Executable) -> 중앙처리장치(CPU) -> 실행결과

 

인터프리터 (Interperter)

컴파일러와는 다르게 실행파일을 만들지 않고 실행 결과를 만든다.

 

고수준 언어로 쓰여진 스크립트(script) -> 인터프리터 -> 중앙처리장치(CPU) -> 실행 결과

 

이식성 (Portability)

컴파일러를 사용할 경우 : 윈도우즈 컴파일러와 리눅스 컴파일러가 달라서 실행파일도 다르게 나온다.

호환이 되지 않는다.

 

(자바의 경우)

컴파일러하면 바이트코드(Bytecodes)를 만들어낸다. 바이트 코드는 중립적이긴 하지만 윈도우 가상 기계를 통해서 윈도우즈 실행결과를 도출하고, 리눅스 가상 기계를 통해 리눅스 실행결과를 도출한다.

 

 

 

728x90
반응형

'C++' 카테고리의 다른 글

[C++]프로그래밍은 어떤 과정으로 동작할까?  (0) 2019.08.16

블로그의 정보

What doing?

Roel Downey

활동하기