1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어
구글에서 만든 소프트웨어의 50% 이상이 파이썬으로 작성됨
인스타그램(Instagram), 넷플릭스(Netflix), 아마존(Amazon)등에서 사용
공동 작업과 유지 보수가 매우 쉽고 편리함
파이썬은 웹 프로그램을 만들기에 매우 적합한 도구
자연어 처리, 음성 인식, 이미지 인식과 같은 인공지능 기술 구현
인공지능과 머신러닝 프로그램을 쉽게 할 수 있도록 scikit-learn, Tenserflow, Pytorch, Keras 등과 같은 라이브러리 제공
C로 작성된 넘파이(Numpy) 수치 연산 모듈을 이용해 빠른 수치 연산 가능
NumPy, Pandas, Matplotlib 등의 라이브러리를 활용한 데이터 처리, 통계 분석, 시각화를 손쉽게 수행
판다스가 동작하는 이러한 데이터 분석에 유닉스 파이프를 사용하는 사례 증가
Sybase, Informix, Oracle, MySQL, PostgreSQL 등의 데이터베이스에 접근하기 위한 도구 제공
자료를 변형 없이 그대로 파일에 저장하고 불러오는 파일 형식(pickle)
유연성(예를 들어, 리눅스의 시스템 명령어를 사용하는 도구들 등)을 통한 시스템 유틸리티 제작
화면에 이미지를 창을 띄워 프로그램을 동작시킬 수 있는 미니 컴퓨터, 그림 도형을 추가하는 것
GUI 프로그래밍을 위한 도구들을 갖추고 있으며, GUI 프로그램을 만들기 쉬움
(예 - Tkinter)
CLf C++로 만든 프로그램을 파이썬에서, 파이썬으로 만든 프로그램을 C/C++에서 사용이 가능
간단한 프로토타입을 제작하여 새로운 인터페이스 구현
운영체제, 엄청난 횟수의 반복과 연산이 필요한 프로그램 등
매우 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 적합하지 않음
안드로이드 네이티브 앱(android native app) 개발에는 아직 역부족
아이폰 앱 개발은 불가능
https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0
코드 실행 시 런타임에 한 줄씩 해석하여 중간 코드로 변환 후 즉시 실행
실행 파일 생성하지 않음
인터프리터 단계와 실행 단계가 분리되지 않음
실행마다 인터프리트 과정 반복되어 실행 속도가 느림
https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC
컴파일 타임에 소스 코드 전체를 한 번에 기계어로 변환하여 실행
실행 파일 생성
컴파일 단계와 실행 단계가 분리
소스 코드를 한 번만 컴파일하고, 실행 시에는 컴파일된 코드를 실행하여 빠른 실행 속도를 보임
https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4
MSA (Micro-Service Architecture)는 소프트웨어를 작고 독립적인 서비스 단위로 분할하여 개발하는 아키텍처 디자인 패턴
각각의 서비스와 시스템이 분산되어 있어 대규모 시스템의 복잡성을 줄이고 유연성과 확장성을 향상시키는 데 도움이 됨
다양한 기술과 언어를 사용할 수 있음