반응형
프로그래밍언어는 변수의 데이터 타입별로도 분류할 수 있다. 각 장단점이 분명하기 때문에 배울 프로그래밍 언어와 공부의 방향을 잡기 위해서 미리 알아두는게 좋다.
Dynamic typing? Static typing? 변수의 데이터 타입별 프로그래밍 언어의 분류
Dynamic typing 언어와 Statictyping 언어는 변수를 선언할 때 자료형을 미리 지정하는가 안하는가에 대한 분류이다. 아래 표와 같은 차이이다.
Dynamic typing 언어와 Static typing 언어의 차이
Dynamic typing 언어 | x = "letter" y = 21 |
Static typing 언어 | String x = "letter"; int y = 21; |
x 에는 letter 라는 글자를 저장하고 y에는 21이라는 숫자를 저장하는데 Dynamic typing 언어는 간단히 변수와 값을 지정한 것과 달리 Static typing 언어는 변수의 자료형을 미리 지정한 것을 알 수 있다. 단순히 어떤 언어가 좋다기 보다는 아래와 같이 장단점이 있다.
Dynamic typing 언어의 장점
- 간결하고 편리하다.
- 어려운 표현이 적어서 내용과 로직이 쉽게 이해 된다.
- 비전공자가 배우기 쉽다.
- 코딩의 속도가 빠르다.
- 작은 크기의 프로그램을 혼자 만들기 쉽다.
Dynamic typing 언어의 단점
- 컴퓨터적 구조가 생략되어 실행속도가 다소 느리다. (컴퓨터의 발전으로 실행 속도는 많이 개선되었다.)
Static typing 언어의 장점
- 명확하고 정교한 언어를 추구한다.
- 컴퓨터적 구조가 눈에 잘 들어온다.
- 사람의 실수를 시스템적으로 방지하고 체계적으로 코드를 작성하도록 한다.
- 많은 사람의 협업, 크고 복잡한 프로젝트에 적합하다.
- 컴퓨터적 구조를 미리 지정하기 때문에 실행 속도가 빠르다.
Static typing 언어의 단점
- 제약이나 규칙이 많다.
- 초보자/비전공자가 배우기 어렵다.
Dynamic typing 언어와 Static Typing 언어의 비교
언어 | Dynamic typing 언어 | Static typing 언어 |
추구하는 방향 | 간편함과 편리함 | 안정성과 정교함 |
코딩 속도 | 코딩 속도가 빠르다. | 코딩 속도가 느리다. |
실행 속도 | 실행 속도가 느리다. | 실행 속도가 빠르다. |
이해도 | 코드의 내용이 쉽게 이해된다. | 컴퓨터적 구조가 쉽게 이해된다. |
난이도 | 배우기 쉽다. | 배우기 어렵다. |
적합도 | 혼자, 작고 단순한 프로젝트에 적합 | 다수, 크고 복잡한 프로젝트에 적합 실행 속도가 중요한 프로그램에 적합 |
사용 언어 | 파이썬, 루비 등 | 자바, C 등 |
Dynamic typing? Static typing? 변수의 데이터 타입별 프로그래밍 언어의 분류
※ 이 포스트는 내돈내산 코드잇 강의 내용을 기반으로 작성되었습니다.
반응형
'IT&Computer' 카테고리의 다른 글
좋은 코드 나쁜 코드가 따로 있을까? 좋은 코드 작성 방법 (4) | 2023.07.28 |
---|---|
프로그래밍 언어에도 수준이? 프로그래밍 언어의 스팩트럼 (0) | 2023.07.27 |
객체 지향 프로그램이란 무엇일까? 객체지향 프로그래밍 언어의 이해 (2) | 2023.07.25 |
초보자가 프로그래밍을 배우기 힘든 이유! 프로그래밍도 알고 시작해야 한다! (2) | 2023.07.24 |
파이썬으로 프로그래밍 시작하기 - 함수의 파라미터와 리턴 Parameter, return의 개념 (0) | 2023.07.23 |