2009-11-26 3 views
1

저는 중간적인 C++ 프로그래머이며 ACE를 사용하여 몇 가지 작업을했습니다. 이제는 내 경력으로 진행하기 위해 그 라이브러리 중 하나를 철저히 배우고 싶습니다. 내가 왜 당신의 친절한 도움을 받아 결정을 내리면, 먼저 배워야하는지. 또한 제 목표는 숙련 된 네트워크 프로그래머와 프로토콜 설계자가되도록 고려하십시오. 미리 시간과 종류의 답변을 주셔서 감사합니다.학습을위한 ACE와 부스트 사이의 선택

답변

5

이것은 당신이 찾고있는 해답이 아닐 수도 있지만 경력 목표와 관련하여 인위적으로 너무 많이 제한하지 말 것을 강력히 제안합니다. 프로그래머로서의 경력이 얼마나 오래 지속되는지 알아 내고, (a) 그 시간 동안 만 네트워크 프로그래밍을하는 것을 실제로 볼 수 있다면 (b) 한 도서관 당신은 당신의 심층적 인 지식을 위해 당신의 경력을 정체시키지 않고 당신이 지금 당신의 경력의 나머지 부분에 대해 가지고있는 필요를 충족시킬 수있을 것입니다.

장기간 프로그래밍 경력을 유지하는 것은 단일 라이브러리 또는 2 개에 대한 심층적 인 지식이 아니라 프로그래머로서의 전반적인 능력입니다. 라이브러리는 프로그래밍 언어가 도구 (언어 디자이너가 아닌 경우)와 같은 방식으로 도구 (라이브러리 디자이너가 아닌 경우)이며 좋은 프로그래머는 작업에 적합한 도구를 선택할 수있는 능력을 갖춘 도구입니다.

그런데 모든 C++ 프로그래머는 적어도 부스트가 있다는 사실과 스마트 포인터 라이브러리, 정규 표현식 등의 핵심 라이브러리에 익숙하다는 것을 권장합니다. 아무도 기대하지 않을 것입니다. 나는 Boost의 모든면에서 전문가가되기 위해 일하고 있지만, 경험이없는 C++ 프로그래머가 어디에서 찾을 수 있는지, 그리고 Boost에서 코드를 사용하는 것이 더 나을 것이라고 기대한다. 메모리 할당 자. 필자가 제시 한 예는 가장 좁은 의미에서 네트워크 프로그래밍에 직접 적용 할 수있는 것처럼 보이지 않을 수도 있지만 대부분의 프로그램에서는 필요하지 않을 수 있습니다.

Boost를 따라 잡는 또 다른 좋은 이유는 결국 Boost에서 비롯된 C++ 표준 라이브러리로 만들 수있는 많은 기술이 있다는 것입니다. Boost가있는 곳을 계속 유지하면 C++에서 새로운 개발 관용구가 계속 개발되고 있으므로 C++ 커뮤니티의 특정 개발을 주시 할 수 있습니다. 언어와 그것의 표준적인 사용법은 적어도 현재로서는 "고정되어 있지"않다. 그리고 이것은 C++ 프로그래머로서 장기간의 경력을 계획하고 있다면 계속 유지해야 할 것이다.

관련 문제