2010-12-08 2 views
5

나는 basic OOP-related topics, RTTI, Templates을 알고 있습니다. Java' Collection Framework에서 되돌아 와서 C++에서 컬렉션을 찾으려고 시도한 결과 STL이 발견되었지만 내 프로젝트에서는 사용하려고합니다 (알지 못하더라도). 나는 Accelerated C++, Effective and More Effective C++과 같은 서적을 검색하고 추천을 찾았습니다.C++ | 진행 경로

하지만 내 진행 경로가 무엇인지 확신 할 수 없습니다. 나는 이런 식으로 뭔가를 찾고 있어요 - Python-Progression Path :

def apprentice(): 
    read(diveintopython) 
    experiment(interpreter) 
    read(python_tutorial) 
    experiment(interpreter, modules/files) 
    watch(pycon) 

def master(): 
    refer(python-essential-reference) 
    refer(PEPs/language reference) 
    experiment() 
    read(good_python_code) # Eg. twisted, other libraries 
    write(basic_library) # reinvent wheel and compare to existing wheels 
    if have_interesting_ideas: 
    give_talk(pycon) 

def guru(): 
    pass # Not qualified to comment. Fix the GIL perhaps? 
  1. 발견 list comprehensions
  2. 발견 generators
  3. 통합하십시오 map, reduce, filter, iter, range, xrange을 자주
  4. 발견이 Decorators
  5. 이 재귀 함수를 작성 코드에, 많이
  6. 고차 함수, 재귀, 그리고 기타 등등의 톤과3210
  7. 발견 itertoolsfunctools
  8. 읽기 Real World Haskell
  9. 재 작성 모든 기존의 파이썬 코드.
  10. Python 클래스를 제공 할 때마다 큐비클 메이트를 불쾌하게합니다. "더 나은"사전 과 일부 기능으로 구현 될 수 있다고 주장합니다. 기능적 프로그래밍을 수용하십시오.
  11. Strategy 패턴을 다시 찾은 다음 all those things 명령 코드에서 하스켈을 잊어 버리려고 시도했습니다.
  12. 잔액 찾기
+2

당신은 질문 제목과 C++ 태그에 C++을 가지고 있지만 , 질문에 C++과 관련이없는 것처럼 보입니다. 생각해 보니, 그 질문은 뭐니? –

+1

묵시적인 질문은 "C++의 학생들에게이 목록과 같은 것은 무엇입니까?"입니다. –

+0

@Charles Bailey : 내 질문을 업데이트했습니다. –

답변

3

정말 힘든 질문입니다. 왜냐하면 당신이 정말로 필요로하는 것이 당신이하는 일에 능숙 해지고 따라서 권위있는 목록이 존재하지 않기 때문입니다.

그 말은 ...

    마이어스에 의해
  • 읽기 Effective C++와 셔터에 의해 C++ Coding Standards, 당신은 당신이 초보자라면 모든 것을 이해하고, 그래서 수시로 그들을 다시 읽을 가능성이 아니에요
  • 시간 (그것은 또한 좋은 백신입니다) 가능하다면 C++ 0x 버전으로 바로 건너 뛰기
  • 부드럽게 처음에는 부드럽게 부스트를 도입하십시오 : boost::optional, boost::variant, boost::lexical_cast, boost::numeric_cast은 코드를보다 안전하고 관용적으로 만듭니다. 또한 Boost String Algorithms 라이브러리를 뚫습니다.
  • 템플릿 메타 프로그래밍과 Boost.MPL은 다음입니다 : Abrahams Gurtovoy가 C++ 템플릿 메타 프로그래밍을 도와줍니다. Boost.Preprocessor를 활용하여 템플릿을 처리해야 할 수도 있습니다.
  • 자세히 알아보기 Boost Libraries는 거대한 저장소이며 모든 라이브러리가 놀랍습니다.

내가 그 마지막 부분 자신에 아직도이다, 그래서 더 가고 :)

각 단계에서 말씀 드릴 수 없습니다, 당신은 많은 코드를 작성해야 읽기가 충분하지 않습니다, 당신은 실험 할 필요가있다. 프로그래밍은 단순한 기술이 아니며, 프로그램의 건축 부분은 현장에서 매우 중요합니다.

아, 그리고 오픈 소스 프로젝트는, 아무것도 코드를 작성 뛰는 다른 사람이 그것을 :) 리뷰 때 더 나은 시도하고 (읽을 경우에만)에 가입

0

처음에는 C와 잘 어울립니다. Peter van der Linden이 "Deep C Secrets"를 추천합니다.

Scott Meyers의 "Effective C++"사본을 가져 와서 메모리에 대한 조언을 제공합니다 ("More Effective C++"도 꽤 좋습니다).

Coplien의 "Advanced C++"를 읽으십시오.

The C++ FAQ을 읽으십시오.

이 시점에서 Stroustrup의 "The C++ Programming Language"를 읽으십시오.

+6

C를 잘 사용하면 C++에서 피할 수있는 나쁜 습관을 실제로 가르쳐줍니다. –

+0

@ 마크 B : 동의 함. 저는 미래의 C++ 학생들에게 습관을 가르치지 않을 것입니다. – Puppy

+0

일부 C++ 항목이 끔찍하게 느리다는 것을 발견했을 때 C 습관을 되 찾는 것이 좋습니다. –