-
반응형
"프로그래밍 하는 사람을 괴롭히는 방법" 이라는 제목으로 세미콜론을 그리스어 물음표로 바꾸는 것이 있다는 내용의 글이 있다. 그리스어 물음표와 세미콜론이 비슷하게 생겼다는 점에서 나오는 개그인데, 실제로 그리스어 물음표는 세미콜론과 똑같이 생겼다.
; <- 이게 세미콜론
; <- 이게 그리스어 물음표
그래, 그런 문자가 있다는 건 알겠다. 그럼 이걸 그리스 사람은 실제로 쓰나?
외국인이 많이 사용하는 커뮤니티 사이트인 Reddit에서 그리스어로 적힌 글을 찾았다. 세미콜론 비슷하게 생긴 문자를 사용하는 것을 알 수 있다.
번역을 해 본 결과, 의문문이었다는 것을 알아냈다. 나는 그리스어를 모르기 때문에, 사용한다는 것을 알고 넘어가자.
당연히 그렇지 않은 경우도 있다.
생긴 게 똑같다는 것은 알겠다. 그런데 왜 이게 버그를 유발한다는걸까?
C, Java, JS, C++ 등 수많은 프로그래밍 언어에서 한 줄을 구분하는 문자는 세미콜론(;)이다. 그래서 프로그램 파일에는 세미콜론이 무지막지하게 많이 쓰이는데, 이를 그리스어 물음표로 바꿔놓으면 컴파일러가 인식하지 못하기 때문에 버그가 발생하게 된다.
유니코드 상으로 그리스어 물음표와 세미콜론은 엄연히 다른 문자이다. 정확히는 U+003B (세미콜론) 과 U+037E (그리스어 물음표)의 차이.
컴퓨터는 눈이 없다. 똑같이 생겼다는 것은 그 생긴 모양이지, 컴퓨터는 U+037E라는 전혀 다른 코드로 인식하기 때문에 버그가 발생하는 것이다.
C 코드에서 그리스어 물음표를 사용한 예시이다.
Visual Studio를 포함한 여러 IDE는 Intelicode 기능이 있어, 버그가 발생하면 빨간 밑줄을 그어주기 때문에 이런 일에 당할 일은 거의 없다.
IDE를 사용하지 않고 메모장으로 코딩을 하는 Chill guy가 있다면 한 번 시도해보는 것도 좋겠다.
(정말 Chill하다...) 참고로 파이썬은 세미콜론으로 줄 구분을 하지 않기 때문에 통하지 않는다.
그렇다고 그게 파이썬을 꼭 사용해야 되는 이유는 못 된다.
애초에 그런 장난을 치는 사람이 얼마나 있다고...
반응형'메모장' 카테고리의 다른 글
커서 모드가 바뀌었어요 (0) 2025.01.26 비활성화된 에픽게임즈 계정 활성화시키기 (1) 2024.02.11 컴퓨터로 일본어 타이핑하기 (0) 2024.02.03 윈도우 11 작업 표시줄 왼쪽으로 보내기 (0) 2024.02.01