Difference between revisions of "소스 코드"

From 백괴사전
Jump to: navigation, search
m (작성 과정)
Line 13: Line 13:
  
 
== 작성 과정 ==
 
== 작성 과정 ==
소스 코드의 작성 과정은 꽤 간단하다. 글로만 쓴다는 전제 하에. 사실, 이 문서를 읽기 전에 [[알고]] 박사에게 고마워 해야 하는데, [[호랑이]]가 386 컴퓨터를 돌리며 담배 필 적에는 소스 코드 작성에 대한 알고리즘이 없어 컴퓨터를 쓰는 사람들이 소스 코드를 작성하지 못했고, 일부 미친 사람들 ― [[빌 게이]]같은 사람들만이 소스 코드를 제대로 작성할 수 있었다. 그러나, 알고 박사가 정리를 한 덕분에 소스 코드 작성이 쉬워졌다.
+
소스 코드의 작성 과정은 꽤 간단하다. 글로만 쓴다는 전제 하에. 사실, 이 문서를 읽기 전에 [[알고]] 박사에게 고마워 해야 하는데, [[호랑이]]가 인텔 386 컴퓨터를 돌리며 담배 필 적에는 소스 코드 작성에 대한 알고리즘이 없어 컴퓨터를 쓰는 사람들이 소스 코드를 작성하지 못했고, 일부 미친 사람들 ― [[빌 게이]]같은 사람들만이 소스 코드를 제대로 작성할 수 있었다. 그러나, 알고 박사가 정리를 한 덕분에 소스 코드 작성이 쉬워졌다.
 
# 문제점을 잘 생각한다: 음식을 만들기 위해 무슨 소스가 필요한지 생각한다. 단 맛, 쓴 맛, 신 맛, 역겨운 맛, 맛살을 내야 할 지, 어떻게 조리할 지 고민한다. 만약, 이 문제가 꽤 어려울 경우에는, [[리처드 파인만|파인만]] 아재처럼 잠깐 잠을 자고 오는 것도 나쁜 생각은 아니다.
 
# 문제점을 잘 생각한다: 음식을 만들기 위해 무슨 소스가 필요한지 생각한다. 단 맛, 쓴 맛, 신 맛, 역겨운 맛, 맛살을 내야 할 지, 어떻게 조리할 지 고민한다. 만약, 이 문제가 꽤 어려울 경우에는, [[리처드 파인만|파인만]] 아재처럼 잠깐 잠을 자고 오는 것도 나쁜 생각은 아니다.
 
# 프로그래밍 언어를 생각한다: 이제, 문제점 분석이 끝나고 소스를 어떤 맛으로 얼마만큼, 어떻게 넣을 지 결정이 끝났으면, [[프로그래밍 언어]]를 선택한다. 이는 요리 기계인 컴퓨터에게 명령을 내릴 수 있는 언어가 여럿 있고, 또 인간의 언어처럼, 그 언어마다 장단점이 있기 때문에 프로그래밍 언어를 생각하는 것은 중요하다. 그러나, 대부분의 요리사들은 선호하는 언어가 있다는 것이 함정.
 
# 프로그래밍 언어를 생각한다: 이제, 문제점 분석이 끝나고 소스를 어떤 맛으로 얼마만큼, 어떻게 넣을 지 결정이 끝났으면, [[프로그래밍 언어]]를 선택한다. 이는 요리 기계인 컴퓨터에게 명령을 내릴 수 있는 언어가 여럿 있고, 또 인간의 언어처럼, 그 언어마다 장단점이 있기 때문에 프로그래밍 언어를 생각하는 것은 중요하다. 그러나, 대부분의 요리사들은 선호하는 언어가 있다는 것이 함정.
 
# 코드를 작성한다: 문제점 파악에서 필요한 것들을 모조리 넣는다. 이 코드 작성은 소스 코드 작성의 백미인 부분이기 때문에, 코딩이라는 언어를 만들었고, 대한게임국의 2015 개정 교육과정에는 학생들이 코딩을 [[스크래치|상처]]나 [[엔트리|입구]]를 통해 배우라고 한다. 한편, 프로그래머가 소스 코드 작성 중 졸거나, [[아무렇게나 치기|아무렇게나 쳐]] 버리는 경우도 종종 있는데, 그 다음 과정에서 이 문제점을 해결해 준다.
 
# 코드를 작성한다: 문제점 파악에서 필요한 것들을 모조리 넣는다. 이 코드 작성은 소스 코드 작성의 백미인 부분이기 때문에, 코딩이라는 언어를 만들었고, 대한게임국의 2015 개정 교육과정에는 학생들이 코딩을 [[스크래치|상처]]나 [[엔트리|입구]]를 통해 배우라고 한다. 한편, 프로그래머가 소스 코드 작성 중 졸거나, [[아무렇게나 치기|아무렇게나 쳐]] 버리는 경우도 종종 있는데, 그 다음 과정에서 이 문제점을 해결해 준다.
# 오류를 찾는다: 제곧내. 오류를 찾는다. 몰론, 중요한 내용을 빼먹은 경우에는 잘 보이지만, 콜론(:)을 세미콜론(;)으로 잘못 쓴 경우에는 치킨 집 사장의 구원이 있지 않는 이상 찾는 것이 힘들고, 오타어를 냈는데 그 오타가 매우 사소한 것이라서 찾지 못하는 경우도 많다. 그렇게 오류를 찾다가 지쳐 포기하면, 다시 세 번째 단계로 돌아간 뒤에 다시 하고 또[[무한 반복|...]]
+
# 오류를 찾는다: 제곧내. 오류를 찾는다. 몰론, 중요한 내용을 빼먹은 경우에는 잘 보이지만, 콜론(:)을 세미콜론(;)으로 잘못 쓴 경우에는 [[치킨집]] 사장의 구원이 있지 않는 이상 찾는 것이 힘들고, 오타어를 냈는데 그 오타가 매우 사소한 것이라서 찾지 못하는 경우도 많다. 그렇게 오류를 찾다가 지쳐 포기하면, 다시 세 번째 단계로 돌아간 뒤에 다시 하고 또[[무한 반복|...]]
  
 
== 중요성 ==
 
== 중요성 ==

Revision as of 22:24, 14 July 2019

Dsc 1576.png 컴덕후가 쓴 글
이 글은 컴덕 또는 컴퓨터 중독자가 쓴 글이거나 컴덕을 소개하는 글입니다. 이 글을 읽다 보면 당신의 뇌가 1.0 1100010110111000 1100010110110100에 세뇌당할 sudo 있으니 알아서 조심하시기 바랍니다.
Linux-head.jpg


소스 코드(영어: Sauce Code)는 원하는 소스를 만들기 위해 필요한 레시피이다. 소스 코드가 없으면 원하는 소스, 심지어 물을 떠 오는 간단한 일도 못 하는 불상사가 발생하기 때문에, 소스 코드를 작성하는 것은 개나소나 컴퓨터를 다루는 21세기에는 매우 중요한 자리에 있다. 그러나, 기계는 그닥 똑똑하지 않고, 벨로시랩터로부터 안전하기 위해 무심한 듯 시크하지 않기 때문에 레시피 작성이 어려워 소스 코드를 전문적으로 작성하는 요리사인 프로그래머는 극한 직업이라고 한다.

레토르트 소스 코드. 직접 만들어 먹는 것보다 안정성이 떨어진다 카더라.

오픈 소스와 클로즈드 소스

먼저, 소스 코드의 종류에는 크게 두 가지가 있는데, 오픈 소스클로즈드 소스가 바로 그것이다. 우선 오픈 소스가 뭐냐면, 말 그대로 소스가 열려 있는 것이다. 다시 말해, 소스 코드의 최초 개발자가 뚜껑을 열어놓고 가 자유롭게 퍼가요~♡가 가능한 코드를 말한다. 이 덕분에 많은 개발자들은 오픈 소스를 토대로 다양한 맛의 소스 코드를 입맛대로 개발해낼 수 있다. 이러한 장점이 있지만, 단점도 존재한다. 뭐냐면, 바로 최초 개발자가 사후 지원을 제공할 의무가 없다는 것이다. 그러니까, 소스 코드는 줄 테니 고치는 것은 알아서 하라는 의미이다. 가끔씩 오픈 소스 프로그램임에도 불구하고 버그가 발생하면 빨리 고쳐달라고 징징대거나 욕지거리를 해대는 삐–초딩들을 흔히 볼 수 있는데, 만약 본다면 친절히 척 노리스의 돌려차기를 이용해서 깔끔하게 처리해 주도록 하자. 현재 대표적인 오픈 소스 소프트웨어로는 Goooooooogle사람로봇펭귄 등이 있다.

또 다른 하나는 클로즈드 소스로, 이것은 딱히 소스가 개방되어 있지 않다는 말만으로 설명이 가능하다. 독점 소프트웨어라고도 하며, 여기에도 가끔씩 삐–도 모르면서 컴퓨터 좀 아는 척 하는 초딩들이 꼬여 소스 풀어달라고 난리를 치는 경우가 있는 것 같기도 한데, 클로즈드 소스 소프트웨어 대부분은 돈 받고 파는 소프트웨어이므로 그렇게 했다간 나치크로소프트의 수장이시며 창문의 개발자이시며 자본주의의 황제이신 빌 게이께서 친히 컴퓨터 모니터 안으로 들여보내 주실 것이다. 대표적인 클로즈드 소스 소프트웨어로는 나치크로소프트창문, 사과 주식회사사과 OS가 있다.

작성 과정

소스 코드의 작성 과정은 꽤 간단하다. 글로만 쓴다는 전제 하에. 사실, 이 문서를 읽기 전에 알고 박사에게 고마워 해야 하는데, 호랑이가 인텔 386 컴퓨터를 돌리며 담배 필 적에는 소스 코드 작성에 대한 알고리즘이 없어 컴퓨터를 쓰는 사람들이 소스 코드를 작성하지 못했고, 일부 미친 사람들 ― 빌 게이같은 사람들만이 소스 코드를 제대로 작성할 수 있었다. 그러나, 알고 박사가 정리를 한 덕분에 소스 코드 작성이 쉬워졌다.

  1. 문제점을 잘 생각한다: 음식을 만들기 위해 무슨 소스가 필요한지 생각한다. 단 맛, 쓴 맛, 신 맛, 역겨운 맛, 맛살을 내야 할 지, 어떻게 조리할 지 고민한다. 만약, 이 문제가 꽤 어려울 경우에는, 파인만 아재처럼 잠깐 잠을 자고 오는 것도 나쁜 생각은 아니다.
  2. 프로그래밍 언어를 생각한다: 이제, 문제점 분석이 끝나고 소스를 어떤 맛으로 얼마만큼, 어떻게 넣을 지 결정이 끝났으면, 프로그래밍 언어를 선택한다. 이는 요리 기계인 컴퓨터에게 명령을 내릴 수 있는 언어가 여럿 있고, 또 인간의 언어처럼, 그 언어마다 장단점이 있기 때문에 프로그래밍 언어를 생각하는 것은 중요하다. 그러나, 대부분의 요리사들은 선호하는 언어가 있다는 것이 함정.
  3. 코드를 작성한다: 문제점 파악에서 필요한 것들을 모조리 넣는다. 이 코드 작성은 소스 코드 작성의 백미인 부분이기 때문에, 코딩이라는 언어를 만들었고, 대한게임국의 2015 개정 교육과정에는 학생들이 코딩을 상처입구를 통해 배우라고 한다. 한편, 프로그래머가 소스 코드 작성 중 졸거나, 아무렇게나 쳐 버리는 경우도 종종 있는데, 그 다음 과정에서 이 문제점을 해결해 준다.
  4. 오류를 찾는다: 제곧내. 오류를 찾는다. 몰론, 중요한 내용을 빼먹은 경우에는 잘 보이지만, 콜론(:)을 세미콜론(;)으로 잘못 쓴 경우에는 치킨집 사장의 구원이 있지 않는 이상 찾는 것이 힘들고, 오타어를 냈는데 그 오타가 매우 사소한 것이라서 찾지 못하는 경우도 많다. 그렇게 오류를 찾다가 지쳐 포기하면, 다시 세 번째 단계로 돌아간 뒤에 다시 하고 또...

중요성

우선 대부분의 음식에는 소스가 들어가는데, 소스를 만드는 것은 매우 지루한 작업이다. 화학자 마냥 액체가 적절한 온도까지 도달할 때까지 가스 불을 켠 뒤에 온도계를 수십분 동안 보거나, 수 시간동안 국자로 소스를 저어야 되는데, 컴퓨터가 등장하며 불쌍한 중생들을 구제하게 되었다. 대신 컴퓨터가 노동을 하는 대신 노동의 대가와 노동 방법에 대한 레시피인 소스 코드를 내야 하는데, 소스 코드를 내지 않으면 컴퓨터가 파업을 하며 소스를 생산이 중단된다. 즉, 소비자들은 맛난 음식을 못 먹게 되고, 이로 인해 식사하는 철학자들 문제가 발생해 골치 아프게 된다. 따라서, 컴퓨터를 설득하기 위해서라도 소스 코드를 작성해야 한다.

이렇게 만들어진 소스 코드는 스파게티 코드의 스파게티 맛을 결정하는 중요한 역할을 하기도 하다.

도보시오