Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python 101 For The Net Developer


Published on

Given on Tuesday, June 23, 2009 at the Greater Cleveland PC Users Group C#/VB.NET SIG. A very basic intro to Python given to a .NET crowd with the assumption of little to no Python experience.

Published in: Technology, Education
  • Be the first to comment

Python 101 For The Net Developer

  1. 1. Python 101 for the .NET Developer<br />Sarah Dutkiewicz<br /><br />
  2. 2. What is Python?<br />
  3. 3. What is Python?<br />
  4. 4. What is Python?<br />
  5. 5. What is Python?<br />Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days.<br />- Taken from the official Python site,<br />
  6. 6. Who’s Using Python?<br />Python plays a key role in our production pipeline. Without Python a project the size of Star Wars: Episode II would have been very difficult to pull off. From crowd rendering to batch processing to compositing, Python binds all things together. -- Tommy Burnette<br />
  7. 7. Who’s Using Python?<br />Python has been an important part of Google since the beginning. -- Peter Norvig.<br /><br />Python application servers and Python scripting to create the web UI for BigTable (their database project)<br />
  8. 8. Who’s Using Python?<br />We chose Python because it provides maximum productivity, code that&apos;s clear and easy to maintain, strong and extensive (and growing) libraries, and excellent capabilities for integration with other applications on any platform. -- Steve Waterbury<br />Workflow automation servers<br />
  9. 9. More Python in Action<br />
  10. 10. Features of Python<br /><ul><li>Free and open source
  11. 11. Great first language
  12. 12. Availability (cross-platform)
  13. 13. Interactivity (interpreted language)
  14. 14. Simplicity
  15. 15. Scalable – can play nicely with other languages
  16. 16. GUI support – GUIs typically developed with Tk</li></li></ul><li>Python’s Weaknesses<br /><ul><li> Can be slower than compiled C or C#
  17. 17. Relies on a locking mechanism called the Global Interpreter Lock (GIL) in multi-threading
  18. 18. Implementations in other languages get around – specifically Jython and IronPython</li></li></ul><li>Implementations<br /><ul><li>CPython - implemented in C, the primary implementation
  19. 19. Jython - implemented for the JVM
  20. 20. Pypy - implemented in Python
  21. 21. IronPython - implemented in C#, allows python to use the .NET libraries</li></li></ul><li>What is IronPython?<br />IronPython is the open source .NET implementation of the Python programming language, giving Python programmers the benefits of the .NET libraries while still maintaining compatibility with straight Python.<br />
  22. 22. Modules<br />Databases<br />PyGreSQL (PostGreSQL)<br />MySQLdb (MySQL)<br />cx_Oracle (Oracle)<br />Instant Messaging<br />Pymsn (MSN Messenger)<br />Jabberpy (Jabber)<br />
  23. 23. More Modules<br />PyOpenGL<br />
  24. 24. More Modules<br /> Graphics (gdmodule, VideoCapture, PIL)<br /> Math & Science (scipy, NumPy, numarray, matplotlib)<br /> Hardware<br /> Serial ports (pySerial, USPP)<br /> Parallel port (pyParallel)<br />
  25. 25. Frameworks<br /><ul><li> PyCon (
  26. 26.
  27. 27. (WoW add-ons)
  28. 28. BitTorrent
  29. 29. Reddit
  30. 30. IMDBTube
  31. 31.
  32. 32. IM Feeds</li></li></ul><li>Operating System Requirements<br />
  33. 33. XKCD<br />
  34. 34. Demos<br />
  35. 35. User Groups & Events<br />Cleveland Python Users Group<br />First Monday of the month<br />Past topics include:<br />Ingredients for a Python DSL<br />Dependency Injection Framework<br />Distributed Issue Tracking<br />Screenlets for making Linux desktop widgets<br />Guppy – a memory debugging package<br />
  36. 36. GiveCamp<br />What: A weekend of coding charity projects with other geeks<br />When: July 17-19, 2009<br />Where: Columbus, OH and Ann Arbor, MI<br />More info: http://www.columbusgivecamp.organd<br />
  37. 37. PyOhio<br />What: 2 day conference on Python<br />When: July 25-26, 2009<br />Where: The Ohio State University, Knowlton Hall, Columbus, OH<br />More info: http://pyohio.orgor Follow PyOhio on Twitter as@pyohio<br />
  38. 38. Python Web References<br /> Official Python Site:<br />User Groups & Events<br />Cleveland Python Users Group:<br />PyOhio:<br />PyCon:<br /> Modules<br />50 Modules for All Needs:<br />Frameworks<br />Django:<br />Pylons:<br />
  39. 39. IronPython Web References<br /><ul><li>Official IronPython Site:
  40. 40. IronPython Cookbook:
  41. 41. The Voidspace Techie Blog:
  42. 42. DevHawk’s Blog:
  43. 43. The Mono Project:
  44. 44. FePy and IronPython Community Edition</li></li></ul><li>Python Recommended Reading<br />Python Cookbook by Alex Martelli, Anna Ravenscroft, and David Ascher (ISBN: 978-0596007973)<br />Python Programming for the Absolute Beginner by Michael Dawson (ISBN: 978-1598631128)<br />Core Python Programming by Wesley Chun (ISBN: 978-0132269933)<br />
  45. 45. IronPython Recommended Reading<br />I recommend technical books typically based on their reference value, as I usually get bored within the first few sentences and end up turning them into references rather than reading through them. This book, however, was one that I read cover-to-cover...Overall, I would recommend IronPython in Action for anyone wanting to learn IronPython.<br />– Sarah Dutkiewicz<br />The Coding Geekette <br />(reviewed for Manning Publications)<br /><br />
  46. 46. Contact Information<br />Blog: http://www.codinggeekette.comEmail: sarah@codinggeekette.comTwitter:@sadukie<br />Blog:<br />Email:<br />Twitter: @clevtechevents<br />