C++ 특징랑 C 특징이랑 섞여 있는데 그냥 C++ 하나로 퉁침 어차피 C 슈퍼셋인데
1. COBOL, ADA, FORTRAN 같이 돈 잘버는 언어 배우기 쉬움
이게 C 기원을 파면 1950년대 나온 ALGOL 60이랑 1960년대 나온 B까지 거슬러 올라가는데 당시 인싸 언어는 COBOL, FORTRAN 등이 High-level로 찬사받던 시절이라 C의 조상도 이 트렌드를 상당부분 따라갔음 그래서 겉으로 보면 전혀 안비슷한데 실제로 C++로 번역해보면 구조가 꽤 비슷함
*> COBOL code
//C++ code
class MyClass{
int main()
cl.who="CAPTAIN COBOL"
cout << "Name: " << cl.who << endl;
return 0;
코볼이 하필 self-documenting language랑 business user를 가정해서 장황하게 쓰여졌지만 실제 구조는 C++로 손쉽게 풀림 내가 아직 배우는게 COBOL이긴해도 ADA나 FORTRAN도 비슷하게 C++를 배워야 문법의 트렌드가 비슷해서 이해가 잘됨
2. Python도 이해가 빠름
Guido van Rossum 할배가 원래 C로 Python 만든거라서 Python로 족보만 따지면 엄연한 C 직계이니 C랑 C++ 문법과 비슷한 부분이 많음 그래서 모든걸 Object로 취급한다고 Python만 파면 class도 이해가 힘들고 해서 금방 한계가 옴 오히려 Python은 Object 처리만 빼면 함수 이름부터 참 배배꼬인 Java보다 C/C++에 더 비슷함
3. 알고리즘 단련이 됨
복잡한 수학 수식도 사실 Excel이나 Pseudocode로 일단 한차례 정돈한 다음 코드로 옮기는게 국룰이지만 C/C++는 흔히 아는 컴퓨터용 수학 수식(Excel 등등)에 가장 가까워서 이과에게 필요한 알고리즘을 금방금방 짬 물론 나는 Python에 바로 짜고 C++로 옮기는데 C++로 옮긴다고 해봐야 **를 ^로 바꾸는 정도라 큰 차이 없음 생각해보면 Tensorflow 등도 통계학 기반 라이브러리 짜겠다고 수학 수식 떡칠된걸 코드로 옮기는게 심각한 문제지 C++을 통한 구현 레벨 자체는 몇몇 부분 빼면 그렇게 어려운 것도 아님 Numpy도 마찬가지
4. 메모리 익히기 좋음
고오급 테크닉은 굇수가 널렸고 나는 기껏해야 i->x 한 다음 x 값을 변조하는 정도...지만 다른 언어에서 겪는 좆같은 렉을 C++에서는 메모리 컨트롤로 사전에 방지하니까 최적화의 기본 개념을 다지기 좋다고 봄 어디 얼리 액세스 게임들 플레이해보면 이호로개좆니미썅놈들 좆니티 썼다고 바로 렉이랑 오버플로우 프리징 걸려서 C++ 기반이라 왠만한 OS에서 렉없이 쾌적하게 돌아가는 레거시 게임이 참 그리워짐 메모리 컨트롤은 신이야...
물론 C/C++ 안배워도 먹고 살 수는 있지만 C++를 라틴어/씹덕라틴어 느낌으로 배워두면 연봉 협상 때 부를 수 있는 액수가 달라질 것(중요)