Python Evangelism 101 or Python Meets The Enterprise Peter Wang - - PowerPoint PPT Presentation

python evangelism 101
SMART_READER_LITE
LIVE PREVIEW

Python Evangelism 101 or Python Meets The Enterprise Peter Wang - - PowerPoint PPT Presentation

Python Evangelism 101 or Python Meets The Enterprise Peter Wang Teaching Languages Readability Ease of use Fits in your head Incremental sense of accomplishment aka gets things done Deployment aka


slide-1
SLIDE 1

Python Evangelism 101

  • r

“Python Meets The Enterprise”

Peter Wang

slide-2
SLIDE 2

Teaching Languages

  • Readability
  • Ease of use
  • “Fits in your head”
  • Incremental sense of accomplishment
  • aka “gets things done”
  • Deployment
  • aka “Lookie what I did!”
slide-3
SLIDE 3

Professional Languages

  • Readability
  • Ease of use
  • “Fits in your head”
  • Gets things done
  • Legacy integration
  • Good libraries
  • “Lookie what I did!”
slide-4
SLIDE 4

Don’t care about...

  • Technical purity
  • e-peen factor
  • (beyond “Lookie what I did”)
slide-5
SLIDE 5

Truths about Programmers

slide-6
SLIDE 6

Truths about Good Programmers

  • Lazy
  • (in a good way!)
  • just want things to work
  • Temperamental tinkerers
  • Obsessed with details
  • (Sometimes)
  • Spoiled kids who just want to have fun
  • And sometimes create Fortune 100

companies

slide-7
SLIDE 7

Fun & Passion

  • Americans are obsessed with “fun”
  • Alias for Passionate Creativity
  • Early adopters tend to be passionate
  • Passion
  • leads to Motivation
  • leads to Productivity
  • (leads to suf-fering?)
slide-8
SLIDE 8

Truths about Software

slide-9
SLIDE 9

Arguable Truths about Software

Software Development is a Craft

slide-10
SLIDE 10

Arguable Truths about Software

Software Development is a Craft

slide-11
SLIDE 11

Observations About Languages

slide-12
SLIDE 12

Completely Controversial Observations about Languages

slide-13
SLIDE 13

Completely Controversial Observations about Languages

slide-14
SLIDE 14

Exercises

  • 1. Draw lines corresponding to expected

effort for each language

  • Difference to reality is the Moxie Gap
  • Directly modulates Motivation
  • 2. Add Lisp to that graph
slide-15
SLIDE 15

One Truth About Python

  • Power scales with the ability of the

programmer

  • Novices can do simple things
  • Really bright people build tools
  • Novices leverage these tools
  • Lone sysadmins <3 perl
  • Mavericks in small workgroups <3 Python
slide-16
SLIDE 16

Python meets the enterprise

slide-17
SLIDE 17

Python meets The Enterprise

slide-18
SLIDE 18

Python meets The Enterprise

slide-19
SLIDE 19

Python meets The Enterprise

  • “Original Sin of Enterprise Software

Development”

  • Programmers are fungible
  • In low-productivity regions, almost true.
  • Not true to really effectively leverage

Python

slide-20
SLIDE 20

Good News

More businesses are using Python.

slide-21
SLIDE 21

Bad News

More businesses are using Python.

slide-22
SLIDE 22

Bad News

More managers are managing Python programmers.

slide-23
SLIDE 23

Bad News

More managers are managing ex-Java programmers writing Python code.

slide-24
SLIDE 24

The Java Question

There exist Java people.

slide-25
SLIDE 25

The Java Question

There exist Java_People.

slide-26
SLIDE 26

The Java Question

There exist

com.sun.stereotypes.offensive.JavaPeople

slide-27
SLIDE 27

The Java Question

How do we foster a Pythonic mindset in people from Bondage & Discipline languages?

slide-28
SLIDE 28

Suggestions

  • Fun
  • Passion
  • Motivation
slide-29
SLIDE 29

Why this talk at SciPy?

  • Scientists program to get things done
  • Early adopters
  • Likely to be Python evangelists within your

groups & organizations

slide-30
SLIDE 30

Things To Do

  • Introduce Python to your friends
  • Make useful tools
  • Be friendly
  • not snarky
  • (like me)
  • Be open
slide-31
SLIDE 31

Things Not To Do

  • Introduce Python to your frenemies
  • Foist Python on the unwilling
  • Vaccinate your group against dynamic

languages

slide-32
SLIDE 32

TL;DR

  • We all enjoy coding in Python.
  • We want to continue coding in Python.
  • We don’t want a wasteland of failed deployments.
  • Leave that to Java.
  • Make useful tools; let those change minds.