Welcome to Python

21
http://anu.python.social.org.au Welcome! Python Friendly, Candid and Subjective Presentation for People Who Haven’t Really Heard of it Before

description

Elena's friendly, candid and subjective introduction to python for people who haven’t really heard of it before.

Transcript of Welcome to Python

Page 1: Welcome to Python

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

Welcome!

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

Page 2: Welcome to Python

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

Who am I?

Elena WilliamsMaster ITS student

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

Python/PyLadies

twitter/@elequ

I’m not really particularly special or official :)

Page 3: Welcome to Python

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

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!

Why?

Page 4: Welcome to Python

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

What Is Python?python.orgPython, 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.

wikipediaPython 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!

Page 5: Welcome to Python

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

Background

C

Page 6: Welcome to Python

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

Background

Java

Page 7: Welcome to Python

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

BackgroundBackground

Python

Page 8: Welcome to Python

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

Guido Van Rossumlate 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

Background: BDFL

Page 9: Welcome to Python

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

Background: Zen>> import this

Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. 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!

“... doesn’t matter what design philosophy a programming language has, so long as it has one that everyone can follow”

Page 10: Welcome to Python

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

Disney, Pixar, Dreamworks, Weta DigitalLucas: Lucasfilms, ILM, LucasArtsVMware, Broadcom, QNXEvite, Eventbrite, Justin.tvYelp, TripIt, Zillow, NetflixRed Hat, Ubutnut/Canonical, OLPCNASA, NOAA (NWS), NSA

Most major organisations that have a number programmers and problems to solve.Big list of names +many many more:

Who Uses It Professionally?

Page 11: Welcome to Python

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

Who Else Uses It?

Most Python users are self-taught. No one can be embarrassed.

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.

Computer ScienceScienceEngineeringJournalismPhilosophy...(accounting)

Page 12: Welcome to Python

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

Uses of Python

do things

Page 13: Welcome to Python

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

Uses of Python

do things

Page 14: Welcome to Python

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

Uses of Python

do things

Page 15: Welcome to Python

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

Uses of Python

do things make things

Page 16: Welcome to Python

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

hardware networking

domain logicanalysis

Uses of Python

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.

Page 17: Welcome to Python

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

Map sparse galaxies

Analyse weather systems

Control underwater robots

Damaged music scores from the 19thC

Emergency services

Real Life Helpful Uses of Python

Page 18: Welcome to Python

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

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

quick easy programs!

... anyone?

Real Life Helpful Uses of Python

Page 19: Welcome to Python

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+

Page 20: Welcome to Python

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).

Page 21: Welcome to Python

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

Questions?

Thank you! Come again any time!

Contact me If you have any questions about: ~ Django ~ production Python websites ~ PyLadies ~ Kitesurfing ~ subdomain on social.org.au