▼ 표 5-4 원문과 수정문
|
원문 |
수정문 |
|
지그는 러스트가 아니므로 널 포인터 역참조를 기꺼이 허용하며(너무 명백한 경우에는 타입 시스템이 막으려 시도한다) 이미 해제된 메모리에도 접근할 수 있다. 오래 걸리는 디버깅 작업이라는 수상쩍은 즐거움을 누리는 수밖에 없었다. 남은 건 우리, gdb, 아홉 잔째 들이켜는 커피뿐이었다. 그래도 모든 기존 도구가 작동하는 것을 보니 마음이 놓였다. |
러스트와 달리 지그는 널 포인터 역참조를 기꺼이 허용한다(물론 너무 심각한 경우는 타입 시스템이 막으려 한다). 또 이미 해제된 메모리에 접근할 수 있게 해 준다. 우리는 이런 자유를 남용했고, 그 결과 긴 디버깅 세션이라는 달갑지 않은 즐거움을 누리게 되었다. 남은 건 우리, gdb, 아홉 잔째 들이켜는 커피뿐이었다. 그래도 최소한 모든 기존 도구가 문제없이 작동했다. |
|
지그의 놀라운 점 중 하나는 크로스 컴파일, 즉 컴파일러가 실행 중인 설정과 다른 CPU 아키텍처와 운영체제를 대상으로 코드를 컴파일하는 것이 이 언어의 핵심 기능이라는 것이다. |
지그의 크로스 컴파일 기능은 정말 놀랍다. 컴파일러가 실행 중인 환경과 다른 CPU 아키텍처나 운영체제를 대상으로 코드를 컴파일할 수 있다. |
be 동사와 전치사를 모조리 삭제하지 않았다는 점에 주목하라. 여러분도 굳이 다 없앨 필요는 없다. 이런 부분을 꼼꼼히 살펴보는 것은 문장의 명확성을 높이는 수단일 뿐 그 자체가 목표는 아니다. 필수적이지 않은 단어 몇 개를 남겨 둔 것도 마찬가지다. 글쓴이의 친근하고 인간적인 문체를 보존하려고 의도적으로 그렇게 했다. 거리감이 느껴지는 따분한 글로 만들고 싶지 않았다. 글에 인간적인 느낌을 담는 이유와 방법은 5.5.1절에서 이어서 설명하겠다.