본문 바로가기
Developer/C, C++

C, C++, Python, Java // Complie 언어, Interpreter언어

by Doony 2021. 12. 26.

이번 포스팅은 순수하게 나를 위한 글.

흔히들 얘기하는 컴파일언어, 인터프리터 언어의 차이점이 뭔지,

C++과 C의 차이점이 뭔지 등에 대해 생각해봤다.

먼저 c++은 절차지향적인 c대비 멀티 패러다임을 지원하는 언어다. 절차지향적이면서 객체지향적이고, 내가 느끼기엔 굉장히 짬뽕되어있는 언어. 그래서 더 어렵고 배울 것도 많고 고수가 별로 없다는 것 같다.

나는 아두이노부터 시작해서 제어기, OS IPC 등에서 보통 C로 공부를 했었다.
그 후 안드로이드 앱을 만들겠다고 Java를 공부했었다.

C는 포인터 등을 통해 메모리에 직접 접근하는 굉장히 로우 레벨의 언어인 반면, 자바는 메모리까지는 관리안하는 것 같고.. 자동으로 처리해주는 영역이 많은 것 같았다. 객체지향적이기도 하고.

이번에 c++를 보게 되면서 느낀 점은, C와 Java를 적당히 짬뽕해놓은 느낌 같다는 것. 로우 레벨까지 건들면서, 자바처럼 추상화도 어느정도 되어 있는 것 같다. 그래서 딥러닝 프레임워크에서도 사용되는 것 같고 c보다 다소 복잡할 수 있는 프로그램 등에서 사용되는 것 같다. 공부해보자.

컴파일 언어는 말그대로 코딩을 한 뒤에 컴파일을 해야 기계어로 번역이 되고, 그 후에 실행이 되는 언어. C나 c++이 그렇다. 자바도 그렇고?
인터프리터는 한줄한줄씩 실행이 가능하며 파이썬이 그렇다. 자바도 그렇고. (자바는 좀 특별한 녀석인듯)

일단 cpp를 공부하는 걸로!!

댓글