C++ vs Python
조회수 6144회
저는 현재 C++을 중심으로 공부하고 있는데....
주위에서 파이썬을 쓰는 사람들이 점점 늘고있고, 다들 파이썬으로 넘어가는 추세더라구요..
그래서,
- 파이썬의 장점이 뭔가요?
- 지금 배우고 있는 C++에서 파이썬으로 넘어가는게 옳은 선택일까요?
- 파이썬의 작성속도가 그렇게 압도적으로 빠른가요?
- C++과 파이썬을 비교해주세요.
- 임베디드 프로그래밍에서는 어느 언어가 앞서있나요?
감사합니다..
1 답변
-
언어를 보고 학습을 하지 말고 진출할 분야를 보고 공부하면 됩니다.
파이썬의 근래의 인기는 데이터 마이닝과 인공지능에 기반한 데이터 사이언스측의 인기에 기반합니다. 파이썬 사용자의 큰 축중에 한축이 과학자들 입니다. 매트랩의 대안이나 프로그래밍이 약한 의료계 종사자나 데이터 분석가들이 많이 사용하고 있습니다.
즉 질문자가 데이터 사이언스측이나 의료계 등의 분야로 진출하실것이라면 파이썬은 아주 중요한 도구가 될 겁니다.
- 장점이 뭔가요?
=> 파이썬의 장점은 생산성입니다. - 파이썬 생태계에는 이미 수많은 검증된 모듈들이 증명해줍니다. 원하는 기능은 대부분 구현되어 있다고 해도 과언이 아닙니다. - 동적 타입, GC지원으로 간결하게 알고리듬을 구성할 수 있습니다. - 인터프리터로 디버깅이 용이합니다. - 일관성있는 자료형을 제공해줍니다. 특히 시퀀스형이 강력하므로 자료구조를 작성하기 용이합니다. - 기본적으로 REPL 을 제공하므로 머릿속에 떠오른 알고리즘을 바로 테스트하기 용이합니다.
- 지금 배우고 있는 C++에서 파이썬으로 넘어가는게 옳은 선택일까요?
=> 용도가 다른 문제입니다. c/c++ 의 경우 시스템 프로그래밍 영역에서는 독보적이라 할 수 있고 현재 사용하고 있는 OS 들은 전부 C로 작성되어 있기 때문이라도 시스템 영역에서는 앞으로도 독보적일겁니다. 즉 진출하고자 하는 영역에 따라 선택되어져야 하는 문제입니다. 그러나 파이썬을 잘 사용하려면C도 어느정도 잘 해야 합니다. 파이썬의 단점인 성능과 GIL 문제를 보통 C로 확장모듈을 만들어 보완하거나 우회합니다.
- 파이썬의 작성속도가 그렇게 압도적으로 빠른가요?
=> 파이썬의 생산성을 의미한다고 생각합니다. 이 부분은 직접 C로 작성하고 파이썬으로 재작성을 해보면 느낄것이라 봅니다. 보통 7~10배 정도 적은 코드(라인)로 작성가능합니다. 코드가 적으면 유지보수 하기 좋고 디버깅 시간도 그에 비례해 줄어들기 마련입니다. 더구나 인터프리터로 디버깅이 간단하기 때문에 전체 개발 사이클이 짧게 됩니다.
- C++과 파이썬을 비교해주세요.
=> 비교가 무의미합니다. C/C++ 을 사용하는 이유는 시스템 프로그래밍을 위해서 혹은 최적화된 바이너리를 얻기 위해 사용하는 경우가 많습니다. 현존하는 프로그래밍 언어중 어셈블리를 제외하고 가장 빠른 바이너리를 생산해 내는 언어는 C 입니다. 그 반면에 파이썬은 C에 비해 대략 20~30배 느립니다. 즉 많은 S/W 업체에서 파이썬으로 프로토타입을 작성하고 검증 확인후 다시 C/C++/JAVA 로 프로덕션을 만들기도 합니다.
- 임베디드 프로그래밍에서는 어느 언어가 앞서있나요?
=> 뭉뚱그려서 "임베디드" 라고 하면 범위가 넓습니다. 가장 전통적인 임베디드 시장인 마이컴 분야는 여전히 C가 강세입니다. 그러나 셋탑박스나 스마트폰은 자바가 강세입니다. 임베디드 시장에서 파이썬은 파이가 적습니다.
댓글 입력