객체지향적으로 생각하라!
국내도서>컴퓨터/인터넷
저자 : 맷 와이스펠드(Matt Weisfeld) / 배선종역
출판 : 정보문화사 2009.05.07
상세보기

   Object Oriented Programing 을 공부하기 전에 필독할 만한 책  

  오늘날 프로그래밍의 주류언어로 자바(Java)가 각광을 받으면서, 대부분의 학교에서도 Java를 가르치고 있다. 자바와 C++을 공부하는데 있어서 C의 포인터 만큼이나 넘기 어려운 부분이 있다면, 객체지향(Object Oriented)의 개념을 이해하고, 설계에 적용하는 부분일 것이다. 어떠한 문제를 해결하기 위한 프로그래밍 방법은 수십가지가 있겠지만, 객체지향의 이념을 잘 살려서 우수한 설계와 구현을 하는 것은 결코 쉬운일이 아니다. 특히나 학부 레벨에서 관련된 내용을 배우기도 쉽지 않다. 대부분 과제에서도 죽지않고 돌아가는 프로그램을 짜기 급급한 수준이다. 

  이 책은 객체지향언어를 공부하기에 앞서 한번 완독할 만한 책이다. 내용이 어렵지 않으면서, 예제 코드도 적절하게, 충분히 있고, 개념 설명과 설계의 의도를 충실히 설명해 주고 있다. 최신 기술과 트렌드들을 다양하게 다루고 있고, 여러 언어의 차이와 특성에 대해서도 비교하여 설명해 주고 있다. 이만한 개념서를 찾아보기가 어렵다. 

  물론, 학부 수준 - 프로그래밍을 공부한지 1 ~ 2 학기 정도 - 된 학생의 입장에서는 모든 내용을 100% 소화하기는 어려울 것이다. 하지만, 이 책은 학기 시작 전에 읽고, 학기를 마친 뒤에 다시 한번 읽어봐도 좋을 만한 책이다. 수학 정석을 한 번 보고 버지리 않듯이, 이 책은 여러번 읽어도 좋을 만큼 내용이 다양하고, 새내기 프로그래머에게 주는 교훈들이 많이 들어있다. 

  충분히 읽어 내용을 이해한다면, 아니 이해하지 못해도 충분히 숙지해 둔다면, 후에 고급 개발자로 나아가는데 큰 도움이 될 만한 책이다. 강추한다. 

Posted by 지그프리드 지그프리드

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


원문보기

Joel on Software


개발자 생태보고서
A Field Guide to Developers

by Joel Spolsky

 
Thursday, September 07, 2006

2009/04/25 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 1 (A Field Guide to Developers)
2009/04/25 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 2 (A Field Guide to Developers)
2009/04/29 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 3 (A Field Guide to Developers)
2009/04/30 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 4 (A Field Guide to Developers)
2009/05/02 - [조엘 온 소프트웨어(번역)] - 개발자 생태보고서 5 (A Field Guide to Developers)

내가 어떤 일을 하게 되는가?

  덧붙여서, 개발자들을 끌어들일 수 있는 가장 좋은 방법 중 하는 그들이 재미있는 일을 하게 하는 것입니다. 아마도 이 것이 가장 바꾸기 어려운 것일 겁니다. 빌어먹을 일이지만, 만약 여러분이 자갈과 모래 같은 ( = 콘크리트 같이 딱딱한) 산업을 위한 소프트웨어를 만드는 일을 한다면, 그것이 여러분의 사업분야 입니다. 이런 일을 하면서는 개발자들을 끌어들이기 위하여 멋진 인터넷 벤처기업인 척하기는 어렵습니다.

  개발자들이 선호하는 또 다른 일은 추수감사철 만찬에서 Irma 이모에게 설명할 수 있을만큼 간단하고 유명한 일을 하는 것입니다. 물론, Irma 이모는 핵물리학자일 수도 있고, 모래와 자갈 산업을 위한 Ruby 프로그래밍에 대해서 정말로 많이 알지 못하는 분일 수도 있습니다. (역자주 : 비슷한 예가 있죠.  CNS나 SDS 다닌다고 하면 친척들에게 어떤 회사를 다닌다고 쉽게 설명 하기가 쉽지 않다고 하시더군요. "그냥 컴퓨터로 뭐 하는 회사에요"라고 설명하면 친척분들이 "우리 아들한테 컴퓨터를 한대 사주려고 하는데..." 라던지 "우리집 컴퓨터가 갑자기 느려졌어" 같은 질문들을 하신다고 하더군요.)

  마지막으로, 많은 개발자들은 그들이 일하는 회사의 사회적 가치를 바라보기 시작했습니다. 소셜 네트워킹(Social networking) 회사나 블로그(Blog) 관련 회사들은 사람들이 하나로 모일 수 있도록 도와주며, 실제로 공해를 만들지 않습니다.  그래서 정밀유도무기산업이나 도덕적으로 위협이 되는 회계 부정관련 회사에 다난 것 보다 이런 일이 더 인기가 있는 것 같습니다.

  불행하게도, 평범한 채용 책임자가 이런 종류의 일을 위해 어떤 일을 할 수 있는지 전혀 생각이 나지 않습니다. 여러분은 여러분의 제품 라인업을 쿨 한 제품을 만드는 것으로 바꾸기 위해 노력할 수는 있겠지만, 실제로 실행하기에는 너무 어려운 방법입니다. 몇몇 회사들은 다음과 같은 방법들을 시행하고 있습니다. 

  ●  상위 지원자들에게는 그들이 참여할 프로젝트를 선택하게 하십시요. 

       오랬동안, Oracle은 MAP : the Multiple Alternative Program(복수의 대안 제도)를 시행하고 있습니다.이것은 매년 대졸 구직다들 중 상위 지원자들에게 제안되었습니다. 이것은 구직자들이 Oracle에 와서 한 두 주동안 둘러보고, 모든 그룹을 공개해서 방문해보면서 그들이 일하고 싶은 그룹을 선택하는 제도입니다. 

        Oracle에 계셨던 분이 이 제도가 좋은지 나쁜지 더 잘아시겠지만, 제 생각에는 이것은 좋은 생각입니다. 

  ●  필요하지 않더라도 멋진 새 기술을 사용하십시요.

       뉴욕에 있는 큰 투자은행은 프로그래머들에게 꽤 터프한 곳으로 알려져 있습니다. 끔찍한 일, 장시간 노동, 시끄러운 환경 그리고 독제자형 상사들이 이곳의 근무 조건입니다. 증권과 채권을 직접 팔고 거래하는 테스토스테론에 미친 유인원들이 3천만 달러의 보너스와 (종종 근처에 있던 프로그래머가 배달해 주는)치즈버거를 받는 회사의 왕족인 반면에 프로그래머들은 분명히 구별되는 3등 시민입니다. 이것이 일반적인 모습입니다. 어쨌든, 최고의 개발자들을 유지하기를 위하여 투자은행들은 두가지 전략을 세웠습니다. 막대한 보수(tons of money)를 주는 것과 프로그래머들이 무엇이든 몇번이고 그들이 배우고 싶어하는 새로운 프로그래밍 언어로 다시 작성할 수 있도록 자유를 주는 것입니다. 전체 거래 프로그램을 Lisp로 다시 짜고 싶습니까? 그건 마음대로 하세요. 가서 치즈버거나 사와요. 

       몇몇 프로그래머들은 어떤 프로그래밍 언어를 쓰던지 거의 신경쓰지 않습니다. 하지만 대부분은 흥미로운 새로운 기술을 가지고 일해볼 수 있는 기회를 원합니다. 오늘날에는 Phyton이나 Ruby on Rails일 것입니다. 3년전에는 C#이었고, 그 전에는 Java였습니다.

        지금 저는 여러분에게 작업을 위한 최고의 툴을 이야기하는 것이 아닙니다.  저는 여러분이 2년마다 뜨거운 오늘의 언어(역자주 : 오늘의 요리의 패러디 language-du-jour ) 로 프로그램을 다시 작성해야 한다는 이야기를 하는 것도 아닙니다. 하지만 여러분의 개발자들에게 새로운 언어나 프레임워크나 기술에 관하여 경험할 수 있는 기회를 줄 수 있다면, 그들은 더 행복해질 것입니다. 여러분이 핵심 프로그램은 감히 다시 작성하고 싶지 않을지라도, 내부 도구 프로그램이나 (Internal tools)나 크리티컬하지 않은 새로운 어플리케이션을 연습과제(Learning project)로써 새로운 언어로 작성해보게 하지 않을 이유는 없지 않습니까?


(7부에서 계속)
PS. 드디어 막바지 입니다. 7부에서 끝날 것 같습니다. 

저자에 관하여

Posted by 지그프리드 지그프리드

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


BLOG main image
일상, 프로그래밍, IT 그리고 직장생활, Dive, 여행 by 지그프리드

카테고리

Class List (402)
Studies (30)
Exercise & Quizz (10)
Term Project (0)
ECIM list (Help!) (10)
Issues & News (0)
Gossip about IT & Job (22)
Tools (2)
Think about the Justice (23)
Book Review (170)
조엘 온 소프트웨어(번역) (28)
Diary (87)
Vacations (9)
Clash of clans 클래시 오브.. (11)

글 보관함

달력

«   2020/02   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
Total : 316,417
Today : 0 Yesterday : 13