브라이언 커니핸과 데니스 리치의 기념비적인 프로그래밍 서적 “The C Programming Language”주1는 우리에게 하나의 문화를 선물했습니다. 새로운 기술을 만났다면, 무엇보다도 제일 먼저 세상을 향해 인사해야 한다는 것이죠. 설령 동방예의지국에 살지 않는다고 해도주2, 엔지니어링이란 말에 심장이 뛰는 모든 사람이라면 누구나 인사부터 해야 하는 겁니다.
인사말은 ISO 9899에 따라 “Hello, world”로 정의됩니다주3. “Hi”는 너무 짧고, “How do you do”는 너무 깁니다. 하지만 “Hello”는 적절하고, 아름답습니다. 우아하게 균형 잡힌 인사말을 고안하기 위해 노력하며 흘린 피, 땀, 눈물이 고스란히 느껴집니다. 이 인사말 안에, 유한한 세계에서 필멸자로 살아가는 엔지니어의 운명주4인, 트레이드오프의 정수가 담긴 것 같습니다.
“World”는 또 어떤가요? 우리가 만나게 될, 우리가 영향을 끼치게 될 대상을 이보다 더 명확히 표현할 수 있을까요? 게다가 우리는 바로 그 세계에 속하고, 우리는 우리가 속한 세계를 변화시킵니다. 즉, 스스로를 바꿔나가게 되는 거죠. 우리는 우로보로스와같이 무한한 순환고리 안에서 종종 이 세계가, 그리고 우리가 변했다는 사실을 깨닫고 다시금 인사를 건네게 됩니다.
print("Hello, world!)
console.log("Hello, world!");
우리는 평생 몇 번이나 “Hello, world!” 프로그램을 작성하게 될까요? 얼마나 자주, 얼마나 크게 세상에 영향을 끼치게 될까요?
안심할 수 있는 산업 현장을 꿈꾸는 원프레딕트의 기술적 고민을 이 블로그에서 함께 나누길 기대합니다. Hello! 👋
- 번역서는 아쉽게도 절판됐습니다.
…로 알고 있었는데, 도서출판 인사이트 대표님께서 해당 도서가 완전히 새로운 이름으로 다시 나왔다고 알려주셨습니다. http://aladin.kr/p/jbDSE
↩ - 엔지니어가 모두 한국인일 거라 생각하는 건 편견입니다.↩
- 거짓말입니다.↩
- 어떤 아이템과 유사하지만 다름에 유의!
↩ - Flake8은
print
사용을 지양합니다. https://docs.astral.sh/ruff/rules/print/↩ - ESLint는
console
사용을 지양합니다. https://eslint.org/docs/latest/rules/no-console↩