C++ 언매니지드 프로그래밍
What you'll learn
- C++ 언어 사용법
- 올바른 프로그래밍 습관
- C++ 언어가 내부적으로 어떻게 도는지에 대한 이해
Requirements
- "C 언매니지드 프로그래밍" 수료
- "개체지향 프로그래밍 및 설계" 수료
Description
본 비디오 강좌는 포큐아카데미에서 진행하는 COMP3200 수업의 비디오 강좌입니다.
C++은 C와 더불어 가장 널리 사용되는 언매니지드 언어일 뿐만 아니라 2018년 7월 기준 전세계에서 3번째로 많이 쓰이는 언어입니다. (출처: TIOBE) 그리고 언매니지드 언어라는 특수성 때문에 한동안 사용률이 떨어지지 않을 전망입니다.
현존하는 프로그래밍 언어를 크게 둘로 나누면 매니지드(Managed) 언어와 언매니지드(Unmanaged) 언어가 있습니다. 이 둘의 차이는 프로그래머가 컴퓨터 하드웨어를 직접 제어할 수 있는지 여부입니다. (예: 프로그래머가 직접 메모리를 관리하는가?)
프로그램의 성능보다 제품을 빨리 개발하는 것이 중요한 분야에서는 C#, Java와 같은 매니지드 언어를 널리 사용합니다. 하지만 운영체제, 비디오 게임, 가상현실, 주식거래소, 머신 러닝 코어, 블록체인 등 성능이 더 중요한 분야에서는 여전히 언매니지드 언어를 사용할 수밖에 없습니다. 따라서 본 강좌는 실제 업계에서 쓰이는 C++ 프로그래밍 기법에 중점을 맞춰 진행합니다.
언매니지드 언어의 장점은 여기서 그치지 않습니다. 프로그래머의 지속적인 성장에 반드시 필요한 지식 중 하나가 컴퓨터 하드웨어에 대한 이해입니다. 탑 레이서라면 자동차의 동작 원리를 잘 알아야 하듯이 탑 프로그래머는 하드웨어의 동작 원리를 잘 이해해야 합니다. 이걸 돕는 언어가 바로 언매니지드 언어입니다.
'COMP2500: Java 개체지향 프로그래밍 및 설계'와 마찬가지로 이 강좌에서도 개체지향 프로그래밍(OOP)에 대해 배웁니다. 하지만 이 코스를 성공적으로 마무리한 분들은 하드웨어 수준에서 개체지향 프로그래밍이 어떻게 작동하는지까지 자세히 이해하실 수 있을 겁니다.
본 강좌는 다음과 같이 크게 세 부분으로 나뉘며, 강의 진행도 이 순서를 따릅니다.
코어 C++: 참조, 클래스, 상속 등 C++의 기본이 되는 내용. C++98 표준 ( ~ 5주 차)
모던 C++: STL 등 C++03 표준에서 추가된 기능 중 업계에서 쓰이는 내용들 (6주 차 ~ 9주 차)
C++1x: C++11/14/17 표준에서 추가된 최신 기능 중 업계에서 쓰이는 내용들 (10주 차 ~ )
위와 같이 강의를 세 부분으로 나눈 이유는 회사에 따라 사용하는 C++ 표준이 다르고, 성능 상의 이유로 일부러 과거의 표준을 여전히 사용하는 곳도 많기 때문입니다. 따라서 최신의 C++ 표준만을 사용하는 프로그래머는 업계에서 원하는 프로그래머가 아닌 경우가 많습니다.
Who this course is for:
- 컴퓨터 공학의 기본기를 배우고 싶은 분들
- 프로그래머로서 평생 커리어를 꿈꾸는 분들
Instructor
Pope Kim is an experienced software engineer, architect, and educator.
After shipping numerous AAA game titles, including FIFA and Halo as a 3D rendering engineer, he moved to the web industry to lead multi-million dollar projects at Staples. Then he accepted a CTO position at a Silicon Valley startup company where he built and managed engineering teams across three different countries. With his strong leadership, the company's valuation had increased over 25,000 times during his stay.
Outside engineering career, he also taught at multiple universities. His most recent position in education was Faculty at BCIT, which he resigned from to make his own computer science education service, https://pocu.academy