24
Why Python? Postechian

Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

Why Python?

Postechian

Page 3: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• Introduction of Python

• Comparison Python with Another Languages

• Effect of Python

• Conclution

Page 4: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• 폭 넓은 사용자층

• 동적 타이핑 범용 프로그래밍 언어

• 다양한 플랫폼

• 풍부한 라이브러리

• Glue Language

Page 5: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• Interpreter

– Cpython

– Jython

– IronPython

– PyPy

• Performance(speed)

– Compile

– Module

• Indentation

• Functional

Page 6: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• 자싞의 기능을 작게

– But, Many Modules And Battery Included

• Python vs. Perl (there's more than one way to do it)

Page 7: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• Indentation

Python

C

Page 8: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution
Page 9: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• 정규표현식(re)

• 시스템 콜(os, sys)

• XML 처리

• HTTP

• FTP

• Mail

• DB

• GUI

• HTML

………….

감당이 안돼서 PyPI(Python Packages Index) 도입 (약 7000개)

Page 10: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• 인갂다운 언어이다.

• 개발이 빠르다

• 공짜다

• 자료가 많다

Page 11: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• 프로그래밍 언어가 종교라면

– C: 유대교 - 누구나 그 법칙을 알고 널리 퍼져있음.

– Java: 기독교 원리주의 - C와 같지만 엄격한 법칙들로 재창조

– PHP: 개별주의 기독교 - C, Java 등의 언어에서 필요한 부분만 취사선택

– Python: 인문주의 - 상식에 입각하며!, 쉽고!, 제한이 적다!

Page 12: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution
Page 13: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• Brainfuck

– An esoteric programming language

Brainfuck Python

Page 14: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

C Python

속도 빠르다 느리다

문법 보통 쉽다

언어 레벨 낮다 높다

개발 속도 느리다 빠르다

Page 15: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• 공통점

– 객체 지향 언어

– 멀티 패러다임

– 인터렉티브 쉘, 표준 라이브러리, 도큐먼트 제공

• 차이점

Ruby Python

속도 조금 느리다 조금 빠르다

라이브러리, 문서 부족 풍부

Web 앞서있다 뒷쳐져 있다

Thread 처리 지원 제한적 지원

Page 16: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

Perl Python

문법 자유도 높다 낮다

가독성 최악이 될 수 있다 높다

속도 빠르다 느리다

기업 선호도 높다 낮다

Page 17: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• Strength

– 쉽다

– 생산성이 높다

– 재미있다

• Weakness

– 버전갂 호환성

– 느리다

– 타입 변환이 귀찮다

– 중독성이 심하다

Page 18: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution
Page 19: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution
Page 21: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution
Page 22: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution
Page 23: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• Python is Renaissance in PLs.

• Life is short, use Python!

Page 24: Why Python? - pl.postech.ac.krpl.postech.ac.kr/~gla/pl2009/slide/student4.pdf · • Introduction of Python • Comparison Python with Another Languages • Effect of Python • Conclution

• 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)