1. 예전 컴퓨터 학원 다니면서 BASIC 배우고 C++ 조금 만지작 거린 문과생입니다.

컴퓨터 프로그램, 굉장히 재미있었어요. 문과생인데도 불구하고, 제가 조물조물 만져서 제가 원하는 어떤 프로그램이 탄생하는 게 신기하기도 했고요.

한 때 유행했던 심리테스트 (YES OR NO로 선택하는 질문을 몇 개 거치면 타입이 나오는, 여성 잡지에 자주 나오는 테스트)를 C++로 만들어 보고 얼마나 흥분했는지...

마치 제가 유명 프로그래머가 된 듯한 느낌이었습니다.

거기에 자신감이 생겨서 친구들한테 제가 만든 게임도 배포하고 그랬습니다. (텍스트 어드벤쳐 게임이었어요. 그림도 나오고... 아직도 제 하드에 간직하고 있어요 ㅋ)



2. 사설이 길었는데, 제가 궁금한 점은요.

C언어 같은 걸로 프로그램을 만들면 실행 파일이 되잖아요.

하지만 C 언어 자체도 하나의 실행 파일이라고 볼 수 있잖아요. 그렇다면 C언어 같은 건 어떻게 만드나요?


예전 제가 생각하기에 C언어는 하나의 '신神'이었어요. '빛이 있으라' 하면 빛이 생기는 격이니까. (프로그램아 생겨라, 하면 생기죠 ㅋ)

그럼 신은 누가 어떻게 만들었을까 하는 질문이 생기더군요. (프로그램을 생산하는 프로그램은 어떻게 만드는지...)



이 질문을 답하기 위해, 저는 EXE 파일을 텍스트로 읽어서 막 분석도 하고 그랬어요 ㅋㅋㅋ 만약 제가


printf("My name is...");


이렇게 쓴 걸 코딩하면 분명 EXE 파일에서는 이게 어떻게 변환된 형태로 있을 거다, 그 변환 공식만 알면 난 C 언어를 통하지 않고서 내가 텍스트 파일로 실행파일을 만들 수 있을 거다. 뭐 이런 엉뚱한 생각을 했던 기억이 나네요. 물론 몇 개월 끝에 실패했지만.



근데 이 궁금증은 아직도 풀리지 않고 있어요. 실행 파일을 만들 수 있는 실행파일(?)은 어떻게 만드는 건가요?

제 질문 자체가 잘못됐나요?

제가 전문가가 아니기 때문에 어휘 선정이 잘못되었을 수도 있는데, 제 질문의 요지가 제대로 전달되었기를 바랍니다...


아시는 프로그래머 분들이나 관련 전공인 분들 설명 좀 해주세요. 문과생이 이해할 수 있도록...

XE Login