곱

[펌] 프로그래밍에 대해 잘 알려지지 않은 7가지

· 2010-10-18 (월) 14:04:24 · 2470 · 8

일본 친구가 mixi에 링크해 준 칼럼인데 공감*100이라서 올려봅니다.

 

요 아래는 원문이구요

http://dotmac.rationalmind.net/2010/08/some-lesser-known-truths-about-programming/

요 아래는 일문 번역입니다.

http://www.tommyjp.com/2010/08/blog-post_1710.html

 

그리고 요 밑에 간단한 한글 번역을 달겠습니다.

(오늘 작성한 제 블로그 글입니다만 퍼왔습니다.)

 

소프트웨어를 개발하는 경험에서 얻은  몇가지 교훈이 있습니다. 코드를 작성하는 데 있어서, 

사람들이 놀랄만한 몇가지를 여기에 소개합니다.

 

1. 프로그래머가 가지는 스킬이나 레벨을 불문하고, 대부분의 프로그래머는 전시간의 10~20%정도만 코드를 작성하는데 사용합니다. 대부분의 프로그래머는 프로그램을 완성하는데 하루에 10 에서 12줄 정도의 코드를 작성합니다. 우수한 프로그래머는 나머지 90%의 시간의 대부분을 생각하고, 조사하고, 최고의 설계를 발견하기 위한 검증작업에 사용합니다. 나쁜 프로그래머는 나머지 90%의 시간의 대부분을 디버깅하고, 소소한 의미없는 코드를 수정하는데 사용합니다.

 

"위대한 선반 기술자는 평범한 선반 기술자에 비해 몇배의 가치가 있다. 하지만 위대한 프로그래머는 평범한 프로그래머에 비해 만배의 가치가 있다." - 빌게이츠

 

2. 우수한 프로그래머는 일반적인 프로그래머에 비해 10배의 생산성이 있습니다. 그리고 그보다 탁월한 프로그래머는 20~100배의 생산성이 있습니다. 이건 과장이 아닙니다. 1960년대 부터 계속된 수많은 연구들이 이 사실을입증하고 있습니다. 나쁜 프로그래머는 생산적이지 않은것 뿐만 아니라, 일을 더욱더 복잡하게 만들어서, 다른사람들이 고쳐야 하는 수많은 문제와 두통의 씨앗을 여기저기에 심어놓습니다.

 

3. 위대한 프로그래머는, 제품이 완성되는 시점까지 코드를 작성하는데는 정말 약간의 시간밖에 사용하지 않습니다. 시간의 대부분을 코딩하는데 사용하는 프로그래머는 매우 게으르거나, 뭘 모르거나, 너무 거만하기 때문에, 고전적인 문제에 예전부터 있어왔던 당연한 해결책을 발견해내지 못합니다. 위대한 프로그래머는 공통적인 패턴을 발견해서 재이용하는 달인입니다. 우수한 프로그래머는, 이상적인 설계에 도달하기 위해서 지금까지 작성한 코드를 리팩터링(재검토 하고 재설계하여 다시 작성하는 것) 하는 것을 두려워하지 않습니다. 나쁜 프로그래머는 컨셉의 통일성이나 계층, 패턴이 결여되거나 중복이 있는 리팩터링이 굉장히 어려운 코드를 만들어냅니다. 잘못된 코드는 변경하는 것보다 버리고 처음부터 다시 시작하는 것이 훨씬 낫습니다.

 

4. 소프트웨어는 다른 것과 마찬가지로 엔트로피 법칙을 따릅니다. 끊이지 않는 변경은 소프트웨어를 망가뜨립니다. 당초 설계에 있었던 컨셉의 통일성을 무너뜨립니다. 물론 약간의 설계 수정을 항상 피할 수는 없지만, 컨셉의 통일성을 고려하지 않는 프로그래머는 소프트웨어를 조금씩 좀먹게 만들어 결국 완성되어도 전혀 쓸모없는 소프트웨어를 만들어 버립니다.  이러한 컨셉의 통일성 문제는 대부분의 프로젝트를 실패하게 만드는 가장 큰 원인이라고 생각합니다. (2번째로 가장 큰 원인은 고객이 원하지 않는 기능을 개발해버리는 경우인 것 같습니다.) 소프트웨어를 좀먹게 만드는 이런 현상은 진척상황을 현격히 느리게 만들어, 종래에는 프로젝트를 끝내기도 전에 스케쥴이나 예산의 핍박에 직면하게 만듭니다.

 

5. 2004년의 한 조사에 의하면, 대부분의 소프트웨어 개발 프로젝트의 51%는 중요한 기능이 부족하거나, 15%는 실패했습니다. 31%가 실패했던 1994년의 상황보다는 조금 나아졌습니다.

 

6. 대부분의 소프트웨어는 팀에 의해서 작성됩니다만, 민주적인 활동과는 거리가 멉니다. 통상, 단 한명이 설계를 맡고, 나머지 사람들이  각 파트를 담당합니다.

 

7. 프로그래밍은 힘든 일입니다. 격렬한 고강도의 정신노동을 요구합니다. 우수한 프로그래머는 연중 대부분의 시간을 일만 생각합니다. 제일 중요한 코드를 침대 속이나 샤워실에서 생각해 냅니다. 가장 중요한 일은 키보드에서 떨어진 곳에서 일어납니다. 따라서, 소프트웨어 개발 프로젝트는 사무실에서 근무하는 시간을 늘린다거나 투입 인원을 늘린다고 해서 작업 스피드를 올릴 수 없습니다.

|

댓글 8개

공강 추가 1人!.

제 블로그에 스크랩 해가도 될지요.
2010-10-18 (월) 15:32:58
저도 퍼온거임.
퍼가요
ㅡ.ㅡ;;;
공감이 심하게 가는 글이네요.
2010-10-20 (수) 15:35:39
이거 출력해서 벽에다 붙였음.. ㅎㅎ 감사합니다.
2010-10-24 (일) 00:18:04
와.. 정말 좋은 글입니다.
전 디자이너지만.. 공감가는내용이 있는거 같네요
좋은말씀이네요~
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
10-10-27 조회 3,207
10-10-27 조회 2,873
10-10-27 조회 2,105
10-10-26 조회 3,194
10-10-26 조회 2,206
10-10-26 조회 2,104
10-10-26 조회 2,121
10-10-25 조회 2,047
10-10-24 조회 2,229
10-10-24 조회 2,262
10-10-24 조회 2,556
10-10-24 조회 4,721
10-10-24 조회 3,235
10-10-23 조회 2,190
10-10-23 조회 2,986
10-10-22 조회 2,031
10-10-22 조회 2,180
10-10-22 조회 3,351
10-10-22 조회 3,082
10-10-22 조회 2,112
10-10-21 조회 2,423
10-10-21 조회 2,369
10-10-21 조회 2,391
10-10-21 조회 2,562
10-10-21 조회 2,305
10-10-21 조회 2,294
10-10-21 조회 2,204
10-10-21 조회 2,365
10-10-21 조회 2,297
10-10-21 조회 2,904
10-10-21 조회 2,073
10-10-20 조회 2,043
10-10-20 조회 2,770
10-10-19 조회 2,772
10-10-19 조회 2,596
10-10-19 조회 2,135
10-10-19 조회 2,898
10-10-19 조회 2,296
10-10-19 조회 2,938
10-10-19 조회 3,339
10-10-19 조회 2,912
10-10-19 조회 8,962
10-10-19 조회 2,505
10-10-19 조회 2,647
10-10-19 조회 2,409
10-10-18 조회 2,555
10-10-18 조회 2,471
10-10-18 조회 2,545
10-10-18 조회 2,237
10-10-18 조회 3,363
10-10-17 조회 2,369
10-10-17 조회 2,242
10-10-17 조회 2,952
10-10-17 조회 2,724
10-10-16 조회 2,392
10-10-16 조회 2,296
10-10-16 조회 2,401
10-10-16 조회 2,762
10-10-16 조회 2,132
10-10-15 조회 2,223
10-10-14 조회 2,396
10-10-14 조회 3,188
10-10-13 조회 2,376
10-10-13 조회 2,478
10-10-13 조회 2,219
10-10-13 조회 2,248
10-10-12 조회 2,661
10-10-12 조회 2,962
10-10-12 조회 2,252
10-10-12 조회 2,703
10-10-11 조회 2,873
10-10-09 조회 2,287
10-10-09 조회 2,175
10-10-07 조회 2,493
10-10-07 조회 2,452
10-10-07 조회 2,161
10-10-07 조회 2,475
10-10-07 조회 2,610
10-10-07 조회 2,611
10-10-06 조회 4,567
10-10-06 조회 2,058
10-10-06 조회 2,829
10-10-06 조회 2,194
10-10-06 조회 3,014
10-10-06 조회 1,999
10-10-06 조회 2,240
10-10-05 조회 2,142
10-10-05 조회 2,163
10-10-05 조회 3,059
10-10-05 조회 4,374
10-10-05 조회 3,295
10-10-05 조회 3,281
10-10-05 조회 2,139
10-10-05 조회 2,380
10-10-05 조회 2,226
10-10-04 조회 2,034
10-10-04 조회 2,427
10-10-04 조회 2,128
10-10-04 조회 2,662
10-10-04 조회 1,925