보니까 "OOP 에서 정적 타입 언어가 삽질인 이유 - Alan Kay" 이런 글이 있더라구.


뭐 다른 분야에서와 마찬가지로, 이 바닦도 기술적으로 뛰어나거나 진보한게 살아남은게 아니라, 진화론처럼 그냥 그때 그때 선택된게 오늘날에 이르렀다고 경우라 보면 됨.

대가리 수로 볼 때, 뛰어나다는 건 항상 마이너이기 때문에 절대 메이저가 될 수 없다.



동적타입 언어라는 것은, 쉽게 말하자면 런타임에 특정 코드(함수)가 실행되는 순간까지 타입을 모든다는 것이지.

이런 식으로 만든 시스템은 런타임에 타입 에러가 나더라도, 에러 핸들러에서 그 타입을 바뀌던지, 새로 연산을 정의하고 계속 실행하게 할 수 있다.

즉, 런타임에 시스템 확장성이 존재한다.

니가 매우 오래걸리는 계산을 한다고 해봐, 근데 런타임에 다운로드 한 입력 데이터에 쓰레기가 섞여있는 경우, 에러가 나더라도 에러 핸들러에서 고치게 만들거나, (이론적으로) 런타임에 디버거로 들어가서 수정 후, 다시 계산을 재개할 수 있다.


정적타입 언어는 니가 100% 완벽한 환경이 아니라면, 계산이 중지되었다가 재개할 방법이 없다. 기존 프로세스 죽이고, 소스코드 고치고 컴파일하고 다시실행.


야 ㅅㅂ 21세기에 아직도 이런게 컴퓨팅 현실이라니, 존나 한심스럽다.



한줄요약:

현실은 시궁창