soma0sd

코딩 & 과학 & 교육

프로그래밍 언어 리뷰 (1): C++ (ROOT)

2019.05.13.프로그래밍
반응형

사용해 본 언어를 중심으로 다루는 주관적인 리뷰입니다. 프로그래밍 언어는 각기 스타일과 철학이 다르기 때문에 점수를 준다거나 하기는 곤란합니다. 언어 자체에 대한 리뷰가 아니라 언어를 사용해본 경험을 리뷰한 것에 가깝습니다

C++

이름대로 C로부터 파생한 언어입니다. C와의 차이점을 꼽으라면 객체지향성을 꼽는 분들이 많습니다. 다만 요즘에는 C 언어 또한 객체지향성을 가질 수 있도록 프로그래밍 하는 것이 가능하기 때문에 저는 복잡하지만 다양한 방법으로 프로그래밍 할 수 있다는 점을 특징으로 꼽습니다.

ROOT

ROOT는 유럽입자물리연구소(CERN)에서 유지관리하는 C++기반 데이터분석 프레임워크입니다. 입자물리학 등에서 자주 쓰입니다. 이 ROOT는 C++기반으로 제작되었으며, 사용자가 작성하는 명령의 문법 또한 C++입니다.

ROOT를 사용해서 프로그래밍을 하는 경우에 기존 C++와는 다른 새로운 특성을 가지게 되는데요. 가장 큰 특징으로는 ROOT에 탑재되어있는 해석기를 이용해 마치 스크립트 언어처럼 다룰 수 있게 된다는 것입니다. 물론 컴파일도 가능하죠. 또한 기본적으로 불러오는 라이브러리로 인해 기본 함수가 대폭 늘어나게 됩니다.

시작하는 언어로는 어때?

프로그래밍을 처음 시작한다면, C++은 그다지 추천하고 싶은 언어가 아닙니다. 변칙이 너무 많아 다른 사람들이 쓴 코드를 이해하기 어려운 것이 가장 큽니다.

그리고 프로그래밍을 처음 시작하는 경우에는 개발환경을 구축하는 난이도 또한 생각해봐야 하는데요. 윈도우즈의 비주얼 스튜디오와 리눅스의 개발도구 모음을 받아서 사용할 때 각각의 실행결과, 실행유무가 달라지는 점 또한 큰 장벽입니다. 물론 코딩으로 극복할 수 있는 문제긴 하지만 이런 부분을 신경써서 프로그래밍 하는 것은 처음 배울 때 속도도 안나오고 짜증만 더해져서 결국 프로그래밍 공부를 던지게 되기 마련이라고 생각합니다.

다만, 내가 가고자 하는 실험실/업체에서 ROOT나 C++을 사용한다면 굳이 다른 언어를 배워서 개념을 잡은 다음에 C++을 공부하는 것은 심각한 낭비가 될 수 있습니다. 나중에 실험실에 더 나은 효율을 보장하는 언어를 제안해서 바꾸는 것을 하나의 가능성으로 두고 일단은 C++로 시작하는 것이 좋습니다.

취미로는 어때?

프로그래밍 언어 자체에 흥미를 느끼는 분이라면 C++은 끝없는 떡밥을 제공합니다. 위에서 언급한 변칙은 취미로 즐기는 분들에게는 흥미로운 탐구대상일테니까요.

무언가를 만들어 보고 싶을 때 C++을 사용하겠다면, 기존에 누군가 개발한 기능을 모듈 단위로 가져오는데 어려움을 느끼게 될 수 있습니다. 취미로 어떤 프로그램을 창작하려고 하는데 소소한 기능 하나하나를 직접 구현해야 한다면 어느새 열정도 떨어지고 흥미도 잃어서 클라우드 구석에 서버먼지나 빨아먹는 낡은 파일이 되기 쉽상입니다.

역시 이것도 예외가 있습니다. 유니티 등 특정 목적에 최적화 되어있는 개발환경에서 사용하는 주요 개발언어가 C++인 경우에는 오히려 C++을 배워두어야 취미활동을 할 수 있습니다. 유니티(C#도 지원하는)등이 그런 경우입니다.

반응형
태그:

댓글

End of content

No more pages to load