We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byMolly Schneider
Modified over 2 years ago
Python Guido van Rossum director of PythonLabs at Zope Corporation
Slide 2©2001, 2002 Guido van Rossum
Slide 3©2001, 2002 Guido van Rossum Whats in a name? Snake logos and mascot notwithstanding, its named after Monty Pythons Flying Circus Humor-impaired can safely ignore the spam references :-) Nobody expects the Spanish inquisition
Slide 4©2001, 2002 Guido van Rossum What is Python? O-O rapid prototyping language Not just a scripting language Not just another Perl Easy to learn, read, use Extensible (add new modules) –C/C++/Fortran/whatever –Java (through Jython) Embeddable in applications
Slide 5©2001, 2002 Guido van Rossum Touchy-feely properties Open Source (OSI Certified) –copyrighted but use not restricted –no "viral" license –owned by independent non-profit, PSF Mature (13 years old) Supportive user community –plenty of good books, too Simple design, easy to learn –reads like pseudo-code –Suitable as first language –Suitable as last language :-)
Slide 6©2001, 2002 Guido van Rossum High-level properties Extremely portable –Unix/Linux, Windows, Mac, PalmOS, WindowsCE, RiscOS, VxWorks, QNX, OS/2, OS/390, AS/400, PlayStation, Sharp Zaurus, BeOS, VMS… Compiles to interpreted byte code –compilation is implicit and automatic Memory management automatic –reference counting for most situations –GC added for cycle detection Safe: no core dumps due to your bugs
Slide 7©2001, 2002 Guido van Rossum What is it used for? rapid prototyping web programming (client and server side) ad hoc programming ("scripting") steering scientific applications extension language XML processing database applications GUI applications education
Slide 8©2001, 2002 Guido van Rossum Who is using it? Google (various projects) NASA (several projects) NYSE (one of only three languages "on the floor") Industrial Light & Magic (everything) Yahoo! (Yahoo mail & groups) RealNetworks (function and load testing) RedHat (Linux installation tools) LLNL, Fermilab (steering scientific applications) Zope Corporation (content management) ObjectDomain (embedded Jython in UML tool) Alice project at CMU (accessible 3D graphics) More success stories at
Slide 9©2001, 2002 Guido van Rossum Language properties Everything is an object Packages, modules, classes, functions Exception handling Dynamic typing, polymorphism Static scoping Operator overloading Indentation for block structure –Otherwise conventional syntax
Slide 10©2001, 2002 Guido van Rossum High-level data types Numbers: int, long, float, complex Strings, Unicode: immutable Lists and dictionaries: containers Other types for e.g. binary data, regular expressions, introspection Extension modules can define new built-in data types
Slide 11©2001, 2002 Guido van Rossum Interfaces to... XML –DOM, expat –XMLRPC, SOAP, Web Services Relational databases –MySQL, PostgreSQL, Oracle, ODBC, Sybase, Informix Java (via Jython) Objective C COM, DCOM (.NET too) Many GUI libraries –cross-platform Tk, wxWindows, GTK, Qt –platform-specific MFC, Mac (classic, Cocoa), X11
Slide 12©2001, 2002 Guido van Rossum Compared to Perl Easier to learn –very important for infrequent users More readable code More maintainable code Fewer magical side effects More safety guarantees Better Java integration
Slide 13©2001, 2002 Guido van Rossum Compared to Java Code up to 5 times shorter –and more readable Dynamic typing Multiple inheritance, operator overloading Quicker development –no compilation phase –less typing Yes, it may run a bit slower –but development is much faster –and Python uses less memory (studies show) Similar (but more so) for C/C++
Slide 14©2001, 2002 Guido van Rossum Jython Seamless integration with Java Separate implementation Implements the same language Different set of standard modules differences in gray areas –e.g. some different introspection calls –different command line options, etc.
Slide 15©2001, 2002 Guido van Rossum Jython's Java integration Interactive Compiles directly to Java bytecode Import Java classes directly Subclass Java classes –pass instances back to Java Java beans integration Can compile into Java class files
Slide 16©2001, 2002 Guido van Rossum Example function def gcd(a, b): "greatest common divisor" while a != 0: a, b = b%a, a # parallel assignment return b
Slide 17©2001, 2002 Guido van Rossum Example class class Stack: "A well-known data structure" # doc string def __init__(self): # constructor self.items =  def push(self, x): self.items.append(x) # the sky is the limit def pop(self): x = self.items[-1] # what happens if its empty? del self.items[-1] return x def empty(self): return len(self.items) == 0
Slide 18©2001, 2002 Guido van Rossum References and plugs References: –www.python.org - Python home site documentation, downloads, community, PSF –www.pythonology.org - success stories –www.artima.com/intv - interview with GvR –www.zope.org - Zope community site –www.zope.com - Zope corporate site Python Conferences (see –PyCon DC March Washington, DC on-line registration ends today ($200) –Python UK April 2-3 Oxford, England –EuroPython June Charleroi, Belgium –Python11 at OSCON July 7-11 Portland, OR
Python Whats in a name? Snake logos and mascot notwithstanding, its named after Monty Pythons Flying Circus Humor-impaired can safely.
10/10/1999© 1999 CNRI, Guido van Rossum 1 Python Workshop Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston, Virginia,
Python: Building an Open Source Project and Community SDForum Distinguished Speaker Series, 2/17/05 Guido van Rossum Elemental Security,
What's New in Python? "Not your usual list of new features" Stanford CSL Colloquium, October 29, 2003; BayPiggies, November 13, 2003 Guido van Rossum Elemental.
® ® Why Design Another Language? Python UK & ACCU Spring Conference Oxford - April 2, 2003 Guido van Rossum Director of PythonLabs at Zope Corporation.
Introduction to Python LinuxWorld - New York City - January 2002 Guido van Rossum Director of PythonLabs at Zope Corporation
Tutorial on Python Programming Chetan Giridhar January 19, 2014.
11/12/1999© 1999 CNRI, Guido van Rossum1 Using Python for CGI programming Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston,
Python and Web Development Cant possibly do justice in 60 minutes So well be flying at 30,000 feet. Quick URLs:
Microsoft.NET Framework Overview Svetlin Nakov Software Development Consultant, Part-time Computer Science Lecturer Sofia University St. Kliment Ohridski.
Web 2.0 Programming 1 © Tongji University, Computer Science and Technology. Web Web Programming Technology 2012.
Why I Invented Python EuroPython – June 27, 2005 Guido van Rossum Elemental Security, Inc.
Reston/San Diego, July 25, O'Reilly Open Source Convention 2001 San Diego, CA Python Track Keynote Guido van Rossum Zope Corporation
Other Web Application Development Technologies. PHP.
An Introduction to Python and Python Web Programming Gabe Rudy, Director of Software Development Golden Helix Inc.
10/09/1999© 1999 CNRI, Guido van Rossum 1 Computer Programming for Everybody Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston,
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 12 Introduction to ASP.NET.
State of the Python Union PyCon DC, March 26-28, 2003 Guido van Rossum Director of PythonLabs at Zope Corporation
Python at Elemental Security EuroPython - June 29, 2005 Guido van Rossum Elemental Security, Inc.
Introduction to. What is Python? Dynamic, interpreted high-level language. Created in 1991 by Guido van Rossum. Design philosophy: Short development time.
1 Chapter 3 - Language Design Principles. Thought question What characteristics should be present in your “perfect language”? What have you liked/disliked.
1 Introduction to ASP.NET. 2 Static and Dynamic Web Applications HTML is used to create static content Browser software interprets HTML tags and formats.
Chapter 2: Operating-System Structures. 2.2 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 2: Operating-System Structures.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: Operating-System Structures.
Software Engineering Model Driven Architecture Software Engineering 2011 Department of Computer Science Ben-Gurion university Based on the book: MDA Explained:
EuroPython Keynote June 26, 2002 Guido van Rossum Director of PythonLabs at Zope Corporation
Introduction to Java 2 Programming Lecture 1 Java, Principles of OO, UML.
1 GREY BOX TESTING Web Apps & Networking Session 3 Boris Grinberg
© 2016 SlidePlayer.com Inc. All rights reserved.