728x90
프로그래밍을 위해 수 많은 언어들이 사용되고 있다.
언어의 종류가 다양한 것에는 소 잡는데 소 잡는 칼을 쓰고, 닭 잡는데 닭 잡는 칼을 쓰기 위해서이다.
무엇을 개발하고자 하는지에 따라 적합한 언어가 다르다는 뜻이다.
그리고 다양한 언어를 나누는 기준 중 한 가지가 동적타이핑 정적타이핑이다.
1) 동적타이핑 (Dynamic typing)
동적타이핑은 코드를 작성하는데 있어서 컴퓨터적 구조를 생략한다.
따라서 변수를 지정할 때 해당 변수의 데이터 타입 등을 명시하지 않아도 컴퓨터가 알아서 해석하도록 냅둔다.
예컨대 파이썬에서 a = 15 라는 식으로 변수를 지정할 때 a가 숫자라고 명시 하지 않더라도 컴퓨터는 이를 스스로 숫자라 해석한다.
이러한 방식은 코드를 보다 간결하게 해주며 코드의 로직을 보다 명확히 보여줄 수 있지만,
데이터 타입이 뭔지 파악하는 것을 컴퓨터에게 맡기기 때문에 그 만큼 실행속도가 느려진다는 단점이 있다.
2) 정적타이핑 (Static typing)
정적타이핑은 동적타이핑과 정반대로 코드를 작성할 때 컴퓨터적 구조를 명시해준다.
즉, int a = 15 라는 식으로 변수의 데이터 타입을 직접 명시하며 컴퓨터가 해야할 일을 덜어주는 것이다.
이는 코드를 작성하는데 관련된 작은 정보들까지 개발자가 직접 신경쓰도록 하는데, 이렇게 되면 코드의 안정성과 정교함이 커진다.
하지만, 코드 구조 자체는 눈에 잘 들어올지라도 코드가 매우 길고 복잡해져서 처음 프로그래밍에 입문하기에 추천되지는 않는다.
정리
동적타이핑 (Dynamic typing)
- 코드를 작성하는 시간이 빠르다.
- 코드를 실행하는 속도가 느리다.
- 코드의 내용, 로직을 파악하기 쉽다.
- 처음 프로그래밍을 학습하는 사람에게 적합한 언어이다.
- 속도를 중요시하는 작업에선 사용하기 부적합하지만 작고 단순한 프로젝트를 하기엔 적합하다.
- 동적 타이핑을 사용하는 언어 - 파이썬, 루비, php 등..
정적타이핑 (Static typing)
- 코드를 작성하는 시간이 느리다.
- 코드를 실행하는 속도가 빠르다.
- 코드의 구조를 파악하기 쉽다.
- 처음 프로그래밍 언어를 학습하는 사람들에겐 어려울 수 있다.
- 크고 복잡하며 여러 사람들이 함께 참여하는 프로젝트에 적합하다.
- 정적 타이핑을 사용하는 언어 - C, C++, 자바 등...
'그 외 공부 > CS' 카테고리의 다른 글
컴파일러(compiler)와 인터프리터(interpreter) (0) | 2021.01.10 |
---|