그냥 아무 이유 없이 갑자기 궁굼해졌다
자기자신을 의미할때 C++ 에서는 "this" 라는 키워드를 사용하고 파이썬은 "self"라는 키워드를 사용한다. C++ 의 this는 keyword 이고 파이썬은 단지 개발자가 self라고 변수명을 그렇게 지칭하는것뿐이지만
관례적으로 self를 사용한다.
C++ 은 83년, 파이썬은 91년에 나왔으니까 관례적으로 this를 사용해야 맞는거 같은데 self를 사용한다.
이 이유가 너무 궁금해서 찾아봤는데 망할 this 랑 self <- 이거 단어가 너무 자주쓰이는 단어라 자기자신을 가르키는 keyword 로 검색이 안된다.
처음 생각이 객체지향의 시초인 smalltalk 때문인거 같아 스몰토크에서 사용하는 키워드를 찾아봤는데
역시나 smalltalk 에서 self 를 쓴다.
근데 그렇게 되면 C++은 왜 검색하기도 힘들게 self 가 아닌 this 를 사용했을까?
이것도 또 검색해봤는데..
개발자의 영원한 친구 킹갓플로우의 답변에 댓글로 적혀있는 글이있다.
Most people doing OOP in C, such as with gobject use self specifically to avoid reserved keyword clashes if their code is ever included in a C++ project.
간단히 말하면 스몰토크가 객체지향이라는 개념을 가져오자 객체지향을 적용한 언어들에서 self 란 키워드를 사용하게 되었다.
근데 이게 새로 생기는 언어면 모르겠는데 C에서는 이러한 개념이 없으므로 개발자들이 스스로 self라는 키워드를 사용해서 객체지향을 사용했는데 C의 슈퍼셋인 C++은 C에서의 self와 명칭이 곂치는것을 피하기 위하여 다른 키워드인 this를 사용하게 된것이고..
뭐 자연스럽게 smalltalk-ish 는 self 를 C++-ish는 this를 사용하게 되었다고한다.
'프로그래밍 기술 노트 > 기타 정보' 카테고리의 다른 글
Try-Catch 트릭 과 정석의 Cost비교 (0) | 2019.06.29 |
---|---|
Visual Studio 같은 파일을 다른 탭으로 보기 (1) | 2019.06.16 |
정규표현식 관련 사이트 regex101, txt2re (0) | 2019.06.01 |
Webdriver Selenium (0) | 2019.05.30 |
VSCode 자동 인코딩 (0) | 2018.09.19 |