simplicity & orthogonality
언어 구성 요소가 가능한 적고 서로 기능이 겹치지 않으면 좋을 거란 건데
언어에 어떤 요소를 추가해서 나아지는 것보다 제거해서 나아지는 게 더 고차원적일 거라고 생각함.
자바는 그나마 있던 simplicity가 희석돼가지 않나 생각하고 (물론 다른 것들을 얻겠지만)
하스켈은 기본 문법만 따지면 그렇게 단순할 수가 없어서 역시 과유불급이란 말이 맞는 거 같음.
그럼 이제 C++을 보자……?
simplicity & orthogonality
언어 구성 요소가 가능한 적고 서로 기능이 겹치지 않으면 좋을 거란 건데
언어에 어떤 요소를 추가해서 나아지는 것보다 제거해서 나아지는 게 더 고차원적일 거라고 생각함.
자바는 그나마 있던 simplicity가 희석돼가지 않나 생각하고 (물론 다른 것들을 얻겠지만)
하스켈은 기본 문법만 따지면 그렇게 단순할 수가 없어서 역시 과유불급이란 말이 맞는 거 같음.
그럼 이제 C++을 보자……?
orthogonality가 달성하기 참 어려운것 같음.
해당 댓글은 삭제되었습니다.
컴파일러 구현하기 복잡하단 게 장점은 아닐텐데. 표준 라이브러리도 많은 거 자체가 단점은 아니지만 이식하는 입장에선 장점도 아니겠지.
기능 많은 게 나쁘단 건 아니고 걍 지적하자면 '모던 C++가 많이 들어와 있어서' 이 부분 이미 컴파일러까진 작성된 걸 전제하는데 그럼 신경쓰는 게 아니지. 저건 기준 중에 하나일 뿐임. 전체적으로 보면 C++은 선방이지.
이젠 거의 머 강타입 펄 아닌가
개인적으로는 권장되는 idiom들이 언어적으로 강제되지 않는다는게 좀 아쉬움. 오쏘고날리티는 사실 언어가 오래되면 어쩔 수 없이 훼손되는 느낌은 있는데 시플플은 그 정도가 너무하지않은가 싶기도하면서 또 redundancy들을 잘 묻고가는 거 같아서 괜찮을까도 싶고.
모던 cpp에서 orthogonality 해치는 사례가 머임?
입출력 라이브러리가 3종류라든가, 생성자 호출 구문이 애매해질 정도로 다양하다든가, tmp → concepts라든가. 나도 C++ 눈팅만한지 오래돼서 확실하지 않음. 어차피 가장 최근 문법만 쓰면 사소한 문제라고 생각할 수도 있음.