[목차]
0. 여는 말
1. Python의 창시자
2. Python의 장점
3. Python의 단점
4. 맺는 말
0. 여는 말
컴퓨터 프로그래밍 언어에는 C, C++, C#, Java, Python, ... 등 수많은 언어들이 있습니다.
이 중에 컴퓨터공학 같은 유관 전공자 출신이 아니라면, 'Python으로 코딩을 시작해 보세요'라는 말을 한 번 쯤은 많이들 들어보셨을 것 같아요.
왜 'C++로 코딩을 시작해 보세요', '코딩이 처음이라면 Java를 추천드려요' 같은 말은 잘 들리지 않는 걸까요?
이 글에서는 Python의 장점과 단점 몇 가지를 소개하면서, 마케터인 우리가 개발 언어로 Python을 채택하려는 이유에 대해 얘기해 보려 합니다.
하나씩 천천히 살펴봅시다!
1. Python의 창시자
Python은 네덜란드의 프로그래머인 '귀도 반 로섬(Guido van Rossum)'이 만든 언어입니다.
참고로 Python은 그가 1989년, 크리스마스 주에 연구실이 닫혀 있어서 '심심한 김에(...)' 만든 프로그래밍 언어라고 하네요...
(심심해서 만든 게 프로그래밍 언어라니... 리얼 그사세(그들이 사는 세상)...)
심심해서 만들었지만 지금은 너무나도 유명한 개발 언어인 Python, 그 특징들이야 워낙 많지만 이 글에서는 '마케터가 Python을 활용할 때 알면 좋은 장단점 몇 가지'만 간략하게 언급하려고 합니다. 더 자세한 내용이 궁금하다면 아래 링크의 글들을 참고해 주세요 :)
2. Python의 장점
1. 인간의 언어와 매우 유사한 문법
2. 동적 타입 언어 (Dynamically typed language)
첫째로, Python의 문법은 인간 언어(자연어)의 그것과 상당히 유사합니다. (C계열의 언어들은 참 난해합니다...)
인간의 문법과 유사하다는 것은 다시 말하면, '비교적 빠른 학습'과 '빠른 개발 속도'를 의미하고, 이는 결국 '높은 생산성'으로 이어질 것입니다. 코드를 처음 접하는 사람 입장에서 Java와 C++은 읽기조차 어려운 반면, Python 코드는 인간 언어의 문법과 비슷하여 읽고 이해하기도 쉽고, 반대로 생각한 바를 코드로 빠르게 풀어내기에도 더 용이합니다.
둘째로, Python은 데이터 자료형이 자동 배정됩니다(동적 타입 언어).
(자료형에 대한 자세한 설명은 추후 다른 글에서 다룰 예정이며, 우선 위키피디아의 설명을 참고해 주세요)
엑셀 작업을 하다 보면, 가끔 숫자인데 숫자가 아닌 문자로 인식돼서 사칙연산이 안 되거나 기타 오류가 나는 경험을 한 번 쯤은 해보셨을 것 같은데요, 이처럼 '숫자', '문자열' 등을 자료형이라고 부릅니다.
많은 언어들에서는 이 자료형을 '내가 일일이 직접 정의하고 관리'해 주어야 합니다.
반면, Python에서는 자동으로 알아서 정의하고 관리해 주며, 이것을 능동적이라고 하여 '동적 타입'이라고 부릅니다.
사실, 이 부분은 Python의 단점으로 꼽히기도 하는 부분입니다. 왜냐하면 프로젝트와 규모와 복잡도가 커졌을 때에는, 내가 직접 정의하지 않아서 모르고 있는, 자동으로 자료형이 정의된 변수 하나가 전체 결과에 영향을 미칠 수도 있기 때문입니다. 하지만 저희가 쓰게 될 수준의 규모와 복잡도에서는 그러한 일은 거의 발생하지 않을 것이라고 보셔도 무방하며, 오히려 일일이 정의하고 관리하지 않아도 되어 개발 속도는 빨라지기 때문에 '마케팅에 코딩을 곁들이는' 입장에서는 장점에 더 가까운 특징이라고 판단하였습니다.
3. Python의 단점
(타 언어들에 비하여 비교적) 느리다.
Python은 C계열의 언어보다 속도가 느립니다.
(한 논문에 따르면, Python은 C에 비해 실행 시간이 약 72배 더 걸렸다고 하네요. 출처: 나무위키)
하지만 그 수준마저 인간의 처리 속도보다는 월등히 빠르고 우리는 그 시간 차이가 유의미할 정도의 복잡한 작업까지는 하지 않기 때문에, 마케터를 위한 활용 수준에서 이 부분은 그렇게 의미있고 치명적인 단점은 아니라고 생각해요.
(ex. 컴퓨터 부팅이 5분 더 걸리는 것은 큰 문제이지만, 크롤링 작업이 5분 더 걸리는 것은 대개 큰 문제가 되지는 않을 것입니다)
.
따라서, Python의 대표적 단점인 '(비교적) 느린 속도'가 우리처럼 코딩을 처음 접하는 비전공자들에게는 그렇게 유효한 단점은 되지 못하고, 대신 가지고 있는 장점들이 주는 가치가 훨씬 크기 때문에, 앞으로의 코딩 작업은 Python을 활용하여 진행할 것입니다!
4. 맺는 말
지금까지 Python의 장단점과 함께 Python이라는 언어를 채택한 이유에 대해 말씀드렸는데요,
다음 글에서는 Python 코드를 '어디에서' 짤 것인지, 즉 '어떤 개발 도구를 활용할 것인지'에 대해 알아볼 것입니다.
크게는 Jupyter Notebook과 Google Colaboratory, 이 두 가지에 대해 말씀 드리려 합니다.
오늘도 긴 글 끝까지 읽어 주셔서 감사하고, 다음 글에서 또 뵙겠습니다! ^_^
우리들의 스트러글(struggle)하는 현생, 화이팅입니다!
'퍼포마의 야근근절을 위한 코딩' 카테고리의 다른 글
pandas - head / tail 함수 설명 및 활용 예시 (0) | 2022.10.14 |
---|---|
우리가 사용할 개발 도구(환경) - Jupyter Notebook의 특징 및 장단점 (0) | 2022.10.12 |
pandas - read_excel / to_excel 함수 설명 및 활용 예시 (2) | 2022.10.08 |
Python에서 파일 경로(Path) 설정할 때 알면 좋은 개념들 (0) | 2022.10.04 |
pandas - read_csv / to_csv 함수 설명 및 활용 예시 (2) | 2022.10.03 |