프로그래머가 평생 남기억하는 10줄 이하 코드 10개, 헬로월드 루프에서 SKAN2.PAS까지
- 글쓴이가 2026년 9월 25일 개인 블로그에 올린 에세이로, 직접 짰거나 빌려 쓴 10줄 이하 코드 조각 10개를 사연과 함께 나열함
- 첫 항목은 Pascal의
10 PRINT "HELLO, WORLD!" / 20 GOTO 10무한 루프로, 컴퓨터가 시킨 대로 끝없이 실행된다는 사실을 처음 체감한 코드였다고 회고함 - 6502 어셈블리 예제는 루프 안에서
INC .loop+2와INC .loop+5로 루프 자체의 주소 바이트를 바꾸는 자기수정 코드이며, 6502가 리틀엔디언이라 더하는 오프셋이 +2와 +5라고 설명함 - Windows용
type nul > .\"%*"배치 파일을touch대용으로 Windows NT에서 Windows 7까지 썼고, Total Commander 미니셸에서 새 빈 파일을 찍어내는 용도로 매일 사용함 - 학교 LAN의 3글자 사용자를 돌며 기본 비밀번호 계정을 찾아내던 Borland Pascal 스캐너 SKAN2.PAS와 280자 CSS 애니메이션 시 CSS280, 그리고
border: 10px solid hotpink식 CSS 디버깅 요령도 함께 수록함
Hacker News opinions
코드 스니펫 타투 후보 모으고 있는데 여기 몇 개가 꽤 어울리겠더라. CSS 디버깅은 hotpink 대신 그냥 red 쪽이 더 끌림.
나한테 의미 깊었던 소스 한 줄들 짚어보면 while(1){fork();}, FreeBSD crt0의 exit(main(kfp->kargc, argv, environ)), 그리고 중위 순회 재귀 함수임. 파서 제너레이터로 만드는 게 결국 트리라서 각 production의 side effect가 노드를 끼워 넣는 거였다는 걸 깨달은 순간이 제일 컸음.
touch.bat 그 부분 웃겼음. 나는 touch 하면 기존 파일 타임스탬프 갱신이 먼저 떠오르는데 저 스크립트는 거꾸로 파일 내용을 지워버림. alias 로 걸어두면 무섭더라.
난 BASIC 로 시작해서 "Hello, World!"가 C 전유물인 줄 알았어. Kernighan과 Ritchie의 『The C Programming Language』 첫 예제가 그거였다는 게 밝혀졌음.
Atari 800에서 POKE로 키 반복 딜레이를 0, 반복 속도를 초당 60자까지 올려놔서 남이 타이핑을 못 하게 만드는 장난이 있었음. 전원을 껐다 켜야 풀렸고, 11살짜리한테는 최고의 개그였음.
나는 C64 BASIC 으로 화면 임의 위치에 임의 문자와 색을 POKE 하는 무한 루프 아트가 첫 출시 코드였는데, 로컬 몰의 Radio Shack 매장 C64 전 기기에 그게 떠 있었음.
CSS 디버깅은 * { outline: 1px solid hotpink !important; outline-offset: -1px !important; } 이 나음. border 는 콘텐츠를 밀어내니까. 파이어폭스면 페이지에서 ctrl-click 으로 자식 요소 아웃라인 그려주는 게 더 빠름.
근데 border 가 outline 보다 훨씬 예전 속성임. 파이어폭스나 크롬보다 오래됐고, outline 이 실용적이게 된 건 2021~2023년쯤임.
Lisp 그 defmacro twice 예제가 코드가 코드를 만드는 코드를 만든다는 걸 잘 보여줌. twice 는 인자를 두 번 실행하는 게 아니라 실행 전에 프로그램 자체를 (progn ,form ,form) 으로 재작성함.