SlideShare a Scribd company logo
Introduction to Python & Django




       Udi h Bauman, Tikal Knowledge
Personal background

1994 -        2002 -


1997 -        2004 -


1999 -        2005 -
Also in 2004
●   Didn't listen to smart people :(
        –   Chief architect of a large innovative
             company told me to dump Java & switch
             to Python
                ●   Citing Paul Graham saying that Java is a
                     dead leaf in the evolutionary tree of
                     programming languages
2006 -                              &


●   Smiling ever since
●   “People who've made the switch to
    dynamic languages such as Python seem
    much, much happier.”
                  –   Bruce Eckel, Author of “Thinking in Java” &
                        “Thinking in Python”
Python, WTF?
●   Isn't this some scripting language for
    system administrators & the like?


                    What does it have to do with us –
                    serious Java & .Net programmers???
Python, WTF?
●   Python is a modern programming
    language.
       –   Pure OOP (Object Oriented Programming)
       –   Pure AOP (Aspect Oriented Programming)
       –   Pure FP (Functional Programming)
Python, WTF?
●   Some companies & organization attract the
    best programmers in the world
●   E.g.
Python, WTF?
●   Turns out that the programming language
    of choice in most of these places is Python
●   E.g.
Quotes
●   “Python has been an important part of
    Google since the beginning, and remains
    so as the system grows and evolves”
       –   Peter Norvig, Director of Research, Google
Quotes
●   “Python is fast enough for our site and
    allows us to produce maintainable features
    in record times, with a minimum of
    developers”
       –   Cuong Do, Engineering Manager, YouTube
            (Watch the video: http://bit.ly/youtube_scalability)
The reason, IMHO
●   Python offers the optimal combination of
    Power & Simplicity
       –   perfect for coding Business Logic
       –   perfect for any software at any size &
            complexity
Python demo
●   Arithmetic's &       ●   Functions
    Strings              ●   Doctest
●   Introspection        ●   Classes
●   Formatting           ●   List comprehension
●   Lists, Tuples &      ●   I/O
    Dictionaries
●   Blocks, If & loops
Demo screenshots
Demo screenshots
Python libraries
●   Real wealth of libraries
●   The Python Package Index (PyPi) lists
    7.7K
●   Cover almost any functionality & need
●   Very easy to install
●   Very intuitive
        –   Work just as you expect them to work
Python summary
●   Python has many advantages, but the
    bottom line is:
       –   Happy management
       –   Happy staff
       –   Happy customers


               ●   Don't take my word – Google what people
                    say about their experience with Python &
                    tell me if you find any counter-example
Python summary
●   What's in it for us?
        –   Need implement a new complex system or
             service?
        –   Prototype it in Python
        –   Then realize that it's ready for usage
Introduction to Django
●   Leading Python Web Framework
●   Good for any service, no just Web apps
Django slogan
●   The Web framework for Perfectionists
    with deadlines
Perfectionists?
●   Emphasizing clean MVC design
●   Django apps are reusable by design
●   Based on Best-Practices
●   Extremely easy to unit-test
Deadlines?
●   Growned in the Online Newspapers
    industry
       –   Designed to make development fast
               ●   E.g., automatic admin interface
●   Automates repetitive tasks
●   Leading technology in new US Startups,
    according to recent polls
Quotes
●   “After an extensive trade study, we selected
    Django as the first and primary application
    environment for the Nebula Cloud. ”
                  –   NASA,
                       http://nebula.nasa.gov/services/framework
Model & basis of
Main features
●   ORM               ●   Reusable apps
●   Admin             ●   Unit testing
●   URL's design      ●   Middleware
●   Auth              ●   Caching
●   Template engine   ●   I18N
●   Integrated GIS
Comparison with Java stacks
Lots of reusable apps
●   Hundreds of pluggable apps exist, for
    almost any purpose
●   Very easy to plug into your project
        –   Adds complete functionality, integrated with
             your application
How do you develop/run?
●   I use the Eclipse-based Aptana IDE
●   I run Django on LAMP (Linux, Apache,
    MySQL/Postgres, Python) or AppEngine
       –   You can also deploy Django as .war on any
            Java Application Server
Django demo
●   Let's write a small Django app for project
    management
        –   Manage projects & tasks
        –   Manage users & roles
        –   Rich UI (search, filters, recent actions list)
        –   Project health indicators
        –   Tasks focus chart
Demo screenshots
Demo screenshots
Demo screenshots
Demo screenshots
Java/.Net vs. Django
●   Think how much code it would take in Java
    or .Net
       –   Common
       –   BI
       –   DAL
       –   Basic
       –   Logic
       –   API
Java/.Net vs. Django
●   Damn, Django does the same thing without
    all the complexity & verbosity
●   How much time & cognitive effort it takes to
    learn, understand & modify it?
Django summary
●   What's in it for us?
        –   Nothing
                ●   you can afford developing systems using
                     10 developers for several weeks
                ●   instead of 1-2 developers for several
                      days :)
Django summary
●   Seriously:
        –   Need implement a new system?
        –   Prototype it in Django in a few hours
        –   Then realize that it's ready for production

More Related Content

PPTX
Reactive declarative UI as code - DroidCon Vietnam 2019
PDF
Before you graduate. Things to learn for every computer science student
PDF
Always be testing
PDF
Integrating react in django while staying sane and happy
PDF
GDG Passo fundo - Apps with unit tests (Karma + jasmine + angular)
PPTX
Creating a reasonable project boilerplate
PDF
Why Python In Entertainment Industry?
PDF
CI/CD: Lessons from LinkedIn and Mockito
Reactive declarative UI as code - DroidCon Vietnam 2019
Before you graduate. Things to learn for every computer science student
Always be testing
Integrating react in django while staying sane and happy
GDG Passo fundo - Apps with unit tests (Karma + jasmine + angular)
Creating a reasonable project boilerplate
Why Python In Entertainment Industry?
CI/CD: Lessons from LinkedIn and Mockito

What's hot (20)

KEY
Web and Native in 2012
PPTX
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
PDF
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
PDF
平行化你的工作 part1
PDF
Android smarter with TensorFlow
PDF
GoLang Introduction
PDF
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
PDF
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
PDF
Golang taipei #45 10th birthday
PDF
Microservices, the lean way
PDF
Improving the developer experience on OpenShift - devconf-india-18
PPTX
Introduction to GoLang
PDF
Nightmapper's presentation
PDF
Going to library with angular
PDF
VN Tech Seminor Vol.3 Hubot Tutorial
PDF
Beyond QA
PDF
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
PDF
Code analysis for a better future
Web and Native in 2012
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
平行化你的工作 part1
Android smarter with TensorFlow
GoLang Introduction
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
Golang taipei #45 10th birthday
Microservices, the lean way
Improving the developer experience on OpenShift - devconf-india-18
Introduction to GoLang
Nightmapper's presentation
Going to library with angular
VN Tech Seminor Vol.3 Hubot Tutorial
Beyond QA
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
Code analysis for a better future
Ad

Similar to Python Django Intro V0.1 (20)

PDF
Django Article V0
PDF
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
PDF
A complete guide to Python app development.pdf
PDF
Why Django
PPTX
Python Django Basics
PPT
Django Python(2)
PDF
Ways To Become A Good Python Developer
PPTX
Python programming
PDF
Introduction to Django Course For Newbie - Advance
PDF
Python quick guide1
PDF
Python & Django
PDF
Introducing Django
KEY
Ladypy 01
PDF
0506-django-web-framework-for-python.pdf
KEY
WTF is Python
PDF
Why Django is The Go-To Framework For Python.pdf
KEY
PHP to Python with No Regrets
PDF
Django Javascript Integration Ajax And Jquery Jonathan Hayward
PPTX
python full stack course in madhapur, hyderabad
PDF
PyData Texas 2015 Keynote
Django Article V0
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
A complete guide to Python app development.pdf
Why Django
Python Django Basics
Django Python(2)
Ways To Become A Good Python Developer
Python programming
Introduction to Django Course For Newbie - Advance
Python quick guide1
Python & Django
Introducing Django
Ladypy 01
0506-django-web-framework-for-python.pdf
WTF is Python
Why Django is The Go-To Framework For Python.pdf
PHP to Python with No Regrets
Django Javascript Integration Ajax And Jquery Jonathan Hayward
python full stack course in madhapur, hyderabad
PyData Texas 2015 Keynote
Ad

More from Udi Bauman (11)

KEY
PDF
Intro to-django-for-media-companies
PDF
Django course final-project
PDF
Django course final-project
PDF
Django course summary
ODP
Nonrelational Databases
PDF
Ship Early Ship Often With Django
ODP
Large Scale Processing with Django
PDF
Django And Ajax
ODP
Udi Google Dev Day
KEY
Intro To Django
Intro to-django-for-media-companies
Django course final-project
Django course final-project
Django course summary
Nonrelational Databases
Ship Early Ship Often With Django
Large Scale Processing with Django
Django And Ajax
Udi Google Dev Day
Intro To Django

Recently uploaded (20)

PDF
Sensors and Actuators in IoT Systems using pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Cloud computing and distributed systems.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPT
Teaching material agriculture food technology
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
KodekX | Application Modernization Development
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
Sensors and Actuators in IoT Systems using pdf
Big Data Technologies - Introduction.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
GamePlan Trading System Review: Professional Trader's Honest Take
20250228 LYD VKU AI Blended-Learning.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Cloud computing and distributed systems.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Spectral efficient network and resource selection model in 5G networks
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Teaching material agriculture food technology
Transforming Manufacturing operations through Intelligent Integrations
NewMind AI Weekly Chronicles - August'25 Week I
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”
KodekX | Application Modernization Development
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing

Python Django Intro V0.1

  • 1. Introduction to Python & Django Udi h Bauman, Tikal Knowledge
  • 2. Personal background 1994 - 2002 - 1997 - 2004 - 1999 - 2005 -
  • 3. Also in 2004 ● Didn't listen to smart people :( – Chief architect of a large innovative company told me to dump Java & switch to Python ● Citing Paul Graham saying that Java is a dead leaf in the evolutionary tree of programming languages
  • 4. 2006 - & ● Smiling ever since ● “People who've made the switch to dynamic languages such as Python seem much, much happier.” – Bruce Eckel, Author of “Thinking in Java” & “Thinking in Python”
  • 5. Python, WTF? ● Isn't this some scripting language for system administrators & the like? What does it have to do with us – serious Java & .Net programmers???
  • 6. Python, WTF? ● Python is a modern programming language. – Pure OOP (Object Oriented Programming) – Pure AOP (Aspect Oriented Programming) – Pure FP (Functional Programming)
  • 7. Python, WTF? ● Some companies & organization attract the best programmers in the world ● E.g.
  • 8. Python, WTF? ● Turns out that the programming language of choice in most of these places is Python ● E.g.
  • 9. Quotes ● “Python has been an important part of Google since the beginning, and remains so as the system grows and evolves” – Peter Norvig, Director of Research, Google
  • 10. Quotes ● “Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers” – Cuong Do, Engineering Manager, YouTube (Watch the video: http://bit.ly/youtube_scalability)
  • 11. The reason, IMHO ● Python offers the optimal combination of Power & Simplicity – perfect for coding Business Logic – perfect for any software at any size & complexity
  • 12. Python demo ● Arithmetic's & ● Functions Strings ● Doctest ● Introspection ● Classes ● Formatting ● List comprehension ● Lists, Tuples & ● I/O Dictionaries ● Blocks, If & loops
  • 15. Python libraries ● Real wealth of libraries ● The Python Package Index (PyPi) lists 7.7K ● Cover almost any functionality & need ● Very easy to install ● Very intuitive – Work just as you expect them to work
  • 16. Python summary ● Python has many advantages, but the bottom line is: – Happy management – Happy staff – Happy customers ● Don't take my word – Google what people say about their experience with Python & tell me if you find any counter-example
  • 17. Python summary ● What's in it for us? – Need implement a new complex system or service? – Prototype it in Python – Then realize that it's ready for usage
  • 18. Introduction to Django ● Leading Python Web Framework ● Good for any service, no just Web apps
  • 19. Django slogan ● The Web framework for Perfectionists with deadlines
  • 20. Perfectionists? ● Emphasizing clean MVC design ● Django apps are reusable by design ● Based on Best-Practices ● Extremely easy to unit-test
  • 21. Deadlines? ● Growned in the Online Newspapers industry – Designed to make development fast ● E.g., automatic admin interface ● Automates repetitive tasks ● Leading technology in new US Startups, according to recent polls
  • 22. Quotes ● “After an extensive trade study, we selected Django as the first and primary application environment for the Nebula Cloud. ” – NASA, http://nebula.nasa.gov/services/framework
  • 24. Main features ● ORM ● Reusable apps ● Admin ● Unit testing ● URL's design ● Middleware ● Auth ● Caching ● Template engine ● I18N ● Integrated GIS
  • 26. Lots of reusable apps ● Hundreds of pluggable apps exist, for almost any purpose ● Very easy to plug into your project – Adds complete functionality, integrated with your application
  • 27. How do you develop/run? ● I use the Eclipse-based Aptana IDE ● I run Django on LAMP (Linux, Apache, MySQL/Postgres, Python) or AppEngine – You can also deploy Django as .war on any Java Application Server
  • 28. Django demo ● Let's write a small Django app for project management – Manage projects & tasks – Manage users & roles – Rich UI (search, filters, recent actions list) – Project health indicators – Tasks focus chart
  • 33. Java/.Net vs. Django ● Think how much code it would take in Java or .Net – Common – BI – DAL – Basic – Logic – API
  • 34. Java/.Net vs. Django ● Damn, Django does the same thing without all the complexity & verbosity ● How much time & cognitive effort it takes to learn, understand & modify it?
  • 35. Django summary ● What's in it for us? – Nothing ● you can afford developing systems using 10 developers for several weeks ● instead of 1-2 developers for several days :)
  • 36. Django summary ● Seriously: – Need implement a new system? – Prototype it in Django in a few hours – Then realize that it's ready for production