콘텐츠로 건너뛰기
Home » [칼럼]프로그래밍 입문용으로 Python이 좋은이유

[칼럼]프로그래밍 입문용으로 Python이 좋은이유

이글을 보시는 분들은 분명히 프로그래밍과 Python에 대하여 관심을 가지신 분들일겁니다. 제목대로 프로그래밍에 입문하려면 본인에 맞는 언어를 선택해야 하는데, 다른 언어보다도 Python이 입문용으로 좋은 이유에 대해 설명해 볼까 합니다. 

Python이란?


파이썬(Python)은 1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 발표한 고급 프로그래밍 언어로, 플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑
(dynamically typed) 대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python’s Flying Circus〉에서 따온 것이다. (by 위키백과)

파이썬의 기본 개념은 위와 같으며, 문법이 간결하고 컴파일시 별도의 오브젝트 파일을 생성하지 않는 특징이 있습니다. 아직까진 안드로이드나 아이폰 기반의 환경에서는 개발을 할수  없다는게 아쉬운 점이긴 합니다.

Python이 입문용으로 왜 좋은가?

그렇다면 왜 파이썬이 프로그래밍 입문용으로 좋을까요? 몇가지 이유를 아래에 설명을 드리도록 하겠습니다. 

배우기 쉽다.

파이썬은 배우기가 다른언어들보다 좀더 수월하고도 쉽습니다. 그 이유는 문법이 쉽기 때문입니다. C/C++에서의 포인터 개념이란게 없고, 들여쓰기 개념으로 사용자의 가독성을 높인게 특징입니다. 또한 JAVA나 C++의 객체지향의 개념을 좀더 손쉽게 구현할수 있게 구성해 놓은것도 파이썬의 특징이라고 볼수 있습니다. 

즉 C의 간결함, JAVA/C++의 클래스의 장점, C/C++의 포인터개념의 제거 등등의 장점들을 모아놓은게 파이썬이라고 생각이 됩니다. 

다양한 OS에서 Cross로 개발이 가능하다.

물론 다른언어도 다양한 OS 플렛폼에서 개발이 가능은 합니다. 하지만 OS가 바뀌면 사용하는 라이브러리와 환경셋팅이 다르기 때문에, 쉽게 OS 플렛폼을 전환하여 사용하기 어려운 부분이 있었습니다. ( Windows에서 C++ 프로그램을 Linux에서 전환 개발하기 어렵다.) 

하지만, 파이썬은 Windows기반에서 개발한 프로그램을 그대로 Linux에서도 교차하여 개발이 가능합니다. 예를들어 Windows기반의 PyQT 라이브러리를 사용하여 Windows Application을 개발하였다면, 우분투에서 PyQT 라이브러리를 사용하여 우분투에서 Source그대로 Application을 개발하고 실행을 할수 있습니다. 즉 파이썬 라이브러리들이 워낙 방대하고 각 OS에서 지원이 되기 때문에 가능합니다. 

Windows GUI Application개발이 가능하다.

보통 Windows기반 GUI Application을 개발하려면 Visual Studio를 사용하여 MFC로 개발을 해야 합니다. 물론 언어는 C++로 개발을 해야 하지요. MFC로 개발하는게 생각보다 복잡하고 구현하는게 상대적으로 어렵습니다. 또한 코드도 복잡한 부분이 있습니다. 

반면에 파이썬을 사용하여 Windows Application을 개발할수 있습니다. 더군다나 단 몇줄의 코드 가지고도 간단한 Windows 창을 하나 띄울수 있습니다. 이 부분이 꽤 신기하긴 했는데요, 저는 PyQT 라이브러리를 Import하여 10줄 이내로 Windows Application창을 띄우는걸 직접 확인 했습니다. 파이썬의 간결함이 느껴지는 순간이었습니다. 

Library가 매우 많다.

이또한 파이썬의 큰 장점중에 하나입니다. 현재까지 파이썬 라이브러리는 많은 양이 제공이 되고 있습니다. 라이브러리 종류도 워낙 다양해서, 위에 언급한 Windows GUI Application 개발시 사용할수 있는 PyQT, HTTP, HTML, 데이터베이스, XML처리, 네트워크, 그래프, 수학/과학 계산 등에 쓸수 있는 수많은 라이브러리들이 제공이 되고 있습니다. 

위에 언급한건 대표적인 것이며, 그 외에도 수없이 많습니다. 또한 오픈소스 형태로 제공되는 라이브러리가 워낙 많기 때문에 비용에 대한 걱정을 할 필요가 없습니다. 

Web개발이 가능하다.

파이썬으로도 Web 페이지 개발이 가능하다는 것을 아십니까? 이걸 봤을땐 파이썬의 응용력이 놀라울 따름입니다. Django라는 웹 프레임워크를 사용하면 파이썬으로도 Web 개발이 가능합니다. 파이썬만 배워놔도 구지 웹 관련 다른 언어들을 배울 필요가 없을수도 있지 않을까요?

디버깅이 편리하다.

파이썬이 다른 언어와의 다른 특징중 하나가 대화형 인터페이스(CLI)를 가지고 있다는 겁니다. 

위의 사진에서도 나타났듯이 파이썬의 컴파일러를 설치를 하면 python이라는 실행파일이 생성이 됩니다. 이 실행파일을 실행을 시키면 CLI형태의 프롬프트가 등장하는데, 위의 그림에서와 같이 각각의 구문을 입력을 하고 print를 실행을 하면 return값이 출력이 프롬프트상에서 바로 출력이 됩니다. 이 부분은 여타 다른언어들하고 차이점인데, 제 생각에는 디버깅적인 측면에서는 꽤 장점이 있는 부분인거 같습니다. 

물론 실제적으로는 CLI를 자주 사용하진 않지만, 디버깅 작업시 활용한다면 좋은 도구가 될껄로 생각됩니다. 

문법이 간결하지만 객체지향적이다.

요것도 파이썬의 큰 장점중에 하나인데요, 바로 문법이 간결하면서도 클래스 메서드 구현이 쉽다는 점입니다. 소스상에서 클래스를 만들기도 쉽고, 수많은 클래스를 한개의 소스파일에 구현할수도 있으며, 메소드(함수)와 클래스가 각각 별도로 소스파일에서 구현이 가능합니다. 또한 클래스 형태로 생성된 소스를 라이브러리화 할수 있기 때문에 코드의 활용도가 굉장히 높은게 장점입니다. 자신이 만든 클래스를 추후에 다시 import하여 사용하기가 쉽고 편리합니다.

C와 연동이 가능하다.

파이썬 자체가 C로 만들어졌습니다. 따라서 C에 친화적인 언어가 파이썬이라고 보시면 됩니다. 파이썬의 단점중에 하나가 성능을 요구하는 부분에 있어서 약간 느리다는 단점이 있는데, 성능적인 부분을 요구하는 파트는 C로 구현을 하고 그 외에 부분을 파이썬으로 구현하는 사례가 많이 있습니다. 따라서 파이썬으로 구현을 하고 나서 특정부분을 C로 구현을 하고 싶다면, C Wrapper관련 라이브러리를 사용하여 C로 구현하여 프로그램을 실행하면 됩니다. 

알고리즘 개발에 사용하기 좋다.

여기에서도 파이썬의 장점을 언급하고자 합니다. 파이썬은 데이터를 가공 하기에 다른 언어보다 수월합니다. C로 String데이터를 가공하는데 필요한 코드가 100이라면 파이썬으로는 20이면 충분합니다. 간결한 문법에다가 손쉬운 데이터 파싱은 파이썬만한 언어가 없는거 같습니다. 

또한 문법이 간결하고 구현에 사용하는 코드가 타 언어에 비해 상대적으로 적기 때문에, 사전의 시뮬레이션 격의 테스트용도로 사용하기 좋습니다. 파이썬으로 구현한 알고리즘을 테스트한후에 검증이 완료되면 타언어로 컨버전해서 사용할수 있습니다. 

해킹에 도움이 된다.

파이썬의 방대한 라이브러리와 오픈소스는 프로그래머가 해킹이나 해킹툴을 만들기에 아주 최적화 되어 있습니다. 또한 파이썬 관련 방대한 문서와 자료들은 파이썬이 해킹 도구로 쓰이는데에 날개를 달아줄꺼 같습니다. 

대신에 나쁜일에는 쓰지 말아야 겠죠?^^

프로그래밍의 좀더 쉬운 접근에 용이하다.

아마 결론적인 부분일꺼 같습니다. 위의 장점들 때문에 파이썬이 프로그래밍의 시작에 좀더 수월할꺼라고 생각합니다. 간결한 문법과 방대한 라이브러리, 손쉬운 문자 데이터 가공, 쉬운  객체지향성 등이 파이썬이 좀더 프로그래밍의 시작에 도움을 줄것으로 생각됩니다. (대신에 프로그래밍은 쉽지 않습니다.^^)

따라서 프로그래밍의 입문용으로 파이썬을 추천합니다. 프로그래밍을 시작하고 싶으신분은 파이썬으로 시작해 보시기 바랍니다.

'정원딸린집'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!