회사에서 실무자를 위한 파이썬 학습 자료를 만들면서 정리한 내용입니다. 발표 자료중 왜 파이썬을 배워야하는지에 대한 내용만 정리했습니다. 왜 파이썬을 배워야하는지 함께 알아보겠습니다.
개발 언어의 구분
파이썬에 대해서 이해하려면 최소한의 배경 지식이 필요합니다.개발 언어에 대한 아주 간단한 설명을 먼저 드리겠습니다.
인터프리터 언어 | 컴파일러 언어 | |
정의 | 소스코드를 한줄 한줄 읽어가면서 명령을 실행하는 언어 | 소스코드를 기계어로 변환한 이후에 실행하는 언어 |
프로그래밍 관점의 장점 | 소스코드를 기계어로 변환하는 과정(빌드) 이 없기 때문에 바로 실행이 가능하다. 컴파일 과정이 없이 실행하기 때문에 수정과 디버깅이 쉽다. 수정과 디버깅이 쉽고 컴파일 과정이 없기 때문에 개발속도가 빠르다. |
컴파일 언어는 컴파일 단계와 실행 단계로 분리되며 컴파일은 1번만 (.exe)이루어진다. 빌드가 완료된 파일의 코드 실행 속도는 빠르다. |
주요 개발 언 |
|
|
위에서 보셨다 시피 파이썬이 인터프리터 언어로서 가지는 장점은 개발과 디버깅이 쉽고 빠르다는 점입니다. 인터프리터 언어는 컴파일 과정 없이 코드를 한 줄씩 실행하므로 개발자는 코드 작성 후 바로 실행 결과를 확인할 수 있습니다. 이로 인해 코드 수정이나 오류 수정이 용이하며, 초보 개발자들에게 친숙한 환경을 제공하여 쉽게 접근할 수 있는 언어가 되었습니다. 또한, 플랫폼 독립적이어서 다양한 환경에서 사용할 수 있습니다.
TIOBE index 기준 개발언어 순위
순위 선정기준은 다음과 같습니다.
해당 언어를 이용하는 엔지니어의 수와 해당 언어관련 강좌와 홈페이지수 그리고 구글이나 빙에서의 검색횟수를 기준으로 순위가 선정되었습니다. 참고로 과거부터 현재까지의 데이터를 기초로 순위를 선정하다보니 C 나 JAVA 같은 언어들이 순위가 높게 산정되는 경향이 있음을 참고 부탁드립니다.
2023년 3월 최신 개발언어 순위
위의 자료를 간단하게 정리하면 C 는 1987년 이후 3등으로 내려 간 적이 한번도 없고 JAVA 역시 2002년 이후로 1~3등을 꾸준히 유지하고 있습니다. 파이썬은 2007년 이후 꾸준히 상승하면서 10위 권을 유지하고 있는걸 볼수 있습니다.
파이썬의 장점
배우기가 쉽다.
모든 프로그래밍 언어중에서 파이썬 정도로 낮은 학습 난이도를 가지면서 다양한 분야에서 활용될수 있는 범용성을 갖춘 언어를 찾아보기는 힘듭니다.
다른 언어와의 호환성도 좋아서 파이썬으로 빨리 구현하고 속도가 느려지는 구간에서는 C++로 전환하는것도 가능합니다. 우스개 소리로 "C 언어로 2년 동안 완성하지 못한 프로젝트를 파이썬으로 한달 만에 해냈다" 는 경험담이 있을 정도입니다.
가독성과 생산성이 높다.
가독성이 좋다는게 얼마나 의미가 있는건지 개발 경험이 없는 사람들은 쉽게 받아들이기 어렵습니다. 그래서 가독성이 안좋은 이미지를 추가했습니다. 개발자에게 가독성은 아주 중요한 요소로 좋은 코드를 만들기 위한 책이나 강의가 있을정도입니다.
파이썬은 "가장 아름다운 하나의 답이 존재한다" 을 찾는다는 디자인 철학을 가지고 있습니다. 이에 맞추어 파이썬의 문법도 가독성이 좋게 설계되어 있고 문법을 따르지 않으면 작동하지 않습니다.
이렇듯 딱 맞아 떨어지는 문법으로 작성된 코드는 누구나 읽기 쉽고 이는 누구나 코드를 이해하기가 쉬워서 다양한 피드백이 가능합니다. 이러한 다양한 피드백은 개발이나 프로그램의 효율성을 높여서 결국 전체적인 생산성을 높이는데 기여하게 됩니다.
거대한 생태계
파이썬으로 만들고 싶은게 있다면 참고할만한 자료를 찾기가 다른 언어에 비해서 쉽다. 이미 많은 사용자들이 수많은 예제를 남겨 놓았기 때문입니다.
- 웹서버 구현 → "Python Web Framework" 키워드로 검색 → Django, Flask
- 머신러닝 알고리즘 → "python machine learning" 키워드로 검색 → TensorFlow, PyTorch
- 게임개발 → Pygame
- 그외 → 엑셀, 파일처리, 웹크롤링, 3D 모델링 같이 업무를 단축해주는 프로그램을 만들어 놓은 수 많은 예제가 존재한다.
- 예외 : 앱개발 분야에서는 파이썬을 기반으로한 프레임 워크를 찾기가 힘들다.
교육의 편의성
배우기 쉽고, 가독성이 좋고, 거대한 생태계를 가지고 있는 특성은 교육의 편의성으로 연결이 되는데 이러한 특징들 때문에 교육용 언어로 여러 대학교들에서 프로그래밍 개론에서 사용하는 언어를 파이썬으로 대체하고 있습니다.
다만 주의할 점은, 배우기가 쉽다는건 여러 언어를 접한 프로그래머들의 관점의 기준입니다. 프로그래밍을 쉽게 할 수 있는 것 과 좋게 하는 것에는 큰 차이가 있다는 점을 명심하자
파이썬의 단점
비교적 느린 실행속도
한줄한줄 실행하면서 동작하다보니 한번에 기계어로 컴파일 해놓고 실행만 하면되는 C 나 C++ 보다 당연히 느립니다.
참고
현재 파이썬의 창시자인 귀도 반 로섬은 Microsoft 와 협업하여 기존 파이썬보다 5배이상 빠르게 작동할수있는 파이썬을 목표로 최적화 작업을 진행하고 있다. → 완료되면 파이썬의 대중적 인기가 더 늘어나지 않을까 기대를 모으고 있습니다.
배포 방식의 비효율성
파이썬은 "제작 프로그래머가 곧 사용자" 라고 가정 하다보니 일반 사용자들에게 파이썬으로 만들어진 결과물을 전달하는 방식이 번거롭고 원시적인 측면이 있다.
기본적으로 사용자가 파이썬을 실행할 줄 알아야 파이썬으로 만들어진 결과물을 사용할 수 있습니다.
물론 이를 대신해주는 다양한 패키지가 있지만 필요에 의해서 만들어진 결과물일뿐 파이썬 자체적으로 사용자를 위한 실행파일을 별도로 만들거나 하진 않습니다.
쉽게 말해서 엑셀을 사용하려면 엑셀을 구성하고 있는 개발언어를 알아야 사용할 수 있는 것과 마찬가지입니다.
'IT정보' 카테고리의 다른 글
svelte 초기 서버 설정 및 체크 순서 정리 (0) | 2023.06.12 |
---|---|
VScode 에서 Remote-ssh 접속 오류 해결 - 프로세스에서 없는 파이프에 쓰려고 했습니다. (0) | 2023.06.12 |
엑셀 무료 다운로드 하는 5가지 정말 쉬운 방법 (0) | 2023.03.01 |
오피스 365 무료 다운로드 간단한 사용 방법 (0) | 2023.03.01 |
챗gpt 활용 방법 유형별 추천 (0) | 2023.02.24 |
댓글