프로그래밍을 위해 수 많은 언어들이 사용되고 있다. 언어의 종류가 다양한 것에는 소 잡는데 소 잡는 칼을 쓰고, 닭 잡는데 닭 잡는 칼을 쓰기 위해서이다. 무엇을 개발하고자 하는지에 따라 적합한 언어가 다르다는 뜻이다. 그리고 다양한 언어를 나누는 기준 중 한 가지가 동적타이핑 정적타이핑이다. 1) 동적타이핑 (Dynamic typing) 동적타이핑은 코드를 작성하는데 있어서 컴퓨터적 구조를 생략한다. 따라서 변수를 지정할 때 해당 변수의 데이터 타입 등을 명시하지 않아도 컴퓨터가 알아서 해석하도록 냅둔다. 예컨대 파이썬에서 a = 15 라는 식으로 변수를 지정할 때 a가 숫자라고 명시 하지 않더라도 컴퓨터는 이를 스스로 숫자라 해석한다. 이러한 방식은 코드를 보다 간결하게 해주며 코드의 로직을 보다 명..
그 외 공부
자료구조의 이해가 데이터 관리의 효율성을 높인다는 사실을 체감하기 위해선, 컴퓨터가 여러 형태의 데이터들을 어떻게 저장하는지를 알아야한다. 컴퓨터의 데이터 저장소는 크게 두 가지가 있다. 첫 번째는 스토리지라는 곳으로, 우리가 흔히 이야기하는 HDD, SDD가 스토리지이다. 두 번째는 메모리라는 곳으로, 노트북이나 컴퓨터를 구매할 때 이야기하는 RAM이 바로 이 메모리이다. 두 가지 저장소의 가장 큰 차이는 영구성과 휘발성, 그리고 데이터를 처리하는 속도이다. 스토리지는 데이터를 영구적으로 보관할 수 있다. 우리가 컴퓨터에 저장해놓은 영화, 음악, 과제파일 등.. 모두 우리가 직접 지우지 않는다면 계속 스토리지에 남아있다. 반면에 메모리는 데이터를 일시적으로만 보관한다. 따라서, 메모리에 데이터가 저장되..