보니까 "OOP 에서 정적 타입 언어가 삽질인 이유 - Alan Kay" 이런 글이 있더라구.
뭐 다른 분야에서와 마찬가지로, 이 바닦도 기술적으로 뛰어나거나 진보한게 살아남은게 아니라, 진화론처럼 그냥 그때 그때 선택된게 오늘날에 이르렀다고 경우라 보면 됨.
대가리 수로 볼 때, 뛰어나다는 건 항상 마이너이기 때문에 절대 메이저가 될 수 없다.
동적타입 언어라는 것은, 쉽게 말하자면 런타임에 특정 코드(함수)가 실행되는 순간까지 타입을 모든다는 것이지.
이런 식으로 만든 시스템은 런타임에 타입 에러가 나더라도, 에러 핸들러에서 그 타입을 바뀌던지, 새로 연산을 정의하고 계속 실행하게 할 수 있다.
즉, 런타임에 시스템 확장성이 존재한다.
니가 매우 오래걸리는 계산을 한다고 해봐, 근데 런타임에 다운로드 한 입력 데이터에 쓰레기가 섞여있는 경우, 에러가 나더라도 에러 핸들러에서 고치게 만들거나, (이론적으로) 런타임에 디버거로 들어가서 수정 후, 다시 계산을 재개할 수 있다.
정적타입 언어는 니가 100% 완벽한 환경이 아니라면, 계산이 중지되었다가 재개할 방법이 없다. 기존 프로세스 죽이고, 소스코드 고치고 컴파일하고 다시실행.
야 ㅅㅂ 21세기에 아직도 이런게 컴퓨팅 현실이라니, 존나 한심스럽다.
한줄요약:
현실은 시궁창
모 그런거보다 동적언어로 개발하면 편하지 첨에.. 일단 타이핑을 덜 해도 되고 함수에 암거나 쑤셔 넣어도 잘 받아먹고. 근데 문제는 가면 갈수록 개발자가 버그 내기가 쉬우니깐 첨에 얻었던 개발 효율을 뒤에 가서 디버깅 하느라 다 까먹는다는 것.. 그래서 코드 베이스 커지면 아예 정적 언어로 포팅하거나 타입체커들을 새로 들여온다거나 함 ㅇㅇ
루비에 sorbet 나 자바스크립트에 ts나 flow 같은거
흥미로운 이슈로군요 - dc App
나랑 type level programming 할래?
으이구 한심한 쉐퀴덜 뭐가 문젠지도 모르고 시궁창에 쌓인 쓰레기 맨 위에 오르려고 애쓴다 애써 ㅋ
늬들이 Alan Kay가 누군지나 아냐 ㅋ
스몰토크 연구용으로 널널하게 쓰니까 쓸만했지 업계에서 외면받은 이유가 뭐겠냐. 돈 걸리면 에러 빨리 캐치하고 안깨진다는 검증이 뭣보다 중요한데 스몰토크는 모든게 다 지뢰임. 나중에 다 쥐쥐치고 강타입 기반 StrongTalk 만들다가 노답이었는지 어쨌는지 몰라도 스몰토크 자체가 묻힘.