What is Python?
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, math/science (look up SciPy & NumPy), 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? <p></p><br> <br/> 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", it's video training course, "Python Fundamentals" LiveLessons DVD, and co-author of "Python Web Development with Django", for those wanting to find out what Python is all about! </p><p></p><br> <br/> We have had great success and feedback giving this seminar over the past decade, such as at the last several CodeCamps and other conferences as well as to academia: </p><p></p> </p><br><br/>http://en.oreilly.com/oscon2009/public/schedule/detail/10214 </p><br><br/>http://www.safaribooksonline.com/events/WhatIsPython.html </p><br><br/>http://cc07.siliconvalley-codecamp.com/Sessions.aspx?OnlyOne=true&id=162 </p><br><br/>http://conferences.oreillynet.com/cs/os2006/view/e_sess/9468 </p><br><br/>http://cs.sfsu.edu/news/pernet/05/10-12-05.html </p><br><br/>http://conferences.oreillynet.com/cs/os2003/view/e_sess/4539 </p><br><br/>http://conferences.oreillynet.com/pub/w/15/bof.html#tuesday </p><br><br/>http://csociety.ecn.purdue.edu/pipermail/plug/2000-August/002739.html </p><p></p><br> <br/> 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! </p>
Python 3: The Next Generation
In addition to my usual CodeCamp talks introducing Python as well as how to program Office applications using Python, I'm testing the waters to see if anyone is interested in hearing about the next generation of the Python language. <br/><br/><p></p><br> Python is currently at a crossroads: Python 2 has taken it from a quiet word-of-mouth language to primetime, with many companies around the world using it and an ever-increasing global marketshare of the programming world. But now comes Python 3, the first version of the language that is not backwards compatible with previous releases. <br/><br/><p></p><br> What does this mean? Are all my Python programs going to break? Will I have to rewrite everything? How much time do I have? When is Python 2 going to be EOL'd? Is the language undergoing a complete rewrite and will I even recognize it? What are the changes between Python 2 and 3 anyway? Are migration plans or transition tools available? If I want to start learning Python, should I do Python 2 or Python 3? Are all Python 2 books obsolete? <br/><br/><p></p><br> We will answer all of these questions and more. Join us! For those who want to read ahead, check out this online article: "Python 3: The Evolution of a Programming Language" which can be found at: <br/><br/><p></p><br> http://www.informit.com/articles/article.aspx?p=1328795 <br/><br/><p></p><br> We recently delivered this talk to the ACCU USA chapter; slides available here:<br/><br/></p><br> http://accu.org/index.php/accu_branches/accu_usa/past <br/><br/><p></p><br> If you are new to Python, be sure to also attend our "What is Python?" talk, also being given at CodeCamp this year again.
Programming Microsoft Office using Python
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.) </p><p></p><br> <br/> 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++. </p><p></p><br> <br/> This lecture is designed for both COM developers who want to learn how they can apply Python in their world and also for Python programmers 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.) </p><p></p><br> <br/> 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 delivered this talk at PyCon 2008, and Silicon Valley CodeCamps over the past 3 years: </p><p></p><br> </p><br>http://cc07.siliconvalley-codecamp.com/Sessions.aspx?OnlyOne=true&id=141 </p><br><br/>http://cc06.siliconvalley-codecamp.com/Sessions.aspx?OnlyOne=true&id=30 </p><br><br/>http://us.pycon.org/2008/conference/talks/?search=microsoft+office </p><p></p><br> <br/> If you are new to Python, be sure to also attend our "What is Python?" talk, also being given at CodeCamp this year again. </p>
- Not Interested