전문가를 위한 C++ - C++17, 제네릭 람다, STL, 템플릿, 디자인 패턴, 객체지향의 원리를 익히는 확실한 방법, 개정4판
마크 그레고리 지음, 남기혁 옮김 / 한빛미디어 / 2019년 8월
평점 :
구판절판


학창 시절에 C++을 잠깐 배웠습니다. 


기회가 되면 다시 공부해야지 하는 생각을 불현듯 했는데요. 


파이선과 C++의 딥러닝 연산속도를 비교하기 위해서  책을 알아봤습니다.


찾은 책은 바로 '전문가를 위한 C++'입니다. 


처음 이 책을 본 순간 벽돌이다....


많은 전공 서적을 봤지만 페이지수가 2배 이상인 1400입니다.


엄청나게 압도적이었습니다. 


하지만 내용을 본 순간 생각은 달라졌습니다.


고급 기능들이 담겨 있는 책들이 기존에 많지 않았기 때문이죠. 


그럼 이 책에 대해서 짧게 정리해보도록 하겠습니다. 


1) 표준화의 변화 

함수형 언어들의 대거 등장으로 기존 개발 코드들이 크게 변화하고 있습니다. 


이에 발맞추어 C++ 또한 표준화 작업에 들어갔는데요. 

버전 별로 차이가 있지만 최근 버전의 소스 코드들이 기존의 방식보다 줄어든 것으로 알 수 있습니다. 


크게 변화된 것은 표준 라이브러리에 변화입니다. 

표준 라이브러리가 변화된 것은 내부의 코드들을 전반적으로 바뀐 것이라고 볼 수 있습니다.


내부적(std 라이브러리)으로 문자열에 대한 포인터와 길이만 가지므로, 복사가 쉽지만 메모리에 할당이 안 됩니다.


향후 C++ 20은 어떠한 변화가 있을지 궁금합니다. 


2) C++ 병렬처리

주로 사용하는 언어가 Python입니다. 

cpython을 이용해서 병행해서 사용했지만, 생각만큼 퍼포먼스가 나오지 않았습니다. 


그중 찾은 방법이 C++을 활용한 병렬처리 방법인데요.

병렬 알고리즘을 바탕으로 작업을 해본 결과 C++ 단에서 작업하는 것이 빠른 것으로 확인됐습니다.


좀 더 소스를 다듬고 병행해서 작업하면 괜찮은 것으로 보입니다. 


PS.

30년이 넘은 오래된 언어 C++.


처음 접했을 때는 이해가 안 가서 너무 어려웠는데요. 

현업에 들어오면서 언어에 대한 이해도가 높아지면서 진입장벽을 넘어 편한 언어로 다가왔습니다. 


최근 표준화 과정을 거치면서 C++ 17 이전과 이후가 크게 바뀌었습니다.


개인적으론 현재 버전이 이해하기 쉽게 코드를 짤 수 있어서 눈에 잘 갑니다. 

단, 기존에 코드들을 어느 정도 유지보수 해야 한다는 것을 고려해야 한다는 점도 있죠. 


C++에 대해 좀 더 깊게 공부하고 싶은 사람들과 개발하는 분들에게 이 책을 추천해 드립니다. 



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo