Python 101 for the .NET DeveloperSarah Dutkiewiczhttp://www.clevelanddotnet.info
What is Python?
What is Python?
What is Python?
What is Python?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.- Taken from the official Python site, python.org
Who’s Using Python?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
Who’s Using Python?Python has been an important part of Google since the beginning. -- Peter Norvig.http://code.google.com/appengine/Python application servers and Python scripting to create the web UI for BigTable (their database project)
Who’s Using Python?We chose Python because it provides maximum productivity, code that's clear and easy to maintain, strong and extensive (and growing) libraries, and excellent capabilities for integration with other applications on any platform. -- Steve WaterburyWorkflow automation servers
More Python in Action
Features of PythonFree and open source
 Great first language
Availability (cross-platform)
Interactivity (interpreted language)
Simplicity
Scalable – can play nicely with other languages
GUI support – GUIs typically developed with TkPython’s Weaknesses Can be slower than compiled C or C#
 Relies on a locking mechanism called the Global Interpreter Lock (GIL) in multi-threading
Implementations in other languages get around – specifically Jython and IronPythonImplementationsCPython - implemented in C, the primary implementation
Jython - implemented for the JVM
Pypy - implemented in Python
IronPython - implemented in C#, allows python to use the .NET librariesWhat is IronPython?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.
ModulesDatabasesPyGreSQL (PostGreSQL)MySQLdb (MySQL)cx_Oracle (Oracle)Instant MessagingPymsn (MSN Messenger)Jabberpy (Jabber)
More ModulesPyOpenGL
More Modules Graphics (gdmodule, VideoCapture, PIL) Math & Science (scipy, NumPy, numarray, matplotlib) Hardware Serial ports (pySerial, USPP) Parallel port (pyParallel)
Frameworks PyCon (http://www.pycon.org)
 SuggestionBox.com
 Curse.com (WoW add-ons)
 BitTorrent

Python 101 For The Net Developer

  • 1.
    Python 101 forthe .NET DeveloperSarah Dutkiewiczhttp://www.clevelanddotnet.info
  • 2.
  • 3.
  • 4.
  • 5.
    What is Python?Pythonis 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.- Taken from the official Python site, python.org
  • 6.
    Who’s Using Python?Pythonplays 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
  • 7.
    Who’s Using Python?Pythonhas been an important part of Google since the beginning. -- Peter Norvig.http://code.google.com/appengine/Python application servers and Python scripting to create the web UI for BigTable (their database project)
  • 8.
    Who’s Using Python?Wechose Python because it provides maximum productivity, code that's clear and easy to maintain, strong and extensive (and growing) libraries, and excellent capabilities for integration with other applications on any platform. -- Steve WaterburyWorkflow automation servers
  • 9.
  • 10.
    Features of PythonFreeand open source
  • 11.
    Great firstlanguage
  • 12.
  • 13.
  • 14.
  • 15.
    Scalable – canplay nicely with other languages
  • 16.
    GUI support –GUIs typically developed with TkPython’s Weaknesses Can be slower than compiled C or C#
  • 17.
    Relies ona locking mechanism called the Global Interpreter Lock (GIL) in multi-threading
  • 18.
    Implementations in otherlanguages get around – specifically Jython and IronPythonImplementationsCPython - implemented in C, the primary implementation
  • 19.
  • 20.
  • 21.
    IronPython - implementedin C#, allows python to use the .NET librariesWhat is IronPython?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.
  • 22.
    ModulesDatabasesPyGreSQL (PostGreSQL)MySQLdb (MySQL)cx_Oracle(Oracle)Instant MessagingPymsn (MSN Messenger)Jabberpy (Jabber)
  • 23.
  • 24.
    More Modules Graphics(gdmodule, VideoCapture, PIL) Math & Science (scipy, NumPy, numarray, matplotlib) Hardware Serial ports (pySerial, USPP) Parallel port (pyParallel)
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
    IM FeedsOperatingSystem Requirements
  • 33.
  • 34.
  • 35.
    User Groups &EventsCleveland Python Users GroupFirst Monday of the monthPast topics include:Ingredients for a Python DSLDependency Injection FrameworkDistributed Issue TrackingScreenlets for making Linux desktop widgetsGuppy – a memory debugging package
  • 36.
    GiveCampWhat: A weekendof coding charity projects with other geeksWhen: July 17-19, 2009Where: Columbus, OH and Ann Arbor, MIMore info: http://www.columbusgivecamp.organd http://www.michigangivecamp.com/AnnArbor
  • 37.
    PyOhioWhat: 2 dayconference on PythonWhen: July 25-26, 2009Where: The Ohio State University, Knowlton Hall, Columbus, OHMore info: http://pyohio.orgor Follow PyOhio on Twitter as@pyohio
  • 38.
    Python Web ReferencesOfficial Python Site: http://www.python.org/User Groups & EventsCleveland Python Users Group: http://clepy.googlegroups.comPyOhio: http://www.pyohio.orgPyCon:http://www.pycon.org Modules50 Modules for All Needs: http://www.catswhocode.com/blog/featured/python-50-modules-for-all-needs-10FrameworksDjango:http://www.djangoproject.com/Pylons:http://pylonshq.com/
  • 39.
    IronPython Web ReferencesOfficialIronPython Site: http://www.codeplex.com/ironpython
  • 40.
  • 41.
    The Voidspace TechieBlog: http://www.voidspace.org.uk/python/weblog/
  • 42.
  • 43.
    The Mono Project:http://mono-project.com
  • 44.
    FePy and IronPythonCommunity Edition http://fepy.sourceforge.netPython Recommended ReadingPython Cookbook by Alex Martelli, Anna Ravenscroft, and David Ascher (ISBN: 978-0596007973)Python Programming for the Absolute Beginner by Michael Dawson (ISBN: 978-1598631128)Core Python Programming by Wesley Chun (ISBN: 978-0132269933)
  • 45.
    IronPython Recommended ReadingIrecommend 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.– Sarah DutkiewiczThe Coding Geekette (reviewed for Manning Publications)http://www.ironpythoninaction.com
  • 46.
    Contact InformationBlog: http://www.codinggeekette.comEmail:sarah@codinggeekette.comTwitter:@sadukieBlog: http://www.clevelandtechevents.comEmail: admin@clevelandtechevents.comTwitter: @clevtechevents

Editor's Notes

  • #3 Used under the Creative Commons license. Taken from http://www.flickr.com/photos/krayker/2127435092/
  • #4 Used under the Creative Commons license. Taken from http://www.flickr.com/photos/lady-madonna/534748896/
  • #5 Picture used under the Creative Commons license. Taken from http://www.flickr.com/photos/ptshello/2312382235/
  • #6 The Python logo is a trademark of the Python Software Foundation.
  • #10 http://www.python.org/about/quotes/
  • #14 Paraphrasing the description as listed on CodePlex -> http://www.codeplex.com/ironpython; current version is IronPython 2.0.1 as of 2/13/2009
  • #20 http://www.xkcd.com/353 - Python
  • #23 I will be speaking onIronPython in two talks – one to show off apps and its awesomeness and one to show how it works cross-platform through FePy.Special thanks to Martin Hebrank of the Northeast Ohio Open Source Society (http://www.nooss.org) for bringing this to my attention.
  • #24 Official base language siteOfficial project siteAwesome example siteFellow IronPython presenter’s websiteLocal references
  • #26 Just a few things about me…Running jokeTwitter – how many familiar? How many not following me? They should be after this presentation!Email and blogYes, I truly am a geek – I got the engineering degree to prove it!