콘텐츠로 건너뛰기

요즘 보고 있는 책입니다. 예제로 배우는 C프로그래밍

C프로그래밍
C프로그래밍

언제쯤 구입하였었던 책이었는지 잘 기억이 나질 않습니다. 어렴풋이 중학교때 쯤이 아닐까 추측하고 있을 뿐입니다. 제가 중학교 2학년때 처음 저희 집에 컴퓨터라는 물건이 생겼었거든요. 아마 집에 컴퓨터라는 물건이 생기면서 무언가 공부해 보고 싶어서 구입했던 책 같습니다.

C언어에 대해서 알고는 싶었지만 마땅히 배울만한 자료가 없어서 동네 서점에서 눈에 띄는 책을 하나 구입 했습니다. 설레는 마음으로 책을 안고 집으로 돌아와 책을 펼쳐 보았습니다.

그런데 웬일입니까. 무슨 말인지 전혀 알지 못하겠는 겁니다. 책과 함께 부록으로 들어있던 디스켓의 내용물을 보면 무언가 좀 알 수 있지 않을까 하는 마음에 컴퓨터에 디스켓도 넣었습니다. 디스켓에 있는 파일들을 실행 해 보니 도스 화면에 단어 몇 개가 출력되고는 프로그램이 종료됩니다. 게다가 생전 처음보는 .C라는 이름의 확장자를 가진 파일들만 가득하고 말이죠. 이틀정도 알지는 못하지만 내가 프로그래밍의 고수라도 된 느낌에 책을 뒤적거려 보고 디스켓에 있는 파일들을 실행 해 보다가 결국 흥미를 잃고 책은 영원히 책장속에 봉인이 됩니다. 그것도 눈에 아주 잘 띄는 위치다 보관을 합니다. 친구들이 놀러 왔을 때 책을 발견하곤 나를 프로그래밍의 고수라고 생각하지 않을까 하는 마음에 말이죠.

초등학교 시절 컴퓨터 학원을 다니면서 GW-BASIC을 배웠습니다. 이게 무엇을 하는 것인지도 모르고 단지 컴퓨터를 배우고 싶어서 학원을 다녔었죠. 조금씩 하다 보니 흥미도 생겼습니다. 친구들이 어디서 구해왔는지 BASIC으로 만들어진 게임 소스도 디스켓으로 구해다가 가져 오더군요. 재미를 붙이고 열심히 배웠지만, 전 BASIC안에서 RUN이란 명령어로 실행되는 프로그램이 아닌 EXE라는 확장자를 가지고 도스화면에서 파일명을 타이핑하고 엔터를 입력하면 실행이 되는 프로그램을 만들고 싶었습니다. EXE파일로 만들어지는 프로그램이 아니니 제가 만든 것은 프로그램이 아니라고 생각하고 있었습니다.

그리고 시간이 흘러 중학교시절 첫 컴퓨터가 생기고 저도 프로그래밍이라는 것을 본격적으로 공부 해 보고 싶었습니다. 친구들에게 C언어라는 것으로 프로그램을 만들면 EXE파일로 프로그램이 만들어 진다는 이야기를 들었습니다. 이젠 RUN이 아닌 EXE라는 확장자가 붙어있는 프로그램을 만들고 싶어졌습니다. 그런데 저 책 한권으로 인해서 프로그래밍과는 긴 시간동안 멀어져서 지내게 되었습니다. 컴파일이라는 것의 개념도 알지 못했고, 무엇으로 코드를 작성해야 하는지도 모르고 있었는데 저 책은 그것들을 가르쳐주고 있지 않았거든요.

이번에 방학을 하고 집에서 책을 정리를 하던 중, 제 추억속의 책을 발견 했습니다. 요즘 조금씩 들여다 보고 있는데, 어렸을 적 그 어려웠던 책의 내용이 이제서야 눈에 보이는군요. 어렸을 적 저에게는 당연히 어려웠을 수 밖에 없었네요. 저건 C언어 기초를 배우기에는 매우 부적절한 책이거든요. 책은 C언어 기초가 아닌 알고리즘에 대해서 설명하고 있네요. 책의 맨 처음, 첫번째 예제에서는 C언어로 구조적인 프로그램을 짜는 부분에 대해서 설명하고 있고 두번째에는 배열을 이용한 예제 프로그램에서 그 프로그램의 알고리즘과 배열에서 영문과 한글 문자열 처리 방식을 어떻게 해야 하는지에 대해서 설명하고 있네요.

당시에 저 책이 아닌 다른 책을 접했더라면, 그래서 중학교 때 부터 프로그래밍에 관심을 가지고 꾸준히 공부 해 왔었다면 지금의 제 모습이 어떻게 변해 있을까 하는 생각과 함께 여러가지 생각들이 머릿속에 떠오르네요^^ㅋ

부록으로 들어있는 5.25인치 2D 디스켓
부록으로 들어있는 5.25인치 2D 디스켓

마지막으로 보너스 사진입니다. 초판 발행일이 1995년도 책이다 보니 부록이 CD가 아닌 요즘에 보기 힘든 5.25인치 2D 디스켓으로 들어 있습니다. 2HD도 아닌 2D 디스켓에 책의 모든 예제 소스가 들어있다니!! 요즘 같아 선 상상도 하기 힘든 일이 당시엔 가능 했었습니다. 16M의 메인 메모리를 장착하고 있는 제 첫 컴퓨터를 보고 친구들은 고용량의 슈퍼컴퓨터라고 하곤 했었으니까요^^


태그:

14 개의 댓글

  1. 왠지 그립네요. 저는 윈도우즈 95직전에 도스를 썼었는데, 당시는 아무것도 모르고 가끔 켜서 워드로 이것저것 써보면서 놀 뿐 ^^; 방학도 되고 했으니 잠자던 C책을 저도 펼쳐야겠습니다.

    1. 지금 와서 저 책을 보니 참 재미 있습니다. 포인터에 대해서 설명하는 부분을 현재 보고 있는데, 알기 쉽게 잘 설명하고 있네요. 물론, 당시에는 포인터가 무엇인지도 모르고 있었지만요^^ㅋ

      Laputian님은 저 보다 조금 더 일찍 컴퓨터를 구입하셨나봐요. 제 첫 컴퓨터의 OS는 윈도우즈95였답니다. 컴퓨터 구입 전부터 컴퓨터 학원과 친구들 집에서 도스를 접해왔기에 윈도우보다는 도스의 MDIR을 더 많이 사용 했었지만요^^ㅋ

  2. 5.25인치 오랜만에 보네요. 95년이면 3.5인치도 많이 썼는데 아무래도 부록이다 보니 더 싼걸로 줬나봅니다^^
    8비트 컴퓨터에서 저 5.25인치를 쓸때 디스켓 왼쪽에도 오른쪽 처럼 구멍을 내면 디스켓을 뒤집어서 반대면도 쓸 수 있었는데.. ㅋㅋ

    1. 네…^^ 그래서 디스켓 두장짜리 게임을 카피할 때 앞면에 하나, 뒷면에 하나 이렇게 했었습니다.. 근데 16비트 컴이 나오더니 거기서는 안되더군요 ㅠ.ㅠ

    2. 2D는 Double-Density 라고.. 기록밀도를 높인 것이니까 뒷면은 비어있죠.. 뒷면에도 마그네틱 코팅이 되어있어서 뒤집어서 쓸수 있는, 또는 한번에 양면을 써서 용량이 두배인 디스켓이 되는게 2DD(Double-side, Double-density)죠.. 2D드라이브에서 2DD디스켓을 뒤집어서 쓸수 있었어요^^ 그시절이 아련히 그리워지네요..ㅎㅎ
      64KB메인 메모리를 쓰다가 128KB로 올리고 메모리 기술은 끝났다고 생각했는데..ㅎㅎ

    3. 아하..;;
      모든 2D디스켓이 양면 기록이 가능한 것이 아니라, 2DD라는 디스켓이 따로 있었던 것이었군요^^

  3. 저도 GW-Basic 이후로는 해본게…ㅋㅋ
    GW-Basic으로 키보드 버튼 연타하면 달리기 되는 게임 만들었던 기억이 나는군요;
    물론 지금은 하나도 기억이….ㅠㅠ
    동생이랑 가끔 내기할때 했는데;;ㅋㅋ

    1. 저도 지금은 Basic 기억이 거의 안납니다..ㅎㅎ
      그래도 어렸을적에 배워 놓은게 나중에 와서 For문하고 If문에 대해서 배울때는 조금 도움은 되더라구요.

  4. 디스켓에 게임 카피해서 돌려쓰던 시절이 생각나네요..
    5.25디스켓 …옛날 향수가..~~^^

    1. ㅎㅎㅎ 형, 저희집에 아직도 5.25디스켓이 좀 남아 있어요.
      근데 그걸 읽을 수 있는 드라이브가 없네요…;;ㅋ

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다