프로그램을 만들때~ 다른 책이나 소스를 얼만큼 참고하세요~??

ins878의 이미지

안녕하세요~ 프로그래밍을 열심히 공부하고 있는 대학생입니다. 늘 프로그래밍을 공부하면서 궁금한 점이 있어서 이렇게 글을 올립니다.
저는 머리가 나빠서 기억력이 약합니다. 그래서 컴서적을 볼때마다 내가 필요하다고 싶은 부분을 표시를 해놓고 다시 보곤합니다. (물론 이해는 하는데~ 기억력이 약해서~~)
소켓이나 DB를 이용한 프로그램을 만들때도 책을 보고, 인터넷에 자료를 찾으면서 프로그램을 만듭니다. 그런 저의 모습을 보면서 저의 형이 한마디 하더군요~
"야!!! 책보고 삐끼면 나도 만들겠다고~~" (물론 저의 형은 컴전공이 아니고요~~)
처음에는 웃으면서 넘어갔는데~ 점점 내 자신에 대해서 부정적인 생각이 들더군요~ 진짜 내가 점점 남의 것을 보고 삐낀다는 생각이 들고~~
다른 유저분들은 어떠세요? 프로그램을 만들때 참고는 안하는지, 진짜로 컴퓨터 하나만 있으면 뚝딱 프로그램을 만들 수 있는지~~
(누가 그러던데요~ 진짜 컴퓨터 하나만 있으면 프로그램을 뚝딱 만든다고~ 자긴 그런 사람을 봤다고~, 물론 도움말이나 man페이지만 있으면~~~)
아~ 유저분들은 프로그램을 만들때~ 어떻게 하세요~??

버려진의 이미지

저같은 경우에는 프로그래밍 할때는 책이나 다른 소스를 전혀 보지 않습니다.

보고 하면 꼭 마음에 안드는 부분이 생겨서..

zelon의 이미지

전 책이나 이런거 많이 봅니다. ^^ 물론 큰 규모, 혹은 잘 모르는 쪽 코딩을 하려면 다른 사람의 코딩도 많이 봅니다.

제가 좀 다양한 쪽을 손댈 일이 많은 데 가끔 헛갈리기도 하고, 그래서 아예 홈페이지에 까먹거나, 헛갈릴만한 것들은 적어놓습니다. 그래야 시간을 좀더 효율적으로 쓸 수 있는것 같습니다.

그리고 책이나, 다른 사람들의 생각들을 읽어보지 않고, 계속 코딩하는 습관을 들이다보면, 쉬운 길, 더 좋은 길이 있는데도 자신이 계속 코딩해서 극복(?)해 나가게 될 수 있습니다. 예를 들자면 STL 없이 자신만의 linked list 를 쓰는 경우겠죠. 극단적으로 나쁘다고는 하지 않겠지만 일반적으로 생각했을 때 그렇게 좋지 않다고 생각합니다.

전 다른 사람들의 생각을 될 수 있으면 많이 참고하면서 코딩하는게 좋을 듯 합니다. 그리고 많은 지식을 몸소 익히고 주요 라이브러리를 많이 익히고, 체험하다보면 자연스럽게 자신의 코딩이 생기게 될 겁니다. ^^

-----------------------------------------------------------------------
GPL 오픈소스 윈도우용 이미지 뷰어 ZViewer - http://zviewer.wimy.com
블로그 : http://blog.wimy.com

park712의 이미지

10년차입니다.
책 인터넷 등 무지 많이 봅니다.
경력직이 무서운것은 코딩할때.. 어디(책이나 인터넷등)가면
비슷한 소스가 있다 그것을 인용하면 된다. 즉, 시간을 무지 단축한다는 것입니다.
모르는것도 책 이나 인터넷 보고 구현하는 것이 무서운 것이지요
예를 들어 핸디 소프트에서 전자결재 시스템을 3개월에 만든다면
form 소스를 이용해서 회사에 맞게 커스터마이징을 합니다.
이때 전자결재 form 소스가 없이 처음 부터 새로 만든다면 수년간 시간이 걸릴것입니다. 하지만, 파트별로 개발자들은 어떤 내용을 해야 한다면 해당 책이나 인터넷을 찾아 보고 이용하면서 시간을 단축합니다.

후회없이 살자

ins878의 이미지

프로그래밍을 할때 모든 라이브러리를 안다는 것이 불가능잖아요~ 물론 Doc나 man페이지등을 보면 라이브러리 설명이 잘 되어 있지만, 저 같은 경우 그것만 보고는 좀 부족한 것이 사실입니다.
예로 들면, 패킷을 캡쳐하는 프로그램을 만들때 보통 libpcap를 이용하는데, 제가 필요한 부분을 캡쳐하기 위해서, 책이나 인터넷 자료를 찾습니다. (네트워크 개념을 안다고 해서, 그 속까지 모두 기억할 수 없으니깐요)

촙5님처럼, 프로그램을 만들때 다른 책이나 다른 소스를 참고하지 않는다고 하는 것이 어떻게 가능한지... 저로서는~ 좀 납득이 안돼네요. 물론 촙5님을 비하하는 말은 아닙니다. 그냥 어떻게 가능한지...
라이브러리 레퍼런스만 있으면 프로그램을 만든다는 것이 진짜 가능해요? :roll:

fox9의 이미지

ins878 wrote:
라이브러리 레퍼런스만 있으면 프로그램을 만든다는 것이 진짜 가능해요? :roll:

레퍼런스가 제대로 되어있다면 당연히 가능해야 되는 것 아닌가요?

근데 저의 경우는 게을러서 프로그램 작성할 일이 생기면 제가 기존에 가지고 있는 소스중에 비슷한 것이 있나 찾아보고 책에서 찾아보고 인터넷에서 찾아보고 주위 사람들에게 문의해보고...
정말로 비슷한 것도 없을 때만 처음부터 코딩합니다 8)

ydhoney의 이미지

무분별한 copy and paste는 지양해야하겠지만

종종 바닥부터 삽질하는것보단 효율적일때도 있습니다.

물론 나중에 시간을 따로 내서라도 어찌 한것인지 정도는 죄다 알아내려고 하지요.

ins878의 이미지

레퍼런스가 제대로 된 것이라고 하면, 어느 정도로 된 걸까요?
보통 레퍼런스하면, 특정 함수에 대한 기능이나 사용법등이 있잖아요. 네트워크 프로그래밍을 한 번도 안해 본 사람이 레퍼런스만 보고 네트워크 프로그램을 만들 수 있을까요?
저는 러페런스만 가지고 프로그래밍을 한다는 것이 자기가 구현하고자 하는 것에 잘 알고, 많이 사용해 봤던 라이브러리 이용할 때 가능하다고 생각되는데... 자신이 잘 모르는 쪽에 프로그램을 만든다고 하면 책이나 인터넷 같은 자료를 찾지 않나요?
(반론의 글이 아니예요. 그냥 자연스럽게 토론했으면 합니다.)

버려진의 이미지

작성하기 전에 공부를 하죠. 물론 다른 사람 소스도 보구요. 공부를 하면서 나는 이렇게 작성해야겠다.. 계획을 세웁니다.

제가 말한 "프로그래밍 할 때" 라는 것은 그 외의 것을 말합니다. 만약 제가 직업 프로그래머였다면 Copy and Paste신공을 발휘하겠죠. 제가 직업으로 하는게 아닌데다가 완벽주의적인 성격까지 가미되서 다 짜는 것 같네요.

만약 네트워크 프로그래밍이라면.. select가 뭔지 accept가 뭔지 모르는 사람이라면 레퍼런스만 가지고 작성하기 어렵죠. 하지만 머리속에 얼추 있으면 모르는 부분을 찾아 매꿀 수 있잖아요? 아예 모르면 찾기도 어렵습니다.

프로그래밍 할때 책이나 인터넷을 뒤지지 않는 것과, 책과 인터넷을 사용하지 않는 것은 다르지 않나요? :)

kihongss의 이미지

저같은 경우에는 위키나, 게시판을 통해 코딩에 필요한 자료들은 틈틈히
정리해놓고 필요할 때 찾아쓰는 스타일입니다. 책이나 인터넷 자료 찾아보면서 코딩하는게 한번도 나쁘다고 생각해보지 않았답니다. 제 나름대로 생각한 소스 코드보다, 여러모로 잘 짜여진 코드가 많기 때문에, 아무 생각없는 Copy & Paste가 아닌 이상, 적극적으로 자신의 코드에 반영하는게 제 실력 쌓는데도 좋더군요.

dopesoul의 이미지

음~
많이봅니다.
그러나 자기것으로 만들어야겠지요.

mach의 이미지

1) know how (학생때 많이 해두어야 하는것이라는 ....)
2) know where(업자 초보일때 많이 해두어야 하는것이라는...)
3) patch it(업자 중간관리자급일때, 땜빵하면서 터득한다는...)
4) ! ( :twisted: )

1~3을 밟기는 하지만, (이 때, 타인의 방법을 배우게 됩니다)
1~3의 시간을 예측했을때, deadline을 맞마추기 어렵다면, 단번에 4)로 갑니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

gurugio의 이미지

참 갑갑한 것은

예전에 제가 만든 소스를 다시 쓰려고 봤는데

잘 이해가 안될때 많이 에로 oops 를 느낍니다.

제가 쓴 소스도 이해가 안되는데

선배님들이 쓰신 소스는 얼마나 어려운지..

우리모두 문서화를 생활화합시다...이왕이면 한글로..

ed.netdiver의 이미지

wxPython demo wrote:
Use the source Luke!

보구 한참 웃었습니당^^;

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

doldori의 이미지

qed wrote:
wxPython demo wrote:
Use the source Luke!

보구 한참 웃었습니당^^;


"May the source be with you."도 있더군요.
ins878의 이미지

프로그래밍을 하면서 가끔, 내가 짠 소스보다 다른 사람이 짠 소스가 더 간결하고 보기 좋을 때가 있습니다. 그래서 그 소스를 인용해서 사용하고 했는데~~ 그렇때면 이게 올바른 방법인지, 올바른 행동인지.. 하는 생각이 듭니다. 아니, 죄책감 비슷한 느낌이 듭니다.
일명 삔긴다는... 휴 :cry:
여러분들은 어떤지..

voider의 이미지

전 거의 레퍼런스만 참고하는 식입니다.
아니면 짧은 소스는 정도
소스가 100라인을 넘어가면 쳐다보질 않아요...

-- 아쉬운 하루 되세요 --