About Python. Sept. 2003© 1999-2003 Guido van Rossum 2 Executive Summary Dynamically typed object-oriented language Python programs look like executable.

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.
Software Freedom Day th September 2007 Asia Pacific Institute of Information Technology Colombo, Sri Lanka. Nazly Ahmed Scripting The Web.
Programming Creating programs that run on your PC
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
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.
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.
PHP Scripting Language. Introduction “PHP” is an acronym for “PHP: Hypertext Preprocessor.” It is an interpreted, server-side scripting language. Originally.
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
CSE 1301 J Lecture 2 Intro to Java Programming Richard Gesick.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
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]
Programming 101 with Python: an open-source, cross-platform, and fun language By J. Burton Browning, Ed.D. Copyright © J. Burton Browning All rights reserved.
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?
Selected Topics in Software Computing Distributed Software Development CVSQL Final Project Presentation.
28 May, 1999Le Copyright © 1999 CNRI, Guido van Rossum 1 Le Python à Paris Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston,
Intro to Python Programming (Introduction) Pamela A. Moore Zenia C. Bahorski Eastern Michigan University March 7, 2012 A language to swear by, not at.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
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.
The Python Programming Language Jeff Myers Programming Language Concepts, 01/14/2002
Programming language A programming language is an artificial language designed to communicate instructions to a machine,languageinstructionsmachine particularly.
Chapter 1 - Introduction
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
MySQL™: The Open Source Database for Mission-Critical, Heavy Load Applications Kaj Arnö, VP Training, MySQL AB Stuttgart, Germany Belgrad, Serbia.
The First Pune Python meet organized by PythonThreads.com The First Pune Python meet organized by PythonThreads.com What is it? Python is a Free, Open.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
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?
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Intro to Python Adriane Huber Debbie Bartlett Python Lab #1Python Lab #1 1.
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.
Overview of Python Eric Finkenbiner David J. Stucki.
WHY ARE WE HERE? Nick Derrickson BA371, Winter 2016.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
Collaborative Development Services Learning From the Open Source Agile Development Process Richard Kilmer, InfoEther LLC.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
IST 210: PHP Basics IST 210: Organization of Data IST2101.
Bucharest, 23 February 2005 CHM PTK technologies Adriana Baciu Finsiel Romania.
Presented By P.SRIVIDYA 085D1A0552 Programming Language.
Introduction to PHP and MySQL – Creating Database-Driven Websites
Fundamentals of Programming I Overview of Programming
Python Programming Unit -1.
Development Environment
About Python.
PHP / MySQL Introduction
SVTRAININGS. SVTRAININGS Python Overview  Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed.
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.
Let’s start from the beginning
FEATURES OF PYTHON.
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

Sept. 2003© Guido van Rossum 2 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© Guido van Rossum 3 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© Guido van Rossum 4 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© Guido van Rossum 5 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© Guido van Rossum 6 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 handling and much, much more! –and 10x more in 3rd party packages (e.g. databases)

Sept. 2003© Guido van Rossum 7 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. –at conferences (PyCon, EuroPython, OSCON) Website: (downloads, docs, devel)

Sept. 2003© Guido van Rossum 8 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: , web, CVS, SourceForge trackers –IRC not so popular, due to the time zone differences

Sept. 2003© Guido van Rossum 9 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© Guido van Rossum 10 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 > > –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)