+WESLEY CHUN, MSCS, is the author of Prentice Hall's bestselling "Core Python" book series & companion videos (corepython.com), co-author of "Python Web Development with Django" (withdjango.com), and has written for Linux Journal, CNET, and InformIT. In addition to being an engineer & Developer Advocate at Google, he runs CyberWeb (cyberwebconsulting.com), a consultancy specializing in Python training. Wesley has over 25 years of programming, teaching, and writing experience, including helping create Yahoo!Mail using Python almost 2 decades ago. He has taught numerous Python courses at Cisco, Disney, VMware, UC Santa Barbara, UC Santa Cruz, & Foothill College. Wesley holds degrees in CS, Math, and Music from the University of California, and loves traveling worldwide to meet developers, whether at a technical conference, user group meeting, or on a university campus. He is a Fellow of the Python Software Foundation and can be reached on Google+ or Twitter (@wescpy).
Like it or not, we live in a world where we will interact with Win32 systems. It may be intermittent or something we have to deal with it on a daily basis, but regardless of how much exposure we face, the power of Python can be used to make our lives easier. In this session, we will explore Win32 COM Client programming using Python to control and communicate with Office applications such as Word, Excel, PowerPoint, and Outlook. COM is a service which allows Win32 applications to interact with each other. (Specifically, well-known applications such as those in Microsoft Office provide COM services, and COM client programs can be written to drive these applications.)
Traditionally, COM clients are written in VB or (Visual) C++, two very powerful but very different tools. If you haven't already heard, Python is a systems application development language that is gaining popularity in a huge way. It is object-oriented, robust, agile, and easy-to-learn. It's as simple as VB but can do everything that C/C++, Java, Perl, PHP, and Ruby can do... and more. For COM programming, Python is often viewed as a great substitute as it is more powerful than VB and is more expressive and less time-consuming than developing in C++.
This lecture is designed for both: (1) COM developers who want to learn how they can apply Python in their world and also for (2) open source and/or existing Python developers who need to learn how to create COM clients, i.e., auto-generate Excel spreadsheets, create form letters as Word documents, make slide presentations automagically with PowerPoint, send e-mail via Outlook, etc. (We will not be discussing the principles/concepts of COM nor will we be learning about COM+, VSTO, ATL, IDL, MFC, DCOM, ADO, .NET, IronPython, etc.)
Instead, we will immerse you in COM client programming by learning how to use Python to communicate with some of the Office applications mentioned above. All of the examples used in lecture can be found in Prentice Hall's bestseller, "Core Python Programming" (2nd ed). We have delivered this talk at PyCon 2008 as well as the most recent Silicon Valley CodeCamps:
If you are new to Python, be sure to also attend our "What is Python?" talk, also being given at CodeCamp this year again.
Python is an agile object-oriented programming language that is continuing to build momentum... popular with Win32 programmers because of its ease of creating COM clients plus IronPython for the .NET world, Jython for Java developers, and always popular with the LAMP and Linux/*BSD/Solaris/MacOS X crowd for applications and web development -- especially for Python's frameworks that compete with Rails: Django (including Google App Engine), TurboGears, Pylons, Zope and Plone (all RIA platforms), plus Trac and Mailman, the wiki+issue-tracker and popular mailing list manager, respectively. Web developers know about JSON already, but did you know that it maps nearly identically to Python's dictionary/hash type? Of course Python can do XML/ReST/XSLT, multithreading, SQL/databases, GUIs, hardcore math/science, Internet client/server systems and networking (heard of Twisted?), GIS/ESRI, QA/test, automation frameworks, plus system administration tasks too! Python can also be found at the heart of the OLPC. If Python doesn't do what you want, you can extend it in C/C++, Java, or C# (and even VB.NET)! Have you noticed the huge growth in the number of jobs on Monster and Dice that list Python as a desired skill?
Python can do everything Java, C/C++/C#, Ruby, PHP, and Perl can do, but it's much easier and more fun! You can code as fast as you think! Because of Python's simple yet robust syntax, it's a great tool to teach programming (heard of Alice before?) with as well as a solid (first) language to learn for non-programmers and other technical staff. Come find out why Google, Yahoo!, Disney, Cisco, YouTube, BitTorrent, LucasFilm/ILM, NASA, Ubuntu, Slide, and Red Hat all use Python! This seminar is designed by Wesley Chun, software engineer, technical trainer, and author of Prentice-Hall's bestseller "Core Python Programming" (and co-author of the forthcoming "Python Web Development with Django" and "Python Fundamentals" LiveLessons DVD video course), for those wanting to find out what Python is all about!
We have had great success and feedback giving this seminar in the past, such as at other conferences as well as to academia:
If you want to learn about how to use Python to control Office applications, be sure to attend our "Programming Microsoft Office with Python" talk, also being given at CodeCamp this year again.