why python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • introduction...
TRANSCRIPT
Why Python?
Postechian
• The late 1980s
• Monty Python's Flying Circus
Guido van Rossum
• Introduction of Python
• Comparison Python with Another Languages
• Effect of Python
• Conclution
• 폭 넓은 사용자층
• 동적 타이핑 범용 프로그래밍 언어
• 다양한 플랫폼
• 풍부한 라이브러리
• Glue Language
• Interpreter
– Cpython
– Jython
– IronPython
– PyPy
• Performance(speed)
– Compile
– Module
• Indentation
• Functional
• 자싞의 기능을 작게
– But, Many Modules And Battery Included
• Python vs. Perl (there's more than one way to do it)
• Indentation
Python
C
• 정규표현식(re)
• 시스템 콜(os, sys)
• XML 처리
• HTTP
• FTP
• DB
• GUI
• HTML
………….
감당이 안돼서 PyPI(Python Packages Index) 도입 (약 7000개)
• 인갂다운 언어이다.
• 개발이 빠르다
• 공짜다
• 자료가 많다
• 프로그래밍 언어가 종교라면
– C: 유대교 - 누구나 그 법칙을 알고 널리 퍼져있음.
– Java: 기독교 원리주의 - C와 같지만 엄격한 법칙들로 재창조
– PHP: 개별주의 기독교 - C, Java 등의 언어에서 필요한 부분만 취사선택
– Python: 인문주의 - 상식에 입각하며!, 쉽고!, 제한이 적다!
• Brainfuck
– An esoteric programming language
Brainfuck Python
C Python
속도 빠르다 느리다
문법 보통 쉽다
언어 레벨 낮다 높다
개발 속도 느리다 빠르다
• 공통점
– 객체 지향 언어
– 멀티 패러다임
– 인터렉티브 쉘, 표준 라이브러리, 도큐먼트 제공
• 차이점
Ruby Python
속도 조금 느리다 조금 빠르다
라이브러리, 문서 부족 풍부
Web 앞서있다 뒷쳐져 있다
Thread 처리 지원 제한적 지원
Perl Python
문법 자유도 높다 낮다
가독성 최악이 될 수 있다 높다
속도 빠르다 느리다
기업 선호도 높다 낮다
• Strength
– 쉽다
– 생산성이 높다
– 재미있다
• Weakness
– 버전갂 호환성
– 느리다
– 타입 변환이 귀찮다
– 중독성이 심하다
• Python is Renaissance in PLs.
• Life is short, use Python!
• http://lambda-the-ultimate.org/node/3312
• http://rein.upnl.org/wordpress/archives/1387
• http://en.wikipedia.org/wiki/Python_(programming_language)
• http://ko.wikipedia.org/wiki/Python
• http://downdew.springnote.com/pages/550457
• http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
• http://berry10.egloos.com/1390268 (Ruby vs Python)