What is Python?

Wednesday, October 12, 2005 - 17:30
TH 331
Wesley J. Chun, IronPort Systems
Python http://python.org is an agile applications development programming language that is quickly gaining worldwide popularity. Downloads rocketed from 200GB average per month in 2001 to 1.3TB in Feb 2005! What is Python all about and what can you do with it? Although initially recognized for building web/CGI applications, Python has become well-known for so much more: it is interpreted, interactive and inherently object-oriented in nature, featuring an easy-to-learn syntax that is clear and consise. It combines the robustness and power of a compiled language with the simplicity, low maintenance, portability and short development time of an interpreted scripting language. Engineers no longer have to concern themselves with memory management, language syntax, or managing complex data types -- you simply just think and code your solution! Python is often compared to Perl, JavaScript, PHP, Tcl/Tk, C/C++, Ruby, and Java, and in many situations, presents a viable and advantageous alternative becase of its ease-of-use, rapid development time, and innate nature of encouraging group collaboration. Python is also available on both Java and .NET platforms: Jython is a Java-compiled Python interpreter which runs anywhere a JVM is available and provides access to Java class libraries, thus giving Java a scripting language development environment! Python classes can interact with Java classes and vice versa, making Jython a powerful took in Java development. The Python implementation for .NET/Mono is called IronPython and will see an official release soone. In addition to Win32, MacOS, and most UNIX-oriented operating systems, you will find Python almost anywhere, even Playstation, GameCube, Zaurus, and Nokia Series 60 phones! There are plenty of standard library as well as 3rd party modules to help you get your job done, and if it still doesn't suit your needs, Python can even be extended (in C/C++, Java, or C#). Python is currently used in Google, Yahoo!, Disney/Go.com, NASA, Industrial Light and Magic, Red Hat, CCP Games (makers of EVE Online), and many research facilities around the globe.

Wesley J. Chun, with degrees in Computer Science, Mathematics, and Music from the University of California, is a full-time Software Engineer at IronPort Systems http://ironport.com, creating applications which run on an e-mail security gateway appliance, and in his spare time, serves as a Principal with over two decades of programming and instructional experience at CyberWeb Consulting http://cyberwebconsulting.com, specializing in software engineering, website design, corporate training, and technical documentation.

Mr. Chun is also a coordinator for the Silicon Valley-San Francisco Bay Area Python users group (BayPIGgies http://baypiggies.net), a volunteer moderator for the Python Tutor mailing list, and the author of "Core Python Programming" http://corepython.com -- the Python book in Prentice Hall's popular Core series (2nd ed. coming Summer 2006) -- as well as various technical articles for Linux Journal and cNet. Previously, he was an engineer at Synarc, Yahoo!, Sun, HP, Rockwell, Legato, and Xilinx. While at Yahoo!, he helped create Yahoo! Mail and Yahoo! People Search using Python.