Talk for the startup of the official local Python Community, "Python Bari".
The talk is composed of three sections:
- Python meetup format
- Python history, today, and the future
- Useful best practices and resources
3. FORMAT
• (Up to) 90 minutes talk(s), or multiple
• Q&A, networking and/or buffet (if sponsored)
4. PROPOSAL
• “Call for proposal” (CFP) phase: Propose a talk in the
Facebook group of the community
• Voting phase: CFP closed, the community votes
• The winner will prepare and present the talk
7. VOLUNTEERS
• Join us, we need your help!
• Contact the Fb page!
• No experience needed – All experiences needed
• https://www.facebook.com/pythonbari
10. Guido van Rossum
Creator of Python
• Born 1956, 31 January in Netherlands
• 1982: Master's degree in mathematics and
computer science, University of Amsterdam
• Needed a programming language in
between Shell Script and C for Amoeba
distributed Operating System
• Python created on top of ABC’s best
features - Christmas project
• Python: 1989
• Java, JavaScript, PHP, Ruby: 1995
11. “Why is Python popular, while Lisp and Scheme aren't?”
• “No other language is more
successful in vanishing behind
the problem.”
• “Python is the second best
programming language in the
world. But the best has yet to be
invented”
Source: https://mail.python.org/pipermail/python-list/2002-November/141486.html
12. COMMUNICATION TOOL
• “In reality, programming languages are
how programmers express and
communicate ideas – and the audience
for those ideas is other programmers, not
computers.”
• “The computer can take care of itself, but
programmers are always working with
other programmers, and poorly
communicated ideas can cause
expensive flops.”
• “Ideas expresses in a programming
language also often reach the end users
of the program”
• Link:
https://www.youtube.com/watch?v=YgtL4S7Hrwo
13. “Organizations which design
systems... are constrained to
produce designs which are copies
of the communication structures of
these organizations.
— M. Conway
14. ISN’T PYTHON AGILE?
• “Collaborative effort of self-
organizing and cross-
functional teams and their
customer(s)/end user(s).”
• Scripting, Data, Web, … in
one language!
• “Rapid and flexible response
to change.”
• Totally open!
15. “Now that PEP 572 is done, I don't ever want to have to fight so
hard for a PEP and find that so many people despise my
decisions.
I would like to remove myself entirely from the decision
process. I’ll still be there for a while as an ordinary core dev,
and I'll still be available to mentor people -- possibly more
available. But I'm basically giving myself a permanent vacation
from being BDFL, and you all will be on
your own.
Source: https://mail.python.org/pipermail/python-committers/2018-July/005664.html
Interview: https://www.youtube.com/watch?v=qxMcGDnT8uc
21. Project
D o n ’ t s t a r t f r o m s c r a t c h , l e a r n f r o m t h e
b e s t
22. The Twelve-Factor App
• Created by people working on “Heroku”
platform
• (Not) only for Software-As-A-Service web
applications
• Methodology and Principles useful for
systemic problems
• Inspirations: “Patterns of Enterprise” and
“Application Architecture e Refactoring”
by Martin Fowler
23. Dependencies
P y t h o n P a c k a g e s a n d P a c k a g e M a n a g e r s
24. Never use packages without a
requirements file!
• Never publish or share a
project without requirements
• Environment must be
transparent
• Environment must be
reproducible
• No one will be able to run it!
• List the requirements needed
for the project
• Fix and freeze the exact
version of each requirement
25. PIP
• Default and standard package manager
(after easy_install)
• No automatic dependencies and lock files
• Convention: requirements.txt for both cases
• Link: https://pip.pypa.io/en/stable/
• Support packages:
• Pip-tools: https://github.com/jazzband/pip-
tools
• Pipdeptree:
https://github.com/naiquevin/pipdeptree