-
프로그래밍 언어란?
- 사전적의미 : 컴퓨터의 프로그램을 작성하기 위해 고안된 언어.
- 우리가 알고 있는 기계어조차도 CPU가 대응시켜준 의미를 따라 움직이는 것이다.
- 프로그래밍 언어를 통해 의미가 부여된 텍스트 데이터는 소스코드가 되고 다시 프로그램이 된다.
-
구조적 프로그래밍 언어
-
다익스트라가 만든 것으로 프로그램의 논리 구조를 단순화시켜 이해하기 쉬운 작은 서브 프로그램들을 사용해 전체 프로그램을 구성하는 개념.
- 작은 서브 프로그램들을 이해하면 전체 프로그램을 이해하기가 수월해진다.
-
-
프로그래밍 언어의 분류
- 어떤 패러다임을 통해 프로그래밍 할 것인지를 결정한 후 그 패러다임에 맞는 프로그래밍 언어를 선택하기 위해서 분류를 한다.
-
프로그래밍 언어의 해석
- 프로그래머가 적어놓은 내용을 해석해 기계에게 직접 명령을 내릴 수 있는 형태로 바꿔주는 컴파일러가 존재한다.
- 컴파일러는 기계와 프로그래머의 의사소통을 도와주는 통역사와 같은 일을 한다.
- 오토마타를 사용하여 함수의 파라미터에 함수가 사용될 수 있고, 수 혹은 변수의 대체로 함수의 반환값이 사용될 수도 있는 상황을 '단순화' 한다.
-
프로그래밍 언어 VS 일반 언어
- 프로그래밍 언어는 컴파일러가 그 언어를 이해해야 한다. 컴파일러가 해석할 수 있을 때 코드가 유효해지는 것이다.
- 사람은 언어를 이해할 때 기계처럼 정해진 대로만 이해하지 않는다. 구문 요소 중 몇 가지를 빼거나 순서를 바꿔도 이해 할 수 있다.
-
Why is C?
- 대부분의 언어들이 C 언어를 기반으로 변형 됐으며, 아직까지도 C는 여러 분야에서 많이 사용되고 있다.
- 표현의 단순함과 기계어와 가까운 형태를 취하고 있다. 인라인 어셈블리를 지원하고 있다.
- 네이티브 : C언어처럼 기계어로 바로 변환하는 형태로 포인터에 대한 문제를 해결해야 한다.
- 인터프리터 : 코드의 실행을 인터프리터에서 처리하며 플랫폼을 고려하지 않아도 이기종간의 호환성이 보장된다. 하지만 그만큼 기계에서 멀리 떨어져 있기 때문에 여러가지 근본적인 것들을 이해할 수 없다는 문제를 야기하기도 한다.
-
C언어는 사라질것인가?
- C언어는 이미 기계 그 자체가 돼 버렸기 때문에 없어지지 않을 것이다.
- C는 기계어에 가장 가까운 고급언어로 현재 가장 많이 사용되고 있다.
- 상당한 플랫폼들에서 C언어를 사용하고 있기 때문에 CPU의 구조가 바뀌면 흔들릴 수도 있지만.....과연?
참고문서 : <마소2009.2월호 special report 2>C언어로 보는 구조적 프로그래밍 언어의 이해-권용휘
이 글은 스프링노트에서 작성되었습니다.