C++는 기존의 C에서의 불편한 점들을 보완, 개선하고자 하는 목적으로 탄생하게 되었습니다.
가장큰 변화라고 하면 기존의 구조체(struct)와는 조금 다른 클래스(class)라는 개념이 생겼고,
OOP(Object Oriented Programming, 객체지향프로그래밍)을 할 수 있게 되었습니다.
이때
class의 사용? objective-C랑 다른게 뭐지?
라는 의문을 가지실 수도 있는데, objective-C에도 클래스는 존재하지만 C++과 같은 다중상속기능이 없다는 점에서 차이가 있습니다.
objective-C는 애플에서 사용하던 언어였으나 현재는 사용하지 않는 추세로 알고 있습니다..
마찬가지로 C 언어는 한 때 모두가 사용하던 언어였으나 점차 사용하지 않는 추세고 C는 컴파일러도 사라진 상태로 현재는 C++의 컴파일러를 통해 컴파일을 하는 상황입니다.
때문에 속도테스트를 하는 상황에서 어떤 경우에는 C언어가 예상외로 시간이 오래 걸리는 경우가 있는데, 이는 C컴파일러가 아닌 C++컴파일러를 통한 컴파일을 하기 떄문입니다.
서론이 길었습니다. C++는 물론 초보자가 배우기에 어려운 언어는 맞습니다. 저 역시도 아직 이러한 프로그래밍 언어들의 문법을 완전히 다 안다고 할 수도 없는 상태인데요, 그래서 많이들 Python을 추천하시곤 합니다.
저는 Python도 좋고 C++도 너무 어려워하지 마시고 접해보시는 것을 추천합니다.
C++가 못 배울 언어는 아닙니다. C++도 사용이 줄어드는거 아닌가 싶으시겠지만,
ai에서 많이들 사용하시는 Python의 TensorFlow(텐서플로)도 C++을 기반으로 만들어졌습니다.
C++는 하드웨어 친화 언어로써, 빠른 처리속도를 자랑합니다.
앞서 말씀드린 것 처럼 AI분야 뿐만 아니라 빠른 처리속도를 바탕으로 웹에서도 활용이 가능한데,
페이스북의 C++ 와 Proxygen의 조합은 기존보다 1/10에 가까운 비용절감 효과를 가져오기도 했습니다.
물론 proxygen은 다른 웹 프로그래밍보다 어렵긴 합니다,,
빠른 처리속도, 대기업에서도 우대하는 언어, 한 번 배우면 다른 언어는 쉽게 배울 수 있다는 이점,, 등등
전망이 엄청나게 흐리지는 않습니다. 언어는 중요한 게 아닙니다.
잠깐 이야기했던 텐서플로우를 보면 알 수 있듯 텐서플로는 C++로 만들어졌어도 코딩은 Python에서 하는 경우가 대부분입니다. 굳이 한 언어로 모든걸 해야 하는게 아니라, 빠른 처리가 필요할 때는 그에 맞는 언어, 시간이 필요하지 않다. 구현만 하면 된다. 그러면 또 다른 언어,, 이런 식으로 여러 언어들이 뒤섞여 사용되고 있기 때문입니다.
아직 모르는 것들이 많지만 한 번 적어보았습니다..
잘못된 정보나 공유할 만한 정보 있으시면 댓글로 남겨주시면 감사하겠습니다.