Python Programming
  • Home
  • Intro
    • History & Background
    • Python Setup
  • QPB
    • Part I: Chapter 1-3
    • Part II
    • 5. Lists, Tuples, Sets
  • Exercises
    • Chapter 5: Lists, Tuples, Sets
  • References
    • QPB Part 1
    • QPB Part 2
    • QPB Part 3
    • QPB Part 4

On this page

  • Python 언어의 역사 및 배경
  • 데이터 사이언스와 Python

Python 소개

Python 언어의 역사 및 배경

Python: The Documentary | An origin story

  • Python의 탄생 배경
    • 네덜란드 Centrum Wiskunde & Informatica (CWI)의 ABC 프로젝트에서 시작
    • ABC 프로젝트는 초보자도 쉽게 배우고 사용할 수 있는 언어를 목표로 했으나, 1985년 출시 후 인터넷 부재로 대중에게 알려지지 못하고 중단됨
    • 프로젝트의 일원인 Guido van Rossum은 ABC 프로젝트의 원칙을 바탕으로 1989년 크리스마스 휴가 동안 자신만의 프로그래밍 언어를 설계
    • ABC로부터 들여쓰기를 통한 문장 그룹화 등 주요 특징을 차용했음.
    • 코미디 쇼 “Monty Python”에서 이름을 따 Python이라고 명명함.
    • CWI는 Python의 오픈소스 배포를 허용


Guido van Rossum from Wikipedia
  • Python 커뮤니티의 성장과 주요 전환점:
    • 인터넷의 확산은 Python 배포를 용이하게 했고, 커뮤니티가 “큰 가족처럼” 성장하기 시작했습니다.
    • 1994년 11월 메릴랜드에서 열린 첫 워크숍은 Python 커뮤니티의 시작
    • CNRI (Corporation for National Research Initiatives)는 Guido를 고용하여 Python 개발에 전념
    • Guido van Rossum은 “자비로운 종신 독재자(Benevolent Dictator for Life, BDFL)”라는 리더십 모델을 채택하여 언어의 방향을 결정
      • 2018.7.12 walrus operator 추가 후 격렬한 비난으로 사임
      • 이후 5인으로 구성된 “스티어링 위원회(Steering Council)” 모델을 채택
    • Tim Peters가 작성한 “Zen of Python”은 Python의 철학을 담아냈음
    • Python Software Foundation (PSF)이 설립되어 Python의 독립성을 보장하고 커뮤니티를 지원했음
  • Python 2에서 Python 3으로의 전환
    • 2007년 Python 3.0 출시 시 하위 호환성을 깨는 변화로 인해 커뮤니티의 강한 저항에 부딪힘
    • Python 3.4/3.5 이후 새로운 기능과 Dropbox, Instagram 등 대기업의 성공적인 전환 사례가 확산에 큰 영향을 미쳤음
    • Python 2.7의 보안 지원 중단 되어, 10년이 넘는 대장정 끝에 2020년 전환이 완료되었음

데이터 사이언스와 Python

  • 2009년에서 2010년경부터 “데이터 사이언스”가 하나의 분야로 부상하기 시작하면서, Python은 이러한 데이터 과학 작업에 “잘 포지셔닝”되어 엄청난 수의 새로운 사용자를 유입
  • 당시에는 “데이터 사이언스”이라고 불리지는 않았지만, 데이터 처리, 모델링, 예측 분석과 같은 작업들이 Python을 통해 이루어졌음
  • 대기업이 비즈니스 데이터 처리 및 예측 분석에 Python을 사용하기 시작하면서 단순한 “값싸고 무료인 대안”이 아닌 메이저 언어로 인정받게 되었음
  • 핵심 라이브러리 및 생태계의 발전
    • Python은 과학 및 공학 분야(수치 커뮤니티)에서 “고성능 행렬 연산”을 제공하며 이미 유용성을 증명하고 있었음
    • NumPy와 같은 라이브러리의 등장은 이 분야에서 Python의 입지를 강화하는 데 결정적인 역할을 했음
    • 이후 SciPy, Numba, Pandas 등 방대한 도구 모음이 개발되어 Python의 과학 및 데이터 스택을 더욱 풍부하게 만들었음
    • 이러한 데이터 라이브러리들은 종종 C++ 또는 Fortran과 같은 기본 언어를 기반으로 하여 복잡하지만 고성능의 작업을 수행할 수 있게 함
  • Anaconda 배포판의 기여
    • Python의 과학 및 데이터 스택은 다양한 라이브러리들이 복잡하게 얽혀 있어 설치하기가 매우 어려웠음.
    • Continuum Analytics(현 Anaconda)는 이러한 문제를 해결하기 위해 Python 배포판을 만들어 소프트웨어 설치를 쉽게 만들었음.
    • “Anaconda Python 배포판”은 “Python for big data”를 위한 “큰 뱀(big snake)”이라는 농담에서 이름이 유래했으며, Python을 엄청나게 인기 있게 만드는 데 기여했다고 평가받았음.
  • R과의 비교 및 Python의 강점
    • 초기 데이터 엔지니어링 분야에서는 Python과 R이 함께 사용되었지만, 시간이 지남에 따라 Python의 데이터 분석 및 플로팅 라이브러리들이 R의 기능들을 따라잡거나 능가하게 되었음.
    • Python은 데이터 수집 단계부터 분석까지 “데이터로 엔드투엔드(end-to-end) 작업을 수행”할 수 있다는 장점으로 인해 더욱 선호되었음.
    • 반면 R은 데이터 분석에는 뛰어나지만 다른 단계에서는 그렇지 못하다는 한계가 있었음.
  • AI/ML 시대의 핵심 언어
    • 오늘날 Python은 AI/ML 분야에서 “사실상의 표준 언어”
    • TensorFlow와 PyTorch와 같은 주요 머신러닝 패키지들은 Python API를 제공하며, AI 과학자들이 모델을 개발하고 훈련하며 사용하는 데 필수적인 도구가 되었음.
    • Python 생태계에 축적된 수세기 동안의 엔지니어링 시간은 사용자들이 방대한 라이브러리들을 활용하여 AI/ML 작업을 효율적으로 수행할 수 있게 함.
    • LLM(거대 언어 모델)의 코드 생성에서도 백엔드 데이터 분석의 핵심 언어가 될 것으로 전망됨.
Welcome
Python Setup

This work © 2025 by Sungkyun Cho is licensed under CC BY-NC-SA 4.0