프로그래밍 언어 리뷰 (1): C++ (ROOT)
사용해 본 언어를 중심으로 다루는 주관적인 리뷰입니다. 프로그래밍 언어는 각기 스타일과 철학이 다르기 때문에 점수를 준다거나 하기는 곤란합니다. 언어 자체에 대한 리뷰가 아니라 언어를 사용해본 경험을 리뷰한 것에 가깝습니다
C++
이름대로 C로부터 파생한 언어입니다. C와의 차이점을 꼽으라면 객체지향성을 꼽는 분들이 많습니다. 다만 요즘에는 C 언어 또한 객체지향성을 가질 수 있도록 프로그래밍 하는 것이 가능하기 때문에 저는 복잡하지만 다양한 방법으로 프로그래밍 할 수 있다는 점을 특징으로 꼽습니다.
ROOT
ROOT는 유럽입자물리연구소(CERN)에서 유지관리하는 C++기반 데이터분석 프레임워크입니다. 입자물리학 등에서 자주 쓰입니다. 이 ROOT는 C++기반으로 제작되었으며, 사용자가 작성하는 명령의 문법 또한 C++입니다.
ROOT를 사용해서 프로그래밍을 하는 경우에 기존 C++와는 다른 새로운 특성을 가지게 되는데요. 가장 큰 특징으로는 ROOT에 탑재되어있는 해석기를 이용해 마치 스크립트 언어처럼 다룰 수 있게 된다는 것입니다. 물론 컴파일도 가능하죠. 또한 기본적으로 불러오는 라이브러리로 인해 기본 함수가 대폭 늘어나게 됩니다.
시작하는 언어로는 어때?
프로그래밍을 처음 시작한다면, C++은 그다지 추천하고 싶은 언어가 아닙니다. 변칙이 너무 많아 다른 사람들이 쓴 코드를 이해하기 어려운 것이 가장 큽니다.
그리고 프로그래밍을 처음 시작하는 경우에는 개발환경을 구축하는 난이도 또한 생각해봐야 하는데요. 윈도우즈의 비주얼 스튜디오와 리눅스의 개발도구 모음을 받아서 사용할 때 각각의 실행결과, 실행유무가 달라지는 점 또한 큰 장벽입니다. 물론 코딩으로 극복할 수 있는 문제긴 하지만 이런 부분을 신경써서 프로그래밍 하는 것은 처음 배울 때 속도도 안나오고 짜증만 더해져서 결국 프로그래밍 공부를 던지게 되기 마련이라고 생각합니다.
다만, 내가 가고자 하는 실험실/업체에서 ROOT나 C++을 사용한다면 굳이 다른 언어를 배워서 개념을 잡은 다음에 C++을 공부하는 것은 심각한 낭비가 될 수 있습니다. 나중에 실험실에 더 나은 효율을 보장하는 언어를 제안해서 바꾸는 것을 하나의 가능성으로 두고 일단은 C++로 시작하는 것이 좋습니다.
취미로는 어때?
프로그래밍 언어 자체에 흥미를 느끼는 분이라면 C++은 끝없는 떡밥을 제공합니다. 위에서 언급한 변칙은 취미로 즐기는 분들에게는 흥미로운 탐구대상일테니까요.
무언가를 만들어 보고 싶을 때 C++을 사용하겠다면, 기존에 누군가 개발한 기능을 모듈 단위로 가져오는데 어려움을 느끼게 될 수 있습니다. 취미로 어떤 프로그램을 창작하려고 하는데 소소한 기능 하나하나를 직접 구현해야 한다면 어느새 열정도 떨어지고 흥미도 잃어서 클라우드 구석에 서버먼지나 빨아먹는 낡은 파일이 되기 쉽상입니다.
역시 이것도 예외가 있습니다. 유니티 등 특정 목적에 최적화 되어있는 개발환경에서 사용하는 주요 개발언어가 C++인 경우에는 오히려 C++을 배워두어야 취미활동을 할 수 있습니다. 유니티(C#도 지원하는)등이 그런 경우입니다.
'프로그래밍' 카테고리의 다른 글
SCP: ssh를 이용한 파일 전송 (0) | 2022.01.14 |
---|---|
VS Code: 정규표현식을 이용한 찾기, 바꾸기 (0) | 2019.11.29 |
과학 연구를 위한 Python 개발환경 구성 (0) | 2019.05.17 |
프로그래밍 언어 리뷰 (3): Python (0) | 2019.05.16 |
프로그래밍 언어 리뷰 (2): javascript (0) | 2019.05.14 |
댓글