IT is Smart

2. 파이썬의 특징, Features of Python (2/2) 본문

Programming/Python for Beginners

2. 파이썬의 특징, Features of Python (2/2)

달인최선 2017. 11. 5. 06:33
반응형

1. 파이썬 소개, Introduction to Python

2. 파이썬의 특징, Features of Python (1/2)


파이썬 2버전과 3버전 간에 호환성이 떨어진다


다른 프로그래밍 언어와 마찬가지로 파이썬 역시 성장하고 있는 언어입니다. 도약적인 성장을 위해서는 큰 변화가 함께 합니다. 프로그래밍 언어에서의 성장은 버전업으로 대표됩니다. 현재 사용되고 있는 파이썬 버전은 2.x버전과 3.x버전 2가지가 있습니다. 보통 버전업을 진행할 때는 항상 하위 버전과의 호환성을 제일 먼저 고려합니다. 새로운 버전이 이전 버전과 호환이 되지 않는다는 것은 이전 버전에서 만든 프로그램을 상위 버전에서는 사용할 수 없다는 말입니다. 그렇기 때문에 호환성이 되지 않는다는 것은 기존의 사용자들이 모두 떠날 수도 있다는 중요한 문제입니다. 그럼에도 불구하고 소프트웨어개발사들은 더욱 나은 성능을 위해서 호환성을 포기하는 경우가 있습니다.


대표적으로 윈도우 XP에서는 잘 돌아가던 프로그램이 윈도우 7에서 실행되지 않는 경우가 그런 경우입니다. 마이크로소프트사에서는 이 문제를 해결하기 위해서 윈도우 XP호환 모드를 제공했습니다만, 근본적인 해결책은 모든 프로그램이 윈도우 7을 지원할 수 있도록 수정되는 것입니다. 현실적으로 쉽지 않겠다는 생각이 드시죠? 맞습니다. 그렇지만 이렇게 어려운 상황이지만 윈도우 7로 버전업하는 것이 더욱 중요하다고 판단될 때 소프트웨어개발사는 호환성을 성능보다 후순위로 미루게 됩니다.


이 호환성 문제는 파이썬을 새롭게 배우는 사람들에게는 문제가 되지 않습니다. 그냥 새로운 버전으로 시작하면 됩니다. 파이썬 3.0 2008 12 3일 발표되었고 현재 최신버전은 2016 12 23일 발표된 3.6버전입니다.


호환성 문제는 이전 버전으로 개발된 프로그램을 계속 사용해야 하는 경우에도 문제가 되지 않습니다. 다만 이전 버전으로 개발된 프로그램을 새로운 버전과 함께 사용하려고 할 때 문제가 됩니다. 이때 기존으로 프로그램을 새로운 버전용으로 수정해줘야 하는 것입니다. 버전 호환성 문제를 해결하는 것은 본 블로깅의 주제와는 별개의 문제로 여기서는 더 구체적으로 언급하지 않고 이런 문제가 있다는 것을 공유하는 것으로 정리하겠습니다.

 


컴파일 언어보다는 느리다


파이썬은 인터프리터 언어이기 때문에 컴파일 언어보다 느리다는 것은 이론적으로 틀린 말이 아닙니다. 컴퓨터가 이해할 수 있는 언어는 기계어뿐이기 때문에 기계어가 아닌 다른 모든 프로그래밍 언어는 실행되기 전에 반드시 기계어로번역하는 과정을 거칩니다. 컴파일 언어는 프로그램 코드를 다 작성한 후에 별도로 컴파일 과정을 진행해서실행할 수 있는상태의 코드를 미리 만들어 두는 것입니다. 컴파일하기 전의 소스코드를 수정하거나 소스코드에서 참조하는 외부 라이브러리가 변경되거나 실행되는 하드웨어 환경이 변경되는 경우 등 어떤 변화가 있을 때마다 대부분 컴파일을 다시 해줘야 하는 불편함이 있지만 프로그램을 실행하는 시점만큼은 이미 기계어로 번역된 실행파일을 사용해서 빠르게 프로그램을 실행할 수 있습니다. 이에 반해 인터프리터 언어는 프로그램을 실행하기 전까지는 계속 소스코드 상태를 유지합니다. 그러다가 프로그램을 실행하면 그때서야 프로그램 소스를 한 줄씩 읽고 번역하는 과정을 반복하여 실행하게 됩니다.


이런 차이때문에 미리 번역해 둔 실행파일을 실행하는 컴파일 언어보다 실행할 때 번역하는 과정을 거치는 인터프리터 언어가 실행 속도가 떨어지는 것은 당연한 일입니다. 하지만 최근에는 컴퓨터 하드웨어의 성능이 크게 향상되었고 언어 차원에서도 많은 기능 개선이 적용되어 그 속도의 차이가 많이 줄었습니다. 그래서 실행 속도의 차이보다는 코드를 작성하는 중간중간 코드를 실행해서 그 결과를 확인할 수 있는 인터프리터 언어의 장점이 파이썬의 장점으로 꼽히기도 합니다.


이상으로 파이썬의 언어적 특징을 알아봤습니다.


파이썬의 특징을 한 마디로 정리한다면 쉽게 배우고 널리 쓸 수 있는 프로그래밍 언어라고 할 수 있겠습니다. 필자가 파이썬을 처음 접하고 회사 일을 하는 중간중간에 파이썬 소프트웨어 재단(Python Software Foundation, https://www.python.org)에서 제공하는 문서들을 참조해서 따라해보고는 앞에 적은 것과 똑 같은 느낌을 받았습니다. IT를 직업으로 하는 필자도 다양하게 활용할 수 있을 뿐 아니라 내 아이에게 프로그래밍 교육을 해줄 수도 있겠다는 확신을 갖게 되었습니다.


자바나 C, C++와 같이 프로그래밍을 시작하기도 전에 알아야 할 것들이 너무도 많은 언어 때문에 좌절을 경험했거나 프로그래밍을 배우고 싶지만 무엇을 어떻게 시작해야 할지 몰라 망설이고 계신 분들께 파이썬으로 시작해 보시라고 자신 있게 추천합니다

물론 이번 블로깅에서는 파이썬 전체에 대해서 상세하게 설명하지 않습니다. 하지만 파이썬을 아직 배우지 않았다고 하더라도 겁내지 마세요. 앞에서 설명한 것처럼 파이썬 코드는 영어를 갓 배우기 시작한 초보자가 쓴 영어문장처럼 간결하게 때문에 파이썬을 제대로 배우지 않았어도 그 코드의 의미를 이해할 수 있습니다.


이 블로그를 통해 파이썬의 유용함을 경험하신다면 그 다음에는 스스로도 충분히 더욱 심화 학습할 수 있는 능력이 생기실 것이라고 확신합니다.


2. 파이썬의 특징, Features of Python (2/2)

3. 파이썬 설치하기, Python Setup

3.1 파이썬 버전 선택하기, Select Python version

3.2 OS Bit 버전 선택하기, Select OS Bit

3.3 설치파일 형태 선택하기, Select Setup File

3.4 설치하기, Setup (1/2)

3.4 설치하기, Setup (2/2)

4.1 파이썬 Interactive Shell 사용하기 (1/3)

4.1 파이썬 Interactive Shell 사용하기 (2/3)

4.1 파이썬 Interactive Shell 사용하기 (3/3)

4.2 파이썬 File Editor 사용하기

4.2 파이썬 File Editor 사용하기-주석처리

4.2 파이썬 File Editor 사용하기-출력하기

4.2 파이썬 File Editor 사용하기-입력받기

4.2 파이썬 File Editor 사용하기-입력값 출력하기

4.2 파이썬 File Editor 사용하기-str(), int(), float() 함수 사용하기

4.3 파이썬 프로그램 만들어보기

4.3 파이썬 프로그램 만들어보기-if문

4.3 파이썬 프로그램 만들어보기-while문

4.3 파이썬 프로그램 만들어보기-for문

4.3 파이썬 프로그램 만들어보기-continue & break문

4.3 파이썬 프로그램 만들어보기-try~except/finally문

4.4 파이썬 재사용할 수 있는 프로그램 만들기

4.4 파이썬 재사용할 수 있는 프로그램 만들기-함수(Function)

4.4 파이썬 재사용할 수 있는 프로그램 만들기-클래스(Class)

4.5 파이썬 모듈 사용하기-모듈(Modules)

4.5 파이썬 모듈 사용하기-pip사용

4.6 파이썬 직접 모듈 만들기

5.1 파이썬으로 파일 다루기-입출력 처리

5.2 파이썬으로 파일 다루기-파일 열기와 닫기

5.3 파이썬으로 파일 다루기-파일 읽기

5.4 파이썬으로 파일 다루기-파일 쓰기

5.5 파이썬으로 파일 다루기-파일 닫기

5.6 파이썬 파일럿 프로젝트 - 심플 텍스트 분석기 제작

6.1 파이썬 개발도구 PyCharm 사용하기

6.2 파이썬 개발도구 PyCharm 설치하기

6.3 파이썬 개발도구 PyCharm Project 만들기



반응형