Python VS C++ 비교 차이점 (Differences)

SYSTEM/TIP / /

python VS c++

 

Python 과 C++은 매우 인기있는 범용 개발 언어 입니다.

Python 은 C++의 영향을 많이 받았지만, 두 언어는 완전히 다릅니다. Python은 배우기는 쉽지만 실행 속도는 느립니다. C++은 실행 속도는 빠른 반면 제대로 마스터할려면 꽤 긴 시간을 투자해야합니다.

이외 두가지 언어의 차이점을 알아보겠습니다.

 

 

Python VS C++


Python과 C++은 둘다 인기 있는 프로그래밍 언어입니다. 두가지 언어 모두 Application(응용프로그램) 개발에 주로 사용되지만 Python은 웹 어플리케이션 개발에 주로 사용되며, C++은 순수 응용프로그램개발에 주로 사용됩니다.

근래에는 두언어가 모바일 앱개발에도 많이 사용되는 추세입니다.

 

Python 과 C++ 코드 차이점을 비교해 보겠습니다.

 

Python Code

print('Hi, friend!'

Python Example Code

 

C++ Code

#include <iostream>

int main() {

	    std::cout << "Hi, friend!";

	        return 0;

}

C++ Example Code

위와같이 C++은 간단한 결과를 출력하는 작업에 있어 Python 보다 훨씩 코드가 복잡합니다.

 

 

 

Python 장.단점


Python

파이썬은 Compiled language (컴파일언어)가 아니라 interpreted 이며 런타임 오류도 자주 발생합니다.

 

 

Python 장점(Pros)

 

  • 배우기 쉽다 : Python은 이해도 측면에서 프로그래밍을 시작하기 쉽기 때문에 간혹 초보자의 개발 언어로 착각.
  • 웹 개발에 적합 : 근래의 추세는 주로 웹 애플리케이션과 클라우드 개발. Python은 C++보다 웹 어플리케이션 개발에 더 적합.
  • 동적 타입 : 동적 타입은 프로그래밍을 더 쉽고 유연하며 직관적으로 만듬.
  • 무료 오픈소스 : Python은 예제 코드등 커뮤니티가 활성화되어있어 정보를 구하기 쉬움.
  • 풍부한 라이브러리 지원 : 일반 라이브러리 포함 Python 기반 빌드 추가 라이브러리, 프레임워크, 개발 키트가 다양하게 있음.
  • 인터프리터 언어 : 사소한 오류에도 불구하고 지속적으로 유연하게 실행하려는 경향이 있음.

 

Python 단점(Cons)

 

  • 속도가 느리다 : Python은 특히 확장될 때 다른 유사한 언어보다 느리게 실행.
  • 메모리 효율성 저하 : Python은 다른 이전 언어보다 더 자동화된 메모리 관리를 제공하지만 단점은 메모리 효율성이 낮음.
  • 모바일 컴퓨팅에서 자원 관리 문제 : Python의 리소스 부담 문제.
  • 런타임 오류 : interpreted 언어는 compiler 에러보다 런타임 오류가 있을 가능성이 더크며, 이런점음 문제해결을 더어렵게 만들수도 있음.

 

C++ 장.단점


C++

 

C++은 정말 놀라운 수명을 가진 개발 언어이며 그이유는, 파이썬에서 할수 있는 모든것을 C++로 할수있습니다.

그리고 효율성이 매우 높은 개발 언어 입니다.

 

 

C++ 장점(Pros)

 

  • 훌륭한 이식성 : C++는 거의 모든 것으로 이식될 수 있어 매우 다재다능하고 유용한 언어.
  • 견고한 메모리 관리 : 메모리 관리는 사용자의 손에 있지만 메모리 관리가 보다 세분화되고 제어된 수준에서 처리된다는 의미.
  • 빠르고 효율적임 : C++는 매우 가벼운 프로그래밍 언어이므로 사물 인터넷(IOT) 장치나 모바일 장치 프로그래밍과 같은 프로그래밍에 이상적.
  • C, C# 및 Java와 비슷함 : 이미 C#, C 또는 Java로 프로그래밍에 익숙한 사람은 누구나 C++로 프로그래밍하는 것이 쉬움. 마찬가지로 C++를 배우는 사람은 Java로 쉽게 전환 가능.
  • 광범위한 내장 라이브러리 : C++ 개발됨에 따라 개발을 위한 커뮤니티 라이브러리, 프레임워크 및 키트등 광범위한 내장 라이브러리를 사용할수 있음.

 

 

 

C++ 단점(Cons)

 

  • 대규모 커뮤니티 : C++은 좀더 많은 것을 배우고자 하는 사람들에게 튜토리얼, 레슨 및 코드등을 제공하는 커뮤니티가 많지 않음.
  • Garbage Collection 없음 : C++은 모든 메모리 관리를 사용자에 맡깁니다. 이러면 보다 효율적인 시스템이 생성되지만 모든 책임은 사용자 몫.
  • 비직관적인 포인터 : 포인터 관리는 사용자에게 가장 실망스러운 작업 중 하나. 사용자가 포인터를 제대로 관리하지 않으면 코드가 작동하지 않음.
  • 잠재적인 보안문제 : C++의 변수 및 함수 처리는 몇 가지 잠재적인 보안 문제 가지고있음.
  • 배우기어려움 : 복잡하고 엄격한 타이핑 구문으로 인해 C++는 유연성이 떨어짐. 초보자가 배우기에는 어려움이 있음.

 

결론 요약 


속도면에서는 C++이 Python보다 우세합니다. 하지만 Python이 훨씬더 많은 시장 점유율을 가지고 있습니다.

커뮤니티로 본다면 Github에서 두 언어 모두 충분한 자료와 정보를 찾을수 있습니다.

 

최근 트렌드는 Python이 지속 성장하는 반면 C++은 퇴색하고 있습니다.

어찌보면 Python은 웹기반 서비스나 산업 성장에 힘입어 인기도 많고 더불어 성장하는 모양새입니다.

 

해외 모 채용사이트의 개발자 구인정보를 보면 C++ 채용은 80,000여개 정도가 채용중이며, Python 개발자 채용은 

200,000개 이상의 채용 구인 정보가 있습니다. 직업적인 측면에서 본다면 Python 개발 채용이 2배이상 많다는것을 짐작할수 있습니다.

 

Python 이 C++보다는 인기도있고 지속 성장하는것으로 보여지긴하지만 연봉(급여)에서는 평균적으로 C++ 개발자가 Python 개발자보다 앞서는것으로 나타납니다. C++ 고급개발자의 경우에는 꽤나 높은 연봉을 받는것으로 알고 있습니다. 기업마다 케바케인 경우도 많을것입니다.

 

개발자(프로그래머) 직업을 선택하실때 위와 같은 여러가지 측면을 고려하여 개발 언어를 선택하시는것도 좀더 나은 미래 선택에 중요한 포인트가 될것입니다.

 

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기