Welcome!




Python
Friendly, Candid and Subjective Presentation for
People Who Haven’t Really Heard of it Before

                           http://anu.python.social.org.au
Who am I?
Elena Williams
Master ITS student


Make websites (since 2001)
Python (since 2008)
(Django)
Kitesurfing

Python/PyLadies




twitter/@elequ


I’m not really particularly special or official :)




                                       http://anu.python.social.org.au
Why?

No existing python group
in Canberra
(that I could find)

Proven:
~ learn faster
~ better work is done with
other people

Make cool stuff!
Share the love working
on cool projects!

                http://anu.python.social.org.au
What Is Python?
python.org
Python, an interpreted, interactive, object-oriented, extensible programming
language.

Python runs on Windows, Linux/Unix, Mac OS X, and has been ported to the
Java and .NET virtual machines.

wikipedia
Python is a general-purpose, high-level programming language whose design
philosophy emphasizes code readability.

Python claims to “[combine] remarkable power with very clear syntax”, and its
standard library is large and comprehensive.

Its use of indentation for block delimiters is unique among popular
programming languages.

                                Open Source!

                       http://anu.python.social.org.au
Background
C




    http://anu.python.social.org.au
Background
Java




       http://anu.python.social.org.au
Background
Python




         http://anu.python.social.org.au
Background: BDFL

Guido Van Rossum
late 80s in Netherlands


BDFL
(Benevolent Dictator for Life)


http://mar.gy/UvET
•Avoid platform ties, but not religiously
•Don’t bother the user with details
•Discourage but allow coding to the platform
•Offer multiple levels of extensibility
•Errors should not be fatal, if possible
•Errors should never pass silently
•Don’t blame the user for bugs in Python

                        http://anu.python.social.org.au
Background: Zen
>> import this                                                 “... doesn’t matter what
                                                               design philosophy a
  Beautiful is better than ugly.                               programming language
  Explicit is better than implicit.                            has, so long as it has one
  Simple is better than complex.                               that everyone can follow”
  Complex is better than complicated.
  Flat is better than nested.
  Sparse is better than dense.
  Readability counts.
  Special cases aren't special enough to break the rules.
  Although practicality beats purity.
  Errors should never pass silently.
  Unless explicitly silenced.
  In the face of ambiguity, refuse the temptation to guess.
  There should be one -- and preferably only one --obvious way to do it.
  Although that way may not be obvious at first unless you're Dutch.
  Now is better than never.
  Although never is often better than *right* now.
  If the implementation is hard to explain, it's a bad idea.
  If the implementation is easy to explain, it may be a good idea.
  Namespaces are one honking great idea -- let's do more of those!


                          http://anu.python.social.org.au
Who Uses It Professionally?
Most major organisations that have a number programmers and
problems to solve.
Big list of names +many many more:

  Disney, Pixar, Dreamworks, Weta Digital
  Lucas: Lucasfilms, ILM, LucasArts
  VMware, Broadcom, QNX
  Evite, Eventbrite, Justin.tv
  Yelp, TripIt, Zillow, Netflix
  Red Hat, Ubutnut/Canonical, OLPC
  NASA, NOAA (NWS), NSA




                         http://anu.python.social.org.au
Who Else Uses It?
Most Python users are self-taught.              No one can be embarrassed.

           Computer Science
           Science
           Engineering
           Journalism
           Philosophy
           ...
           (accounting)
MIT first undergraduate course is now Python.

Popular with start-ups because you can develop fast. Get your product to market first.

A word on anti-marketing: a lot more people and projects have used python than anyone
will ever know! Python folk prefer to use their energy coding than marketing themselves.


                           http://anu.python.social.org.au
Uses of Python
    do things




http://anu.python.social.org.au
Uses of Python
    do things




http://anu.python.social.org.au
Uses of Python
    do things




http://anu.python.social.org.au
Uses of Python
    do things       make things




http://anu.python.social.org.au
Uses of Python
 hardware                          networking

 Arduino board using python to
 send gmail to a display.




 Laser physics: cover of Nature
 -- this experiement run using
 python.

 Quantum physics: graphically
 analysing Bose-Einstein
 Condensation using python.

 analysis                         domain logic


http://anu.python.social.org.au
Real Life Helpful Uses of Python

Map sparse galaxies
Analyse weather systems
Control underwater robots
Damaged music scores
from the 19thC
Emergency services



             http://anu.python.social.org.au
Real Life Helpful Uses of Python


-   great calculator
-   scraping internet
-   any file processing
-   any repetitive task

quick easy programs!

... anyone?

                http://anu.python.social.org.au
Real Life Helpful Uses of Python

$$$
IT Salaries are up
Python is 4th top growing skill in past 3 months
Average starting Python programmer salary
USD70k+




               http://anu.python.social.org.au
Python Love

Community!
Open and welcoming!
New or refugees, we’re very friendly!
Know our flaws, happy to talk about them.
Conferences/hackathons/sprints are
friendly, welcoming and supportive.

Record numbers of presenters/trainers saying “I love python”
(hoping to make a mash-up video of this one day).
                    http://anu.python.social.org.au
Questions?                             Contact me If you have any
                                       questions about:
                                        ~ Django
                                        ~ production Python websites
Thank you!                              ~ PyLadies
                                        ~ Kitesurfing
Come again any time!                    ~ subdomain on social.org.au

            http://anu.python.social.org.au

Welcome to Python

  • 1.
    Welcome! Python Friendly, Candid andSubjective Presentation for People Who Haven’t Really Heard of it Before http://anu.python.social.org.au
  • 2.
    Who am I? ElenaWilliams Master ITS student Make websites (since 2001) Python (since 2008) (Django) Kitesurfing Python/PyLadies twitter/@elequ I’m not really particularly special or official :) http://anu.python.social.org.au
  • 3.
    Why? No existing pythongroup in Canberra (that I could find) Proven: ~ learn faster ~ better work is done with other people Make cool stuff! Share the love working on cool projects! http://anu.python.social.org.au
  • 4.
    What Is Python? python.org Python,an interpreted, interactive, object-oriented, extensible programming language. Python runs on Windows, Linux/Unix, Mac OS X, and has been ported to the Java and .NET virtual machines. wikipedia Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to “[combine] remarkable power with very clear syntax”, and its standard library is large and comprehensive. Its use of indentation for block delimiters is unique among popular programming languages. Open Source! http://anu.python.social.org.au
  • 5.
    Background C http://anu.python.social.org.au
  • 6.
    Background Java http://anu.python.social.org.au
  • 7.
    Background Python http://anu.python.social.org.au
  • 8.
    Background: BDFL Guido VanRossum late 80s in Netherlands BDFL (Benevolent Dictator for Life) http://mar.gy/UvET •Avoid platform ties, but not religiously •Don’t bother the user with details •Discourage but allow coding to the platform •Offer multiple levels of extensibility •Errors should not be fatal, if possible •Errors should never pass silently •Don’t blame the user for bugs in Python http://anu.python.social.org.au
  • 9.
    Background: Zen >> importthis “... doesn’t matter what design philosophy a Beautiful is better than ugly. programming language Explicit is better than implicit. has, so long as it has one Simple is better than complex. that everyone can follow” Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one -- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! http://anu.python.social.org.au
  • 10.
    Who Uses ItProfessionally? Most major organisations that have a number programmers and problems to solve. Big list of names +many many more: Disney, Pixar, Dreamworks, Weta Digital Lucas: Lucasfilms, ILM, LucasArts VMware, Broadcom, QNX Evite, Eventbrite, Justin.tv Yelp, TripIt, Zillow, Netflix Red Hat, Ubutnut/Canonical, OLPC NASA, NOAA (NWS), NSA http://anu.python.social.org.au
  • 11.
    Who Else UsesIt? Most Python users are self-taught. No one can be embarrassed. Computer Science Science Engineering Journalism Philosophy ... (accounting) MIT first undergraduate course is now Python. Popular with start-ups because you can develop fast. Get your product to market first. A word on anti-marketing: a lot more people and projects have used python than anyone will ever know! Python folk prefer to use their energy coding than marketing themselves. http://anu.python.social.org.au
  • 12.
    Uses of Python do things http://anu.python.social.org.au
  • 13.
    Uses of Python do things http://anu.python.social.org.au
  • 14.
    Uses of Python do things http://anu.python.social.org.au
  • 15.
    Uses of Python do things make things http://anu.python.social.org.au
  • 16.
    Uses of Python hardware networking Arduino board using python to send gmail to a display. Laser physics: cover of Nature -- this experiement run using python. Quantum physics: graphically analysing Bose-Einstein Condensation using python. analysis domain logic http://anu.python.social.org.au
  • 17.
    Real Life HelpfulUses of Python Map sparse galaxies Analyse weather systems Control underwater robots Damaged music scores from the 19thC Emergency services http://anu.python.social.org.au
  • 18.
    Real Life HelpfulUses of Python - great calculator - scraping internet - any file processing - any repetitive task quick easy programs! ... anyone? http://anu.python.social.org.au
  • 19.
    Real Life HelpfulUses of Python $$$ IT Salaries are up Python is 4th top growing skill in past 3 months Average starting Python programmer salary USD70k+ http://anu.python.social.org.au
  • 20.
    Python Love Community! Open andwelcoming! New or refugees, we’re very friendly! Know our flaws, happy to talk about them. Conferences/hackathons/sprints are friendly, welcoming and supportive. Record numbers of presenters/trainers saying “I love python” (hoping to make a mash-up video of this one day). http://anu.python.social.org.au
  • 21.
    Questions? Contact me If you have any questions about: ~ Django ~ production Python websites Thank you! ~ PyLadies ~ Kitesurfing Come again any time! ~ subdomain on social.org.au http://anu.python.social.org.au