프로그램

백괴사전, 너희 모두의 백과사전
이동: 둘러보기, 검색
당신의 뇌가 급증하는 정보량을 이기지 못하고 폭주하는 모습 이 문서는 그 내용이 위키백과처럼 진지하고 어려워서, 읽는 순간 다음과 같은 문제가 발생할 수 있습니다.
다음 글을 읽는 순간 당신의 머리가 폭발하여 가 분출할 것이며,
컴퓨터마저 오류를 일으킬 것입니다.
True.svg 이 문서는 사실을 근거로 한 내용을 담고 있습니다!
이 문서는 비록 백괴사전에 등록되어 있지만 최대한 사실에 근거하여 만들어진 문서입니다.

면책 조항: 이 틀이 달려 있더라도, 사실이 아닐 수 있습니다.

Nuvola apps kcmsystem.svg 이 문서의 대상은 기계입니다.
기계가 고장났을 경우 고물상에서 바꿔 먹거나 고스트로 락다운을 하시기 바랍니다.
락다운.jpg
Hi.jpg 이 생물은 굉장한 살인마입니다!
이 생물은 살인마이니 조심하시기 바랍니다.
Kill.PNG


프로그램프로그래머들이 프로그래밍 언어로 만드는 명령어의 집합이다.

프로그램의 생성 과정[편집 | 원본 편집]

프로그램은 해당 프로그래밍 언어와 그 라이브러리, 그리고 컴파일러가 모두 갖추어진 컴퓨터, 프로그래밍 언어, 프로그래머라는 3요소가 갖추어지면 탄생할 수도 있고 그렇지 않을 수도 있다. 결정적으로 프로그램은 프로그래머가 조작하여야 탄생한다. 프로그램은 처음에 프로그래머의 머릿속에서 구상되는데, 프로그래머는 기계에 가깝기 때문에 자신이 만들고 싶은 프로그램이 떠오르면 머릿속에서 어떻게 짜야 하는지 코드의 구조를 구상한다. 이것을 알고리즘이라 한다. 이 알고리즘은 컴퓨터 앞에 있을 때만 생각나는 것이 아니라 을 먹다가 혹은 을 자다가도 떠오른다. 알고리즘이 어느 정도 구상되면 이제 프로그래밍 언어를 고를 차례다. 이때 보통 프로그래머들은 C언어, C++, java, 파이썬, php 등을 고르지만 가끔 정신 나간 프로그래머들은 브레인퍽, 아희와 같은 백괴스러운 프로그래밍 언어를 선택하기도 한다. 이 과정을 코딩이라고 한다. 코딩이 완료된 이후에는 컴파일이라는 것을 거쳐 컴퓨터가 알아들을 수 있는 기계어로 만든 뒤 제대로 동작하는지 확인하는데, 처음에는 프로그래머 자신이 확인하다가 나중에는 다양한 사람들을 대상으로 실험한다. 이때 위험한 프로그램일 경우에는 애퍼쳐 사이언스에서 알파 테스터와 베타 테스터를 데려오기도 한다. 그리고 최종 릴리즈가 되었을 때, 프로그래머는 온갖 을 얻어들으며 프로그램을 고치며 이 기간이 제일 길다. 결국 프로그램은 프로그래머에 의해 만들어지고 유지된다.

프로그램의 내용[편집 | 원본 편집]

프로그램은 일반인들은 절대로 읽을 수 없으며 기계어에 세뇌된 컴덕들이나 해독이 가능하다. 다음은 Hello World라는 C언어 프로그램을 cat으로 읽어들였을 때 나오는 내용이다.

이 글을 보려면 오른쪽의 "펼치기"를 눌러 주세요.

?ELF����>���@@�	@@���@@@@@�������@�@����@@���� ������`��`��� ������`��`���������@��@DD�P�td���@�@$$�Q�td/lib64/ld-linux-x86-64.so.2���GNU�� ���GNUG��8�Sb�S_�)��hNT�"������� !�__gmon_start__libc.so.6printf__libc_start_mainGLIBC_2.2.5������u�i	�3`��`�`�H��s������H���5�� �%�� �@�%�� h������%�� h������1�I��^H��H���PTI���@H����@H����@��������H�H�A� H��t���H�Ð������������UH��SH��=P� uK���`H�J� H����`H���H���H9�s$f�DH���H�%� ��Ű�`H��� H9�r���� �H�[]�fff.��H�=�� UH��t��H��]���`��]Ð�UH����@H�Ǹ������]Ð��������������H�l$�L�d$�H�-�� L�%�� L�l$�L�t$�L�|$�H�\$�H��8L)�A��I��H���I���[���H��t�1�@L��L��D��A���H���H9�u�H�\H�l$�L�d$�L�l$ L�t$(L�|$0H��8���Ð�������������UH��SH�H�� H���t����`�DH���H��H���u�H�[]Ð�H��_���H����Hello World!���;$�����@����`�������zR�x���
�X                  ���������A���C
$<�����Q���_@�����d�����������������������
�@���o`�@��@���@                           ��@
?
���`�0��`�@H��	����o(�@���o����o �@��`��@��@GCC: (GNU) 4.6.1 20111003 (Red Hat 4.6.1-10)GCC: (GNU) 4.6.1 20110908 (Red Hat 4.6.1-9).symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment����@���#���@�� �1�<�@<�$�D���o�`�@`�N
                            ���@��`��V����@��?�^���o� �@ ��k���o�(�@(� �z��H�@H�����`�@`�0
                                                                                         � ����@���������@��0�������@���������@������@�����@�$���� �@ ������`�������`�������`�����`������������`���`��0Y��������h����	�h�������@����@��<�@��`�@���@����@� �@(�@�	H�@�
`�@�
   ��@�
��@��@��@���@�� �@����`����`����`����`��`��`��`��`����
�@�������`����`����`����`��
��@������`�����`�����`�����`�����@�������`���
      ��@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.5895dtor_idx.5897frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxhello_world_c.c_GLOBAL_OFFSET_TABLE___init_array_end__init_array_start_DYNAMICdata_startprintf@@GLIBC_2.2.5__libc_csu_fini_start__gmon_start___Jv_RegisterClasses_fini__libc_start_main@@GLIBC_2.2.5_IO_stdin_used__data_start__dso_handle__DTOR_END____libc_csu_init__bss_start_end_edatamain_init


인코딩이 깨져서 무슨 말인지 하나도 못 알아듣겠다. 그래서 이를 해독하려는 컴덕들도 인코딩되지 않은 것을 보기 위해 헥사코드 에디터 같은 물건의 힘을 빌리고 있다. 그나마 평범한 인간이 알아들을 수 있는 언어는 GCC뿐이다. 컴파일러 이름만 인간의 언어로 나오는 것으로 보아 컴파일러가 자기 이름만 보여주려고 아예 내용물을 알아볼 수 없게 조작한 것이라는 가설도 나오고 있다.

프로그램의 다른 의미[편집 | 원본 편집]

  • 현재는 TV나 라디오에서도 프로그램이라는 말을 사용한다. 이외에도 각종 모임에서도 프로그램이라는 말을 쓴다. 프로그램이라는 말은 원래는 명령어의 집합을 가리켰으나 IT 붐이 일면서 명령어뿐만 아니라 대본과 같은 짜임의 집합을 프로그램이라고 부르게 되었다. 하지만 절대 TV 프로그램 작가가 프로그래머는 아니다!
  • Frog lamb. 쌀국에서 생물병기로 이용하기 위해 개구리을 유전자조작하여 만든 생명체이다. 개구리가 양의 골격과 털 일부를 갖춘 것처럼 생겼으며, 생김새가 매우 괴악하기 때문에 다른 동물은 프로그램을 보기만 하여도 가 폭발하여 죽는다. 이런 위력을 가졌기 때문에 프로그램을 만들어낸 사람들조차 프로그램을 제어하지 못하고 탈출을 허용하는 바람에 자연으로 뛰쳐나가 생태계를 무분별하게 교란하였다. 문장이 과거형인 이유는 프로그램들이 과 비슷한 맛을 낸다는 사실이 알려졌을 때, 수많은 대한민국의 치킨집 사장들이 마구 잡아다 비싼 닭 대신 이것을 튀겨 팔아서 지금은 그 존재를 확인하기조차 힘들 만큼 전세계적으로 개체수가 줄었기 때문이다. 프로그램을 잡는 방법은 치킨집 사장들만 공유하는 비밀이라고 한다. 대한민국 사람들은 모두 튀긴 프로그램 한 번쯤은 먹어본 적이 있다 카더라. 이와 같은 사실들은 쌀국에서 프로그램의 존재 자체를 은폐하려고 시도했기 때문에 공공연하게 알려지지 못했지만, 대한민국 곳곳에 암암리에 퍼져있는 치킨집 사장님들은 프로그래머라는 말은 여기에서 나온 것이다. 위의 프로그램들과 영어로는 매우 다르지만 한구거 표기로는 같기 때문에 잘 구분해서 사용하여야 한다. 일상생활에서 프로그램이라고 하면 대부분 이쪽을 가리킨다.