About Python.

Slides:



Advertisements
Similar presentations
Python: Building an Open Source Project and Community SDForum Distinguished Speaker Series, 2/17/05 Guido van Rossum Elemental Security,
Advertisements

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.
Python Whats in a name? Snake logos and mascot notwithstanding, its named after Monty Pythons Flying Circus Humor-impaired can safely.
director of PythonLabs at Zope Corporation
10/09/1999© 1999 CNRI, Guido van Rossum 1 Computer Programming for Everybody Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston,
EIONET Training Beginners Zope Course Miruna Bădescu Finsiel Romania Copenhagen, 27 October 2003.
Other Web Application Development Technologies. PHP.
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
PHP/ASP Robert Nelson & Will Vanlue BA370 November 4 th, 2005.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Python Brandon Jeffcoat Dashaun West “Why settle for snake oil when you can have the whole snake?” -- From Usenet posting by Mark Jackson, June 1998.
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
Python Jordan Miller and Lauren Winkleman CS 311 Fall 2011.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Jonathan Huelman CSC 415 – Programming Languages
PHP Scripting Language. Introduction “PHP” is an acronym for “PHP: Hypertext Preprocessor.” It is an interpreted, server-side scripting language. Originally.
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
Python Introduction.
CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]
PHP HYPERTEXT: PREPROCESSOR By: Justin T. Pleva. WHAT IS PHP?  General purpose  Server-side web development  Console application.
23-August-1999© 1999 CNRI, Guido van Rossum August-1999© 1999 CNRI, Guido van Rossum 2 Python Track Opening Words Guido van Rossum
Groovy WHAT IS IT? HOW DOES IT WORK? IS IT USEFUL?
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
28 May, 1999Le Copyright © 1999 CNRI, Guido van Rossum 1 Le Python à Paris Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston,
About Python. Sept. 2003© Guido van Rossum 2 Executive Summary Dynamically typed object-oriented language Python programs look like executable.
Intro to Python Programming (Introduction) Pamela A. Moore Zenia C. Bahorski Eastern Michigan University March 7, 2012 A language to swear by, not at.
Python Guido van Rossum Sung-Jin Hong SPARCS
Computer Science 111 Fundamentals of Programming I Overview of Programming.
Python 0 Some material adapted from Upenn cmpe391 slides and other sources.
Washington Area SGML/XML Users Group – 21 June 2000 BeOpen.com 1 Python, XML, and PythonLabs Fred L. Drake, Jr.
MySQL™: The Open Source Database for Mission-Critical, Heavy Load Applications Kaj Arnö, VP Training, MySQL AB Stuttgart, Germany Belgrad, Serbia.
1 3. Computing System Fundamentals 3.1 Language Translators.
2001 IT Conference RenoPage: 1 PHP 101 PHP – You can DO IT! Greg Lawler Brooks Institute of Photography February IT Conference Reno.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
A very basic overview of Server-Side Scripting Or what is PHP, Perl, Python, Ruby and what can they do for me?
Introduction to CS520/CS596_026 Lecture Two Gordon Tian Fall 2015.
C463 / B551 Artificial Intelligence Dana Vrajitoru Python.
Intro to Python Programming (Part 1) Pamela Moore Zenia Bahorski Eastern Michigan University March 16, 2011 A language to swear by, not at.
The (Active) State of Tcl June 2001, slide 1 The (Active) State of Tcl.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
Bucharest, 23 February 2005 CHM PTK technologies Adriana Baciu Finsiel Romania.
Presented By P.SRIVIDYA 085D1A0552 Programming Language.
An Introduction to. Where did Fedora come from? Boxed set every 6 months == Failed business model [
Introduction to PHP and MySQL – Creating Database-Driven Websites
Fundamentals of Programming I Overview of Programming
Python Programming Unit -1.
Lecture 1b- Introduction
Development Environment
CS 330 Class 7 Comments on Exam Programming plan for today:
ITCS-3190.
PERL.
PHP / MySQL Introduction
SVTRAININGS. SVTRAININGS Python Overview  Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed.
1 Python Lab #1 Intro to Python Adriane Huber Debbie Bartlett.
Do you know this browser?...
MSIS 655 Advanced Business Applications Programming
What Is a Program? A program is like an algorithm, but describes a process that is ready or can be made ready to run on a real computer Retrieved from:
Programming.
Principles of Programming Languages
Tonga Institute of Higher Education IT 141: Information Systems
Let’s start from the beginning
Tonga Institute of Higher Education IT 141: Information Systems
FEATURES OF PYTHON.
Web Application Development Using PHP
JTLS-GO 6.0 PostgreSQL Information
Introduction to Computer Science
What's New in Python? "Not your usual list of new features" Stanford CSL Colloquium, October 29, 2003; BayPiggies,
Presentation transcript:

About Python

Executive Summary Dynamically typed object-oriented language Python programs look like executable pseudo-code Supports multiple paradigms: procedural, object-oriented, some functional Extensible in C, C++, Fortran, ... Used by: Google, ILM, NASA, Red Hat, RealNetworks, ... Written in portable ANSI C (mostly...) Runs on: Unix, Windows, Mac, Palm, VxWorks, PlayStation 2, ... Jython: Java version, translates to Java byte code Sept. 2003 © 1999-2003 Guido van Rossum

Why Use Python? Dynamic languages are more productive Python code is more readable Python code is more maintainable Python has fast built-in very high-level data types Developer time is more expensive than CPU time When Should You Not Use Python (Yet)? Things like packet filters, MP3 codecs, etc. Instead, write in C/C++ and wrap Python around it Sept. 2003 © 1999-2003 Guido van Rossum

Example Function def gcd(a, b): "Greatest common divisor of two integers" while b != 0: a, b = b, a%b return a Note: no declarations indentation+colon for statement grouping doc string part of function syntax parallel assignment (to swap a and b: "a, b = b, a") Sept. 2003 © 1999-2003 Guido van Rossum

Sample Use Areas Server-side web programming (CGI, app servers) Client-side web programming (HTML, HTTP, ...) XML processing (including XML-RPC and SOAP) Databases (Oracle, MySQL, PostgreSQL, ODBC, ...) GUI programming (Qt, GTK+, Tcl/Tk, wxPython, ...) Scientific/numeric computing (e.g. LLNL) Testing (popular area for Jython) Scripting Unix and Windows Rapid prototyping (e.g. at Google) Programming education (e.g. Oxford physics) from middle school to college Sept. 2003 © 1999-2003 Guido van Rossum

Standard Library File I/O, socket I/O, web protocols (HTTP, CGI, ...) XML, HTML parsing (DOM, SAX, Expat) Regular expressions (using standard Perl re syntax) compression (gzip/zlib, bz2), archiving (zip, tar) math, random, checksums, algorithms, data types date/time/calendar threads, signals, low-level system calls Python introspection, profiling, debugging, testing email handling and much, much more! and 10x more in 3rd party packages (e.g. databases) Sept. 2003 © 1999-2003 Guido van Rossum

Python Community Python is Open Source software; freely distributable Code is owned by Python Software Foundation 501(c)(3) non-profit taking tax-deductible donations merit-based closed membership (includes sponsors) License is BSD-ish (no "viral" GPL-like clause) Users meet: on Usenet (comp.lang.python) on IRC (#python at irc.freenode.net) at local user groups (e.g. www.baypiggies.net) at conferences (PyCon, EuroPython, OSCON) Website: www.python.org (downloads, docs, devel) Sept. 2003 © 1999-2003 Guido van Rossum

Python Development Process Nobody gets paid to work full-time on core Python Though some folks get paid for some of their time their employers use Python and need enhancements The development team never sleeps For example, for the most recent release: release manager in Australia key contributors in UK and Germany doc manager and Windows expert in Virginia etc. Key tools: email, web, CVS, SourceForge trackers IRC not so popular, due to the time zone differences Sept. 2003 © 1999-2003 Guido van Rossum

Python Enhancement Proposals (PEP) RFC-like documents proposing new or changed: language features library modules even development processes Discussion usually starts in python-dev mailing list Wider community discussion on Usenet BDFL approval required to go forward BDFL = "Benevolent Dictator For Life" (that's me :-) this is not a democracy; let Python have my quirks we don't want design by committee or majority rule the PEP system ensures everybody gets input though Sept. 2003 © 1999-2003 Guido van Rossum

Python Release Philosophy "Major releases": 2.0 -> 2.1 -> 2.2 -> 2.3 12-18 month cycle Focus on new features Limited backward incompatibilities acceptable usually requires deprecation in previous major release "Minor releases": e.g. 2.3 -> 2.3.1 -> 2.3.2 3-9 month cycle Focus on stability; zero backward incompatibilities One previous major release still maintained "Super release": 3.0 (a.k.a. Python 3000 :-) Fix language design bugs (but nothing like Perl 6.0 :-) Don't hold your breath (I'll need to take a sabbatical) Sept. 2003 © 1999-2003 Guido van Rossum