티스토리 뷰

https://github.com/LSH3333/YeolHyeolCPP

 

GitHub - LSH3333/YeolHyeolCPP

Contribute to LSH3333/YeolHyeolCPP development by creating an account on GitHub.

github.com

 

프로그래밍을 거의 처음 시작할때 읽었었던 책이라 제대로 이해하지 못했던것이 마음에 걸려 2~3주 동안 예전에 읽었던 책을 다시 읽어 봤다. 

아직도 모르는게 너무 많지만 처음 프로그래밍을 시작했던때 보다는 확실히 나아졌는지 꽤 술술 읽혀 생각보다 금방 다 볼 수 있었다.

항상 이 책을 다시 처음부터 보고 싶은 생각이 있었는데 그 시간에 새로운걸 배우는게 낫지 않을까란 생각에 계속 미뤘었지만 이렇게 다 읽고 정리하고 나니 다시 보길 잘했다는 생각이 든다.

 

책을 읽으며 예전에 배운 C에 관련해서도 많이 다시 찾아보면서 공부했는데 확실히 c와 c++은 유명한 언어들 (java, python 등..) 과는 다른 점이 많은것 같다.

다른점이라고 해야하나 c, c++은 날것 그대로 느낌이라면 (특히 c) 다른 언어들은 c를 기반으로 이것저것 좋은 기능들은 추가하고, 개발자의 권한을 일부러 제한한 느낌이다. (버그 방지를 위해) 

 

객체 지향에 관한 챕터를 읽다가 c++의 The rule of 3 (https://tose33.tistory.com/600?category=925804) 라는 규칙에 대해서도 알게 됐고 검색하다가 The rule of 0라는 것도 알게됐다. 

The rule of 3는 복사 생성자, 소멸자, 복사 연산자(연산자 오버로딩) 중 하나라도 선언되어 있다면 세가지 모두 선언되어야 한다는 법칙인 반면, The rule of 0는 아예 The rule of 3를 지켜야 하는 상황을 만들지 않도록 하는 것이다.

즉 동적 생성이 필요한 배열과 같은 기초 자료형의 사용을 피하고 vector와 같은 클래스를 사용하도록 권장하는 것이다.

 

이런걸 보면 프로그래밍은 점점 개발자의 권한은 줄이고 (인간은 언제나 실수를하기 때문에), 컴퓨터에게 점점더 많은 일을 맡기는 방향으로 발전하는것처럼 보인다. 그렇다면 점점 더 c와 c++의 위상은 줄어드는 걸까? (항상 로우 레벨에서 작업하는 사람들이 어느정도는 필요하겠지만)

 

예전에 외국 포럼 어딘가에서 누군가 프로그래밍을 처음 배울때 c를 배워야 하는지 파이썬을 배워야 하는지에 대해 물었던 질문글이 생각난다. 엄청 많은 답변이 달렸는데 의견이 모두 달랐다. 처음에 상대적으로 배우기 쉬운 파이썬으로 시작하는게 낫다는 사람도 있었고 c를 배워서 정확히 어떤 방식으로 작동하는지 처음부터 배워야 한다는 사람들도 있었다. 

물론 프로그래밍 언어는 단지 도구일뿐 중요한건 언어가 아니란건 알지만 과연 정답이 뭘까.

 

어쨌든 나는 공부를 하다가 책을 다시 볼 필요성이 느껴저서 다시 읽었고 끝까지 다 읽은 지금 사용한 시간이 전혀 아깝지는 않다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함