프로그래밍 언어를 분류하는 두 가지 기준_변수의 데이터 타입
프로그래밍 언어를 분류할 첫 번째 기준은 객체 지향의 지원 유무였다.
두번째로는 무엇이 있을까?
변수의 데이터 타입
자료형이란 변수의 데이터 타입을 미리 지정해 주는 것이다.
변수의 자료형을 정해 주지 않는 언어를 다이나믹 타이핑(Dynamic typing) 언어 라고 부른다.
자료형을 미리 정하지 않고, 실행될 때 정해주는 언어를 다이나믹 타이핑 언어라고 부른다.
이 언어는 간결하고, 편리한 코딩을 추구하기 때문에 컴퓨터적 구조가 생략되는 경우가 많아서 문법이 간결한 편이다.
그리고 코드에 어려운 표현이 적어서 코드의 내용이나 로직이 눈에 쉽게 들어간다.
그래서 작은 사이즈의 프로그램을 만들기에 적합하다.
대신 컴퓨터적 구조가 생략되어 그 부분을 컴퓨터가 스스로 생각하고 판단해야 되기 때문에 대체로 실행 속도가 조금 느린 경향이 있다.
그래서 실행속도가 민감하지 않은 프로젝트에 많이 사용된다.
또한 성능이 좋지 않은 환경에서는 활약하기 힘들다.
자료형을 실행하기 전에 미리 정해주는 언어를 스태틱 타이핑(Static typing) 언어 라고 한다.
이 언어는 더 명확하고 정교한 코드를 추구하기 때문에 컴퓨터적 표현이 코드에 있어서 코드가 길어진다.
대신 코드의 컴퓨터적 구조가 눈에 딱 들어온다.
스택틱 타이핑 언어는 제약이나 규칙이 많다.
그 이유는 사람의 실수를 시스템적으로 방지하고 더 체계적으로 코드를 작성하기 위해서 이다.
때문에 많은 사람이 협업해서 만들어야 하는 규모가 크고, 복잡한 프로젝트에 더 적합하다.
또한 코드를 작성할 때 많은 컴퓨터적 구조를 사람이 적어 주기 때문에 실행 속도를 더 빠르게 할 수 있다는 장점이 있다.
스택틱 타이핑 언어는 제약이 많다.
그러나 프로그래밍을 하다보면 나누어서 코드를 만들고, 합칠 때가 많은데 나누고 합치는 것이 더 복잡한 프로그램일수록 이런 제약이 오히려 안전장치 역할을 한다.
안정성과 정교함을 추구하여, 컴퓨터적 구조를 코드에 적어주기 때문에 코드의 구조가 눈에 잘 들어오지만 코드가 복잡해져서 배우기 어렵다.
다만 코드의 컴퓨터적 구조 덕분에 컴퓨터가 고민을 덜 하게 되고, 실행 속도가 중요한 곳에서 활약할 수 있다.
이런 특징을 살려 임베디드, 실시간 투자, 인공 지능 분야에서 활약하고 있다.
다이나믹 타이핑 언어와 스택틱 타이핑 언어 두 부류의 언어가 추구하는 방향이나, 가치관이 다르다.
이것을 일종의 프로그래밍 언어 패러다임으로 볼 수 있다.
'컴퓨터 개론' 카테고리의 다른 글
Codeit_특수 목적 언어 (0) | 2021.06.03 |
---|---|
Codeit_프로그래밍 언어의 스펙트럼 (0) | 2021.06.02 |
Codeit_프로그래밍 언어를 분류하는 두 가지 기준_객체 지향 (0) | 2021.06.01 |
Codeit_프로그래밍 언어 이해하기 (0) | 2021.06.01 |
Codeit과 시작하는 프로그래밍 시작하기 :) (0) | 2021.05.06 |