C++

이강민·2023년 8월 16일

C++

목록 보기
1/22
post-thumbnail

왜 배워야할까?

개발 공부를 시작한지는 2년이 넘어가고 있다.
처음 자바스크립트를 통해 입문하게 되었고 개발에 흥미를 느끼게 되었다.
그러나 웹페이지를 만들면서 느낀 것은 단순 구현을 목적으로 코드를 타이핑 했을 뿐 실제 웹페이 치를 개인이 넘어버리게 하는 저급의 성능을 가진 애플리케이션을 만들어 결국에는 더 많은 비용을 들게하는 부끄러운 흑역사를 만들었다. 종국에는 업로드 되는 사진의 용량을 압축시켜서 애플리케이션의 성능을 향상시켰지만 별로 만족스럽지 않은 아쉬움이 많은 프로젝트였다.

개발에는 구현이 전부가 아니라는 것을 깨닫는 순간이였다. 애플리케이션의 기능성, 효율성, 단순성, 보안성을 두루 갖추어 코드스멜이 없는 고품질의 애플리케이션을 만들어야 한다.
그동안 학원과 인터넷 강의는 구현 중심의 교육으로 객체지향의 원칙이나 디자인 패턴을 가르치지는 않았다. 나 역시 그런 커리큘럼에 익숙해져서 단순 언어의 사용방법을 익히고 빠르게 구현하는 방법만 배웠고 구현을 중심으로 프로젝트를 하였다. 그 결과 반복되고 똑같은 작업은 능숙하게 코드를 작성하게 하지만 생각을 깊게하여 만들어진 코드는 아니라 품질을 보장하지 못하였다.

리액트는 컴포넌트 중심으로 작성하게 도와주지만 지금의 구현 중심의 코드 작성은 컴포넌트 간의 과도한 통신, 생성되는 불필요한 변수들은 애플리케이션의 성능을 저하시키고 코드스멜을 유발한다.

객체지향의 원리와 디자인패턴을 배우기 전에 먼저 컴퓨터와 친해질 필요성을 느꼈다.
컴퓨터와 친해진다는 것은 컴퓨터의 자원을 직접 조율하고 만지는 것 즉, 컴퓨터와 가까운 언어를 배우는 것이다.
그렇다고 어셈블리 언어를 배우는 것은 너무 나간 것이고 C언어를 배우는 것 보다 객체지향의 원리를 배우기 위해서는 C언어의 기능을 포함하고 있는 C++이 좋다고 생각한다.
C#은 메모리 관리를 자동으로 해주는 컴파일러가 있어서 컴퓨터와 친해지기는 어렵다.

컴퓨터의 메모리는 할당하고 해제시키고 객체지향적 언어를 배워 볼 수 있는 언어는 C++이 좋다고 생각한다.

목적

  • 메모리 관리 방법을 배운다.
    • 메모리를 관리하는 unmanaged language 중 가장 접근성이 좋은 언어이다.
    • 메모리 관리방법을 알아야 다양한 문제해결의 범위가 증가된다.
  • 객체지향의 원리를 배운다.
    • 차세대 언어는 모두 객체지향이라는 것을 알 수 있다.
      객체지향의 원리를 배운다면 다른 언어의 접근성이 좋아진다.
  • 웹페이지의 백엔드를 C++기반으로 만들어 본다.
    • 웹 api를 C++로 만들어서 웹 페이지를 배포해본다.
profile
AllTimeDevelop

0개의 댓글