why python
Post on 19-May-2015
1.319 Views
Preview:
DESCRIPTION
TRANSCRIPT
Python
History
• Created by Guido von Rossum in 1990 (BDFL)and named after Monty Python's Flying Circus
• Influences: ABC, Lisp, Perl, Haskell and Java• Developed and supported by a large team of
volunteers - Python Software Foundation• Major implementations: CPython, Jython, Iron
Python, PyPy
E.g. Projects with Python
• Websites: Google, YouTube, Yahoo Groups & Maps, CIA.gov
• Systems: NASA, LALN, CERN, Rackspace• Games: Civilization 4, Quark (Quake Army
Knife)• Mobile phones: Nokia S60 (Symbian),
PythonCE• P2P: BitTorrent
What is Python
• Very high level scripting-cum-programming language (almost like pseudo-code)
• Multi-paradigm: OOP, Structured, Functional, Aspect-oriented
• Multi-platform• Dynamic Typing• Automatic garbage collector for memory
management
Philosophy
“there is one -and preferably only one- obvious way to do it”
“The long-term usefulness of a language comes not in its ability to support clever hacks, but from how well and how unobtrusively it supports the day-to-day work of programming. The day-to-day work of programming consists not of writing new programs, but mostly reading and modifying existing ones.”
- Eric Raymond, 'Why Python?' 2003
Readability
• Forced indentation• No curly brackets /
do..end / if...endif• No semicolons
SyntaxTypes: • str, unicode • list, tuple, set• dict• int, float, complex, bool
Conditions:• if, elif, else
Loops:• for...in• while
Why Python?
• Readability, maintainability• Fast development and all just works the first
time...• Dynamic typing and automatic memory
management• Paradigm of your choice• Extensive library
Some problems
• Scripting-like language and compiled and runtime - hence slower than C/C++ and slightly slower than Java
• Memory economy hard to achieve (high level data-structures)
• Multiprocessing and Global interpreter lock
EXAMPLES
Example: Old Directory Cleanup Script
Example: Simple XML Processing
Example: Simple Spell Checker in 21 Lines
top related