모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    라면은오짬님의
    개인페이지입니다
    가입 : 11-07-08
    방문 : 3575회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_8761
    작성자 : 라면은오짬
    추천 : 12
    조회수 : 1025
    IP : 148.87.***.222
    댓글 : 26개
    등록시간 : 2015/03/20 09:27:23
    http://todayhumor.com/?programmer_8761 모바일
    [스압] 어떤 언어를 배우는게 좋을까요?: 프로그램에 발을 딛은 분들께
    <div>"어떤 언어를 배우는게 좋을까요? 조금 어렵다고 하지만 역시 C일까요?"</div> <div><br></div>처음으로 프로그래밍을 접하고 배우고 싶어하시는 분들이 자주 하시는 질문입니다. <div><br></div> <div><span style="font-size:9pt;line-height:1.5;">처음 시작하는 언어와 나중에 자기가 전문으로 사용할 언어의 숙련도는 언뜻 굉장히 중요해 보입니다.</span></div> <div>저 역시 컴퓨터 공학으로 학교에 입학했을 때 그렇게 생각했고 그렇게 들어왔지요.</div> <div><br></div> <div>C, C++, Java, PHP, C#, Objective C, Javascript, Python, Ruby... 무슨 언어는 이렇게 또 많은지</div> <div>'만약 잘 못 된 우물을 파고 있는거면 어쩌지? 한 3년 열심히 팠더니 다른 언어가 각광 받으면 난 뻘짓한게 되는건가?'</div> <div>처음 공부를 시작하고 싶은 사람들은 헷갈리고 막연합니다.</div> <div><br></div> <div>누군가 저에게 이런 고민을 물어보면 전 대체로 이렇게 이야기 합니다.</div> <div>"고민하지 마시고 재밌어 보이는 걸로 아무거나 골라 하세요."</div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>사람마다 의견이 다를 수 있지만 저의 지론은 "언어의 숙련도와 개발능력의 상관관계는 절대적이지 않다" 입니다.</div> <div>물론 한 언어를 아주 능숙하게 다룬다면 개발에 큰 도움이 될 겁니다. </div> <div>하지만 한 언어를 아주 능숙하게 다루는 엔지니어 A씨가 좋은 개발자냐고 묻는다면, 이는 항상 참이라고 볼 수는 없습니다.</div> <div>만약 A씨가 좋은 개발자라고 한다면 이는 한 언어를 잘 다루기 때문이 아니라 그렇게 되기까지 많은 경험과 지식이 있기 때문이라고 보는것이 더 옳습니다.</div> <div><br></div> <div>그럼 어떤 요소가 엔지니어의 퀄리티를 판가름 하는 걸까요?</div> <div>여러가지가 있겠지만 크게 두가지로 나눠 보자면 모델링 능력과 알고리즘 숙련도일겁니다.</div> <div><br></div> <div>모델링 능력은 굵직한 뼈대를 그려내면서 동시에 얼마나 구체화 된 수치를 예측하느냐 입니다.</div> <div>이 서비스를 개발하면 얼마나 많은 유저가 있을까? 트래픽은 얼마나 될까? 얼마나 큰 서버가 필요할까 등등 큰 그림에서 작은 그림을 그려나갑니다.</div> <div>이러한 작업을 specification이라고 합니다.</div> <div>모델링 능력은 많은 경험+지식과 약간의 직관력에 좌우됩니다.</div> <div>때문에 미국 실리콘밸리의 회사에서는 인터뷰시에 이런 디자인/직관 문제를 자주 냅니다.</div> <div>"비행기 예약시스템을 디자인해보세요", "미국 전체에 휴대전화 송신탑이 몇개나 될까요? 이유를 말해보세요"</div> <div><br></div> <div>알고리즘은 우리가 학교에서 배우는 자료구조들과 그를 이용한 문제 해결능력입니다. 어떻게보면 수학적 능력이라고 볼 수 있습니다.</div> <div>리스트, 트리, 그래프, 해쉬테이블, 서치, 소트, 최단경로탐색, 등등 아주 기본적이면서도 중요한 지식들이지요.</div> <div>복잡한 문제가 앞에 있을 때 어떻게 해야 효율적인 시간복잡도와 공간복잡도로 문제를 해결 할 수 있는지 항상 고민해야 합니다.</div> <div><br></div> <div>질문) </div> <div>"인터넷 최근 인기 검색어를 구현해봅시다. 최근 24시간 동안 가장 인기 있는 검색어 top 10을 출력하는 알고리즘을 구현하세요"</div> <div><br></div> <div><br></div> <div>엔지니어라면 문제를 보는 순간 여러가지 상황에 따라 알고리즘이 떠 오를 겁니다.</div> <div>검색어의 양이 크지 않다면 Insertion과 look-up의 시간복잡도가 O(1)인 해쉬테이블이 이상적이겠지만, 만약 그 검색어 양이 엄청나게 많다면 해쉬테이블의 공간복잡도로는 무리겠지요. 아마도 R-B Tree를 이용한 근사값 추출을 해야하지 않을까. 하고 생각할겁니다. </div> <div><br></div> <div><br></div> <div>이러한 모델링능력, 알고리즘 지식은 자신이 사용하는 언어와는 거의 상관 없습니다. </div> <div>바꿔 말하면 이런 지식만 있다면 평생 한 언어만 사용한 사람이더라도 다른 언어로 구현해 내는게 크게 어려운 일이 아닙니다.</div> <div><br></div> <div>그러한 이유로 실리콘밸리의 IT 기업에서 기술 면접을 보면 특정한 케이스가 아니면 대체로 언어에 크게 연연하지 않습니다.</div> <div><span style="font-size:9pt;line-height:1.5;">전 현재 운영체제를 만드는 시스템그룹에서 일하고 있는데도 인터뷰를 볼 때 Python으로 봤습니다. </span></div> <div>물론 원래 C를 불편함 없이 다루긴 했고 이력서에 어필하긴 했지만 만약 팀에서 정말 C 언어능력만을 중요시 했다면 제 인터뷰를 C로 요청했겠지요.</div> <div><br></div> <div><span style="font-size:9pt;line-height:1.5;">전 이런 방향성이 맞다고 봅니다.</span></div> <div><br></div> <div><br></div> <div>제 개인적인 의견으로는 전공자가 아닌 이상 처음부터 억지로 C를 배우실 필요는 없습니다.</div> <div>일단 간단한 목표 설정을 하시고 자신이 결과를 볼 수 있을만한 걸 하는게 성취감도 있고 재밌습니다.</div> <div><br></div> <div>예전에 중고생 대상으로 로보트 만들기 캠프를 했는데 그때는 레고 마인드스톰과 iRobot create을 써서 프로그래밍을 가르쳤거든요.</div> <div>실제로 자신이 프로그래밍을 해서 뭔가 감지하고 움직이는 걸 만든다는게 무척 즐거워 보였습니다.</div> <div><br></div> <div>핸드폰 앱 개발을 해보고 싶으시면, 자신의 전화기 연결해서 아주 간단한 프로그램이라도 만들어보는게 윈도우 까만 윈도우 콘솔에서 스트링이랑 씨름하는 것 보다 훨씬 더 즐겁고 빨리 배우는 길이라고 생각합니다. 어차피 찍는 Hello World, 자기 전화에 찍히면 더 신기하에에기라도 하잖아요.</div> <div><br></div> <div>자신은 조금 하드코어고 C로 이런걸 해보고 싶으시다면 Arduino/AVR 같은 키트 프로그래밍을 해 보세요. </div> <div>요즘엔 초보용 키트가 아주 잘 나와서 납땜질 따로 안 하고 빵보드에 조립해서 프로그래밍만 할 수 있는 세트도 많답니다.</div> <div><br></div> <div><br></div> <div>언어에 익숙해지시면 언어 자체보다 조금씩 자료구조와 알고리즘들을 공부하세요. 프로젝트도 조금씩 크게 키워 보시구요.</div> <div>어느정도 자신이 생기시면 github등 오픈프로젝트에 참여하셔서 다른 사람들이 어떻게 짜는지 구경도 해보시구요.</div> <div><br></div> <div>이렇게 기웃기웃 하면서 일단 어떤 언어라도 어느 정도 발을 붙이시면 확장은 그때부터 하셔도 늦지 않습니다.</div> <div><span style="font-size:9pt;line-height:1.5;">그때는 자신의 상황에 어떤 언어가 더 나을지 보는 눈도 생기고, 진로도 명확해지며, 새로운 언어에 대한 진입장벽도 훨씬 낮아집니다.</span></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>.... 그래도 꼭꼭꼭 배워야 할 한 언어를 추천받으셔야겠다면</div> <div><br></div> <div><br></div> <div>전 영어를 추천하렵니다. (진지)</div>

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2015/03/20 09:28:43  203.226.***.165  이웃집개발자  227390
    [2] 2015/03/20 09:29:06  14.200.***.77  목욕통  362460
    [3] 2015/03/20 09:51:12  68.98.***.230  cosine  612955
    [4] 2015/03/20 10:10:57  211.210.***.247  머래노  557976
    [5] 2015/03/20 10:13:40  175.193.***.181  lostin  247263
    [6] 2015/03/20 10:16:21  211.234.***.202  늑대지렁  350953
    [7] 2015/03/20 13:02:43  59.13.***.130  스윗초코  81299
    [8] 2015/03/20 15:39:25  112.166.***.240  청새치.  168661
    [9] 2015/03/20 18:09:12  111.118.***.160  자이제  65766
    [10] 2015/03/20 19:12:56  61.72.***.192  잉여잉여킹짱  521033
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    20
    [질문] 사람이 다른 무게를 들 때 적응하는 속도를 실험한 다큐.. 본인삭제금지 라면은오짬 15/07/28 10:27 29 0
    19
    타인을 무시한다고 자신이 우월해지는 건 아닙니다. [23] 라면은오짬 15/04/05 15:57 56 20
    18
    오유 개인페이지를 보다가 라면은오짬 15/04/03 04:58 56 0
    [스압] 어떤 언어를 배우는게 좋을까요?: 프로그램에 발을 딛은 분들께 [7] 라면은오짬 15/03/20 09:27 85 12
    16
    [흉폭주의] 오늘자 래서판다의 흉폭함 [4] 라면은오짬 15/02/21 08:07 100 11
    15
    gmail 쓰시는 분들을 위한 필터링 팁 [약스압, 영어주의] [2] 라면은오짬 14/03/20 12:01 64 11
    14
    살인진드기 응급조치 tip [1] 라면은오짬 13/05/16 14:53 64 2
    13
    스나이퍼다냥! 엎드려라냥! [5] 라면은오짬 12/08/13 10:56 491 13
    12
    왠지 짠해지는 광고 [1] 라면은오짬 12/02/25 05:43 323 1
    11
    간단하지만 맛있는 스테이크 만들기~ [2] 라면은오짬 12/02/13 23:49 258 2
    10
    흔한 신혼부부의 패기.jpg [4] 라면은오짬 11/08/20 06:16 960 11
    9
    남자의 요리법 [1] 라면은오짬 11/08/20 02:58 253 1
    8
    간편하게 만드는 블루치즈 오믈렛 [4] 라면은오짬 11/08/13 03:15 335 3
    7
    (BGM) 샌프란시스코(+LA)에 다녀왔습니다. (스압) [9] 라면은오짬 11/08/12 07:25 319 2
    6
    식재료 처리용 닭가슴살 크림소스 파스타 [3] 라면은오짬 11/07/22 11:00 134 3
    5
    오븐에 구운 버팔로 윙과 감자튀김 [5] 라면은오짬 11/07/16 12:56 184 7
    4
    한 여름엔 보드카! [2] 라면은오짬 11/07/16 01:40 184 3
    3
    Blue Moon 맥주 [2] 라면은오짬 11/07/14 15:23 185 0
    2
    치킨 빈달루(카레)를 만들어보았습니다. [4] 라면은오짬 11/07/11 10:41 248 2
    1
    새로입성했습니다. 잘부탁드립니다 (_ _) [6] 라면은오짬 11/07/10 10:46 255 5
    [1]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈