나빌레라의 프로그래밍하기 #0

나빌레라의 이미지

나빌레라의 프로그래밍 하기

0. 시작
나는 소프트웨어 프로그램을 만들어 돈을 받는다. 그 돈으로 전세자금 대출도 갚고, 밥도 사먹고, 데이트도 하고, 각종 공과금과 교통비등 생활비를 감당한다. 소프트웨어 프로그램을 만들어 돈을 벌어 먹고 살고 있으니 내 직업은 소프트웨어 프로그래머라고 볼 수 있다. 우리말로는 소프트웨어 개발자라고도 한다. 프로그래머와 개발자라는 두 단어 중 딱히 선호하는 단어는 없지만, 앞으로 이 글에서는 나와 같은 일을 하는 사람들을 모두 통칭해서 개발자라고 부르겠다. 앞에 소프트웨어라는 단어는 붙이지 않겠다. 이 글을 읽는 사람들은 대부분 소프트웨어 개발자일테니까.

개발자가 프로그램을 만드는 과정을 흔히 동사로 표현해서 '코딩한다.'라고 말하는 사람들이 있다. 그리고 어떤 사람들은 코딩은 프로그램을 만드는 과정중에 극히 일부일 뿐이므로 분석, 설계, 개발, 테스팅 과정을 모두 포함하는 단어를 사용해야 한다고 주장하기도 한다. 그 과정을 "개발"이라고 부르는 사람도 있고 "프로그래밍"이라고 부르는 사람도 있다. 정확하게 말하면 "소프트웨어 개발", "소프트웨어 프로그래밍"이다. 아까 언급했든 두 단어 사이에 특별한 선호가 없기에 나와 같은 일을 하는 사람들을 "개발자"라고 부르기로 한것에 대한 보상 차원에서 나와 같은 일 자체는 "프로그래밍"이라고 부르겠다. 조금 공평해 진것 같다.

이 글은 이미 현업에서 많은 경험과 경력을 쌓고 지금도 열심히 프로그래밍을 하고 있는 선배 개발자 분들이 보시기에는 조금 우스운 글이 될 것이다. 하지만, 이제 대학생이거나 학교를 졸업하고 본격적으로 개발 프로젝트를 시작하는 초보 개발자들에게는 어쩌면 도움이 될지도 모르는 글이 될 것이다. 당연히 도움이 안될 수도 있다. 이 글이 본인에게 도움이 되고 안되고는 글을 읽는 사람의 상황과 처지에 따라 다른 것이기 때문이다.

나는 이 글을 계속 쓰면서 내 나름의 프로그래밍하는 방법에 대해서 말할 것이다. 물론 프로그래밍하는 방법은 "방법론"이라는 이름을 달고 아주 많은 것들이 이미 만들어져 있고 지금도 아주 활발히 연구되고 있다. 나는 이 방법론을 설명하려는 것이 아니다. 이 방법론을 포함하는 프로그램을 만들기 위해 발상하는 순간부터 프로그램이 완성될 때까지의 전체 과정을 일기나 수필 형식으로 말하려는 것이다. 딱딱한 방법론 책보다는 수필같은 글이 읽기 편하지 않은가.

이 글을 쓰고 있는 시점에 나 역시 머릿속에 아무런 생각이 없다. 전에 다른 글을 쓸 때와 다르게 지금 쓰고 있는 이 글에 대해서도 계획이 없다. 다만 어떤 글을 써야 겠다라고 하는 컨셉과 목표만 설정했을 뿐이다. 프로그램을 만드는 과정도 마찬가지이다. 일단 어떤 프로그램을 만들지 컨셉과 목표를 정하는 것이 시작이다.

이왕 이 글을 쓰기로 했기에 글을 쓰면서도 나도 프로그램 하나를 만들어야 겠다. 그리고 그 프로그램을 만들면서 이 글을 계속 진행해야 겠다. 어떤 프로그램을 만들지는 아직 정하지 않다. 다음 글을 쓸 때 쯤엔 정해지지 않을까.

====

====
이 글은 CC이지만 다른곳에 불펌은 하지 말아 주세요. KLDP와 raonlife에(http://raonlife.com/navilera/blog/view/50/)만 연재합니다. 다른 곳에 연재되어 있는 것은 불펌이오니 저에게 알려주세요.

댓글

kucuny의 이미지

오오~ 기대하고 있겠습니다. :)
항상 좋은 글 잘 보고 있어요~

**********************
세상의 중심 kucuny.com
**********************

dbckdgns의 이미지

제 책장에는 집필하신 '임베디드OS만들기' 책이 있습니다.

ammoguy의 이미지

#1에서 헬로월드 찍으실건 아니시겠죠.. 언어 배우기가 아니니까..

--------------cut here----------
너는 아느냐, 진정한 승리를

oppor의 이미지

이렇게 계속해서 글을 쓰시는 열정이 부럽네요.^^

나빌레라의 이미지

감사합니다.

열정은 넘치는데,
의지가 열정을 따라가지 못하고,
귀차니즘이 열정을 이길 때가 너무 많아서
문제에요...-_-;

----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라

gloomyr의 이미지

공감합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.