SlideShare a Scribd company logo
1 of 21
Download to read offline
Python:
The Programmer’s Lingua Franca

    Using Python to build bridges between
    technologies, businesses and people
What we'll talk about

•   What is a lingua franca?
•   Why the industry needs one
•   Acmeism – the Ingy approach
•   Past and current examples: BASIC, C,
    and Java
•   Why Python is better
•   TPSL: Teaching Python as a Second (or
    third or fourth) Language
•   Getting past the barriers
What is a lingua franca?
        “a language systematically used to make communication possible
        between people not sharing a mother tongue, in particular when it
        is a third language, distinct from both mother tongues.”
             -- Wikipedia

•   The original “Lingua Franca” was an amalgam of languages
        – Made up of Italian, Arabic, French, Greek, Portuguese, Spanish and
            Turkish.
        – Used in the Mediterranean during the Rennaissance

•   English functions as the de facto modern lingua franca
        – For international business, aviation, science and technology
        – Integrates words from other languages

•   English doesn't fit the strict definition
        – It is often the mother tongue of at least one party...
        – but this example is closer to what we'll talk about
Why do we need one for
programming?
•   So many languages
       – more than 2500 in all (“The Language List” Bill Kinnersley)
       – if you just include popular ones, you still can't learn them
            all
•   Programmers need a vehicle to express concepts to
      one another
•   Programs need a vehicle to interact with one another
       – open data formats
       – standard protocols
       – an API everyone can use
What this audience reported:
                  Number of Languages in Organization
                          5%



                                         14%
      27%




                                                         1 language
                                                         2 languages
                                                         3 languages
                                                         4 or more languages
                                                         Unknown or no answer
                                                   18%




            37%
Ingy döt Net
  •   Inventor of YAML
  •   Leader in the Perl Community
  •   100+ CPAN modules
  •   Several PyPI Modules
  •   Old and New “Activator”
  •   Acmeist
  •   Currently travelling around Europe
Acmeism
•   A different path to mutual comprehension
•   Ideas (modules) need to be shared across all
    language boundaries
•   Build technology that is programming language
    independent
       – YAML – data serialization for many programming
           languages
       – C'Dent - Acmeist Module Language
       – Pegex - Acmeist Parser for creating new
           languages
       – TestML - Acmeist Unit test language (like FIT)
Other programming lingua francas
•   BASIC
        – Used to be everywhere, code samples in math and science
           textbooks
        – Many first generation micro-computer hackers started with this
           language
•   C
        – Widely used and part of most comp-sci programs
        – Most experienced programmers are familiar with it
        – Lower-level language
•   Java
        – Extremely popular, cross-platform, also widely taught
        – Very verbose
        – Open source (GPL) only since 2007 (c.f. Apache Harmony)
... used by this audience
              Language Used to Describe Programming Ideas

             15%                       14%




                                                       14%   C
                                                             Java
                                                             Python
                                                             Other
                                                             No answer




                                                 13%
       43%
Why Python is better
•   Free
•   Easy to read
       – Syntax (specifically indentation) enforces sane visual block
           structure
       – Concise, high-level interpreted language
•   Easy to learn
       – Excellent documentation and tutorials
       – Numerous training resources
•   Increasingly popular
       – Adopted by important organizations: Google, NASA, Disney,
           Sony, SEC
Comparisons
Which language is most readable and concise?

     – Example code adapted from http://www.dmh2000.com/cjpr/
     – Using object oriented C++ instead of C to be more fair
C++
#include   <iostream>
#include   <sstream>
#include   <string>
#include   <vector>

using namespace std;

template<class T> class RedBlackTree {

private:
    static const int red   = 0;
    static const int black = 1;

     int                   m_color;
     T                     m_val;
     RedBlackTree          *m_left;
     RedBlackTree          *m_right;

     RedBlackTree(RedBlackTree *b) {
         m_val      = b->m_val;
         m_left     = b->m_left;
         m_right    = b->m_right;
         m_color    = red;
     }

public:
    RedBlackTree(T      x) {
        m_val           = x;
        m_left          = 0;
        m_right         = 0;
        m_color         = red;
    }

     const RedBlackTree *find(const T &key) const {
         const RedBlackTree *result = 0;
         if (key == m_val) {
             result = this;
         }
         else if (key < m_val) {
             if (m_left != 0) {
                 result = m_left->find(key);
             }
         }
         else {
             if (m_right != 0) {
                 result = m_right->find(key);
             }
         }
         return result;
     }
};
Java
import java.util.*;
public class RedBlackTree<T extends Comparable<T>> {

    public static final int red   = 0;
    public static final int black = 1;

    private   int               __color;
    private   T                 __val;
    private   RedBlackTree<T>   __left;
    private   RedBlackTree<T>   __right;

    private RedBlackTree(RedBlackTree<T> b) {
        __val      = b.__val;
        __left     = b.__left;
        __right    = b.__right;
        __color    = red;
    }

    public RedBlackTree(T x) {
        __val      = x;
        __left     = null;
        __right    = null;
        __color = red;
    }

    public RedBlackTree<T> find(T key) {
        RedBlackTree<T> result = null;
        if (key == __val) {
            result = this;
        }
        else if (key.compareTo(__val) < 0) {
            if (__left != null) {
                result = __left.find(key);
            }
        }
        else {
            if (__right != null) {
                result = __right.find(key);
            }
        }
        return result;
    }
}
Python
class RedBlackTree:
    red, black = range(2)

    def __init__(self,   val=None):
        self.left        = None
        self.right       = None
        self.val         = val
        self.color       = RedBlackTree.red

    def find(self, key):
        result = None
        if (key == self.val):
            result = self
        elif (key < self.val):
            if (self.left != None):
                result = self.left.find(key)
        else:
            if (self.right != None):
                result = self.right.find(key)
        return result
Integration with other languages
•       Python libraries are commonly written in C or C++ when
        performance is a consideration
•       You can use other languages in Python, and Python in other
        languages
           – Inline, PyInline, Inline::Python etc.
•       More projects integrating Python with other programming
        languages:
           – Bridges for C/C++, Java, C#/.NET, PHP, Perl, and more

... and databases
    •   Commercial / enterprise: Oracle, SQL Server, DB2, SAP DB,
        Sybase
    •   Open source: MySQL, PostgreSQL, SQLite, redis, MongoDB
Alternative Python interpreters
Python is an open source language, implementations of
 Python are not controlled by a single commercial entity, as
 was case with Java and is the case with C#.
     – Important for avoiding vendor lock-in
     – PSF license is very permissive
This encourages innovation and allows for alternative
 implementations:
     –   Jython: implemented in Java
     –   Stackless Python: CPython variant
     –   unladen-swallow: Google project for a faster Python
     –   Iron Python: for the .NET Framework
     –   PyPy: also focussing on speed and efficiency
Python as a Second Language
•   What makes it easier to read also makes it easier to
    learn
•   Many programmers come to Python from other
    languages
       – lots of resources (Python wiki) for those switching
       – “Learning Python” by Mark Lutz and David Ascher
       – Ingy's anecdotal evidence
•   Non-English tutorials and documentation
       – http://wiki.python.org/moin/Languages
       – there's even a Python tutorial in Esperanto!
How ActiveState can help
Resources for developer-led initiatives to introduce and
  expand Python usage in your organization

      •
          Commercial support and indemnification
      •
          Quality assured, vendor-backed builds
      •
          Python training from the best in the field
      •
          Development advice
      •
          code.activestate.com
               •
                   PyPM Index
               •
                   Recipes
      •
          Komodo Edit and IDE
Python in the cloud
Cloud application platform for Python and many others languages




     –   not a Platform as a Service... it's for creating your own
     –   based on Cloud Foundry – we've added Python support and a lot more
     –   supports multiple languages: Python, Perl, Ruby, Node.js, Java...
     –   all the Python web frameworks: Django, Bottle, Flask, Pyramid
     –   ... via WSGI
     –   deploy new applications or migrate existing ones
     –   http://activestate.com/cloud
Questions?
Thank You!

      Troy Topnik: troyt@activestate.com

      Ingy döt Net: ingy@activestate.com
               www.acmeism.org

         Speak to a representative about
          ActivePython or Python training:
                 1-866-510-2914
       business-solutions@activestate.com
               www.activestate.com

More Related Content

What's hot

What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.Nicholas Pringle
 
Python Programming Language
Python Programming LanguagePython Programming Language
Python Programming LanguageLaxman Puri
 
Python Seminar PPT
Python Seminar PPTPython Seminar PPT
Python Seminar PPTShivam Gupta
 
型ヒントについて考えよう!
型ヒントについて考えよう!型ヒントについて考えよう!
型ヒントについて考えよう!Yusuke Miyazaki
 
TI1220 Lecture 14: Domain-Specific Languages
TI1220 Lecture 14: Domain-Specific LanguagesTI1220 Lecture 14: Domain-Specific Languages
TI1220 Lecture 14: Domain-Specific LanguagesEelco Visser
 
Python Crash Course
Python Crash CoursePython Crash Course
Python Crash CourseHaim Michael
 
Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)IoT Code Lab
 
Overview of python 2019
Overview of python 2019Overview of python 2019
Overview of python 2019Samir Mohanty
 
Python presentation by Monu Sharma
Python presentation by Monu SharmaPython presentation by Monu Sharma
Python presentation by Monu SharmaMayank Sharma
 
R and Python, A Code Demo
R and Python, A Code DemoR and Python, A Code Demo
R and Python, A Code DemoVineet Jaiswal
 
Python programming introduction
Python programming introductionPython programming introduction
Python programming introductionSiddique Ibrahim
 
Python indroduction
Python indroductionPython indroduction
Python indroductionFEG
 
summer training report on python
summer training report on pythonsummer training report on python
summer training report on pythonShubham Yadav
 
XKE - Programming Paradigms & Constructs
XKE - Programming Paradigms & ConstructsXKE - Programming Paradigms & Constructs
XKE - Programming Paradigms & ConstructsNicolas Demengel
 

What's hot (20)

Python - the basics
Python - the basicsPython - the basics
Python - the basics
 
What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.
 
Python Programming Language
Python Programming LanguagePython Programming Language
Python Programming Language
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Dart ppt
Dart pptDart ppt
Dart ppt
 
Python Seminar PPT
Python Seminar PPTPython Seminar PPT
Python Seminar PPT
 
型ヒントについて考えよう!
型ヒントについて考えよう!型ヒントについて考えよう!
型ヒントについて考えよう!
 
TI1220 Lecture 14: Domain-Specific Languages
TI1220 Lecture 14: Domain-Specific LanguagesTI1220 Lecture 14: Domain-Specific Languages
TI1220 Lecture 14: Domain-Specific Languages
 
Python basics
Python basicsPython basics
Python basics
 
Python programming
Python programmingPython programming
Python programming
 
Python Crash Course
Python Crash CoursePython Crash Course
Python Crash Course
 
Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)
 
Overview of python 2019
Overview of python 2019Overview of python 2019
Overview of python 2019
 
Python presentation by Monu Sharma
Python presentation by Monu SharmaPython presentation by Monu Sharma
Python presentation by Monu Sharma
 
R and Python, A Code Demo
R and Python, A Code DemoR and Python, A Code Demo
R and Python, A Code Demo
 
Python programming introduction
Python programming introductionPython programming introduction
Python programming introduction
 
Python indroduction
Python indroductionPython indroduction
Python indroduction
 
summer training report on python
summer training report on pythonsummer training report on python
summer training report on python
 
XKE - Programming Paradigms & Constructs
XKE - Programming Paradigms & ConstructsXKE - Programming Paradigms & Constructs
XKE - Programming Paradigms & Constructs
 
Unit 2 python
Unit 2 pythonUnit 2 python
Unit 2 python
 

Viewers also liked

Samarjit Kachari-New media:Hope for literature and language survival?
Samarjit Kachari-New media:Hope for literature and language survival?Samarjit Kachari-New media:Hope for literature and language survival?
Samarjit Kachari-New media:Hope for literature and language survival?pumediaseminar2011
 
Short journey of ELF(English as lingua franca)
Short journey of ELF(English as lingua franca)Short journey of ELF(English as lingua franca)
Short journey of ELF(English as lingua franca)PTESOL
 
Lingua franca
Lingua francaLingua franca
Lingua francagisellas
 
3rd material lingua-franca,pidgin,creole
3rd material lingua-franca,pidgin,creole3rd material lingua-franca,pidgin,creole
3rd material lingua-franca,pidgin,creoleAyu Juwita
 
English as a lingua franca assignment
English as a lingua franca assignmentEnglish as a lingua franca assignment
English as a lingua franca assignmentBruna Dainezi
 
Globish
GlobishGlobish
Globishlugos
 
Why Python is better for Data Science
Why Python is better for Data ScienceWhy Python is better for Data Science
Why Python is better for Data ScienceÍcaro Medeiros
 
Pidgin and Creole (Language Varieties)
Pidgin and Creole (Language Varieties)Pidgin and Creole (Language Varieties)
Pidgin and Creole (Language Varieties)Lecturer
 
English : Lingua - Franca
English : Lingua - FrancaEnglish : Lingua - Franca
English : Lingua - FrancaBhumi Joshi
 
Lingua franca
Lingua francaLingua franca
Lingua francaMd. Rana
 
Register And Style
Register And StyleRegister And Style
Register And StyleUwe Klemm
 
Style Register and Dialect
Style Register and DialectStyle Register and Dialect
Style Register and DialectSidra Shahid
 
The role of social class in English language learning and teaching
The role of social class in English language learning and teachingThe role of social class in English language learning and teaching
The role of social class in English language learning and teachingMuhmmad Asif
 
Sociolinguistic, Varieties of Language, Diglossia
Sociolinguistic, Varieties of Language, DiglossiaSociolinguistic, Varieties of Language, Diglossia
Sociolinguistic, Varieties of Language, DiglossiaElnaz Nasseri
 
Sociolinguistics - Language Contact
Sociolinguistics - Language ContactSociolinguistics - Language Contact
Sociolinguistics - Language ContactAhmet Ateş
 
The impact of mother tongues in the learning of english language (3)
The impact of mother tongues in the learning of english language (3)The impact of mother tongues in the learning of english language (3)
The impact of mother tongues in the learning of english language (3)Malieque
 
Historical perspective of education and the curriculum of
Historical perspective of education and the curriculum ofHistorical perspective of education and the curriculum of
Historical perspective of education and the curriculum ofleonilitabadillo
 

Viewers also liked (20)

Samarjit Kachari-New media:Hope for literature and language survival?
Samarjit Kachari-New media:Hope for literature and language survival?Samarjit Kachari-New media:Hope for literature and language survival?
Samarjit Kachari-New media:Hope for literature and language survival?
 
Ctrc python
Ctrc pythonCtrc python
Ctrc python
 
Case of study Fiji
Case of study FijiCase of study Fiji
Case of study Fiji
 
Short journey of ELF(English as lingua franca)
Short journey of ELF(English as lingua franca)Short journey of ELF(English as lingua franca)
Short journey of ELF(English as lingua franca)
 
Lingua franca
Lingua francaLingua franca
Lingua franca
 
3rd material lingua-franca,pidgin,creole
3rd material lingua-franca,pidgin,creole3rd material lingua-franca,pidgin,creole
3rd material lingua-franca,pidgin,creole
 
Intro to Python
Intro to PythonIntro to Python
Intro to Python
 
English as a lingua franca assignment
English as a lingua franca assignmentEnglish as a lingua franca assignment
English as a lingua franca assignment
 
Globish
GlobishGlobish
Globish
 
Why Python is better for Data Science
Why Python is better for Data ScienceWhy Python is better for Data Science
Why Python is better for Data Science
 
Pidgin and Creole (Language Varieties)
Pidgin and Creole (Language Varieties)Pidgin and Creole (Language Varieties)
Pidgin and Creole (Language Varieties)
 
English : Lingua - Franca
English : Lingua - FrancaEnglish : Lingua - Franca
English : Lingua - Franca
 
Lingua franca
Lingua francaLingua franca
Lingua franca
 
Register And Style
Register And StyleRegister And Style
Register And Style
 
Style Register and Dialect
Style Register and DialectStyle Register and Dialect
Style Register and Dialect
 
The role of social class in English language learning and teaching
The role of social class in English language learning and teachingThe role of social class in English language learning and teaching
The role of social class in English language learning and teaching
 
Sociolinguistic, Varieties of Language, Diglossia
Sociolinguistic, Varieties of Language, DiglossiaSociolinguistic, Varieties of Language, Diglossia
Sociolinguistic, Varieties of Language, Diglossia
 
Sociolinguistics - Language Contact
Sociolinguistics - Language ContactSociolinguistics - Language Contact
Sociolinguistics - Language Contact
 
The impact of mother tongues in the learning of english language (3)
The impact of mother tongues in the learning of english language (3)The impact of mother tongues in the learning of english language (3)
The impact of mother tongues in the learning of english language (3)
 
Historical perspective of education and the curriculum of
Historical perspective of education and the curriculum ofHistorical perspective of education and the curriculum of
Historical perspective of education and the curriculum of
 

Similar to Python: The Programmer's Lingua Franca

Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionEmbarcadero Technologies
 
PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesSchwannden Kuo
 
Introduction_to_Python.pptx
Introduction_to_Python.pptxIntroduction_to_Python.pptx
Introduction_to_Python.pptxVinay Chowdary
 
Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013Prof. Wim Van Criekinge
 
Python_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptxPython_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptxlemonchoos
 
Functional Programming - Worth the Effort
Functional Programming - Worth the EffortFunctional Programming - Worth the Effort
Functional Programming - Worth the EffortBoldRadius Solutions
 
Python and Pytorch tutorial and walkthrough
Python and Pytorch tutorial and walkthroughPython and Pytorch tutorial and walkthrough
Python and Pytorch tutorial and walkthroughgabriellekuruvilla
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekingeProf. Wim Van Criekinge
 
F# Ignite - DNAD2010
F# Ignite - DNAD2010F# Ignite - DNAD2010
F# Ignite - DNAD2010Rodrigo Vidal
 
Stroustrup c++0x overview
Stroustrup c++0x overviewStroustrup c++0x overview
Stroustrup c++0x overviewVaibhav Bajaj
 
Python_Introduction&DataType.pptx
Python_Introduction&DataType.pptxPython_Introduction&DataType.pptx
Python_Introduction&DataType.pptxHaythamBarakeh1
 
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112Thinkful
 

Similar to Python: The Programmer's Lingua Franca (20)

Unit1 pps
Unit1 ppsUnit1 pps
Unit1 pps
 
Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 Introduction
 
PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminaries
 
Plc part 1
Plc part 1Plc part 1
Plc part 1
 
Introduction_to_Python.pptx
Introduction_to_Python.pptxIntroduction_to_Python.pptx
Introduction_to_Python.pptx
 
Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013
 
Python_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptxPython_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptx
 
P1 2018 python
P1 2018 pythonP1 2018 python
P1 2018 python
 
P1 2017 python
P1 2017 pythonP1 2017 python
P1 2017 python
 
Python Tutorials.pptx
Python Tutorials.pptxPython Tutorials.pptx
Python Tutorials.pptx
 
Practical NLP with Lisp
Practical NLP with LispPractical NLP with Lisp
Practical NLP with Lisp
 
Pyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdfPyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdf
 
Intro to Python
Intro to PythonIntro to Python
Intro to Python
 
Functional Programming - Worth the Effort
Functional Programming - Worth the EffortFunctional Programming - Worth the Effort
Functional Programming - Worth the Effort
 
Python and Pytorch tutorial and walkthrough
Python and Pytorch tutorial and walkthroughPython and Pytorch tutorial and walkthrough
Python and Pytorch tutorial and walkthrough
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge
 
F# Ignite - DNAD2010
F# Ignite - DNAD2010F# Ignite - DNAD2010
F# Ignite - DNAD2010
 
Stroustrup c++0x overview
Stroustrup c++0x overviewStroustrup c++0x overview
Stroustrup c++0x overview
 
Python_Introduction&DataType.pptx
Python_Introduction&DataType.pptxPython_Introduction&DataType.pptx
Python_Introduction&DataType.pptx
 
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
 

More from ActiveState

Robust Algorithms for Machine Learning
Robust Algorithms for Machine LearningRobust Algorithms for Machine Learning
Robust Algorithms for Machine LearningActiveState
 
ActiveState - The Open Source Languages Company
ActiveState - The Open Source Languages CompanyActiveState - The Open Source Languages Company
ActiveState - The Open Source Languages CompanyActiveState
 
ActiveState Open Source Survey - 2016
ActiveState Open Source Survey - 2016ActiveState Open Source Survey - 2016
ActiveState Open Source Survey - 2016ActiveState
 
ActiveState Tcl Survey - 2016
ActiveState Tcl Survey - 2016ActiveState Tcl Survey - 2016
ActiveState Tcl Survey - 2016ActiveState
 
Practical LPeg - Lua Workshop 2016
Practical LPeg - Lua Workshop 2016Practical LPeg - Lua Workshop 2016
Practical LPeg - Lua Workshop 2016ActiveState
 
Overview of Komodo IDE 10.1
Overview of Komodo IDE 10.1Overview of Komodo IDE 10.1
Overview of Komodo IDE 10.1ActiveState
 
The ActiveState of Tcl
The ActiveState of TclThe ActiveState of Tcl
The ActiveState of TclActiveState
 
PERL SURVEY 2016
PERL SURVEY 2016PERL SURVEY 2016
PERL SURVEY 2016ActiveState
 
Improving Customer Experience Using ActivePerl and ActivePython
Improving Customer Experience Using ActivePerl and ActivePythonImproving Customer Experience Using ActivePerl and ActivePython
Improving Customer Experience Using ActivePerl and ActivePythonActiveState
 
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14ActiveState
 
Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6ActiveState
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to pythonActiveState
 
US SEC Mandates, Python, and Financial Modeling
US SEC Mandates, Python, and Financial ModelingUS SEC Mandates, Python, and Financial Modeling
US SEC Mandates, Python, and Financial ModelingActiveState
 
ActiveState, CA, Taking quality products to market faster with enterprise rea...
ActiveState, CA, Taking quality products to market faster with enterprise rea...ActiveState, CA, Taking quality products to market faster with enterprise rea...
ActiveState, CA, Taking quality products to market faster with enterprise rea...ActiveState
 
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12ActiveState
 
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...ActiveState
 
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...ActiveState
 
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...ActiveState
 
Take Quality Products to Market Faster with Enterprise-Ready Dynamic Languages
Take Quality Products to Market Faster with Enterprise-Ready Dynamic LanguagesTake Quality Products to Market Faster with Enterprise-Ready Dynamic Languages
Take Quality Products to Market Faster with Enterprise-Ready Dynamic LanguagesActiveState
 

More from ActiveState (20)

Robust Algorithms for Machine Learning
Robust Algorithms for Machine LearningRobust Algorithms for Machine Learning
Robust Algorithms for Machine Learning
 
TDD Pros & Cons
TDD Pros & ConsTDD Pros & Cons
TDD Pros & Cons
 
ActiveState - The Open Source Languages Company
ActiveState - The Open Source Languages CompanyActiveState - The Open Source Languages Company
ActiveState - The Open Source Languages Company
 
ActiveState Open Source Survey - 2016
ActiveState Open Source Survey - 2016ActiveState Open Source Survey - 2016
ActiveState Open Source Survey - 2016
 
ActiveState Tcl Survey - 2016
ActiveState Tcl Survey - 2016ActiveState Tcl Survey - 2016
ActiveState Tcl Survey - 2016
 
Practical LPeg - Lua Workshop 2016
Practical LPeg - Lua Workshop 2016Practical LPeg - Lua Workshop 2016
Practical LPeg - Lua Workshop 2016
 
Overview of Komodo IDE 10.1
Overview of Komodo IDE 10.1Overview of Komodo IDE 10.1
Overview of Komodo IDE 10.1
 
The ActiveState of Tcl
The ActiveState of TclThe ActiveState of Tcl
The ActiveState of Tcl
 
PERL SURVEY 2016
PERL SURVEY 2016PERL SURVEY 2016
PERL SURVEY 2016
 
Improving Customer Experience Using ActivePerl and ActivePython
Improving Customer Experience Using ActivePerl and ActivePythonImproving Customer Experience Using ActivePerl and ActivePython
Improving Customer Experience Using ActivePerl and ActivePython
 
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
 
Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to python
 
US SEC Mandates, Python, and Financial Modeling
US SEC Mandates, Python, and Financial ModelingUS SEC Mandates, Python, and Financial Modeling
US SEC Mandates, Python, and Financial Modeling
 
ActiveState, CA, Taking quality products to market faster with enterprise rea...
ActiveState, CA, Taking quality products to market faster with enterprise rea...ActiveState, CA, Taking quality products to market faster with enterprise rea...
ActiveState, CA, Taking quality products to market faster with enterprise rea...
 
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
 
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
 
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
 
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
 
Take Quality Products to Market Faster with Enterprise-Ready Dynamic Languages
Take Quality Products to Market Faster with Enterprise-Ready Dynamic LanguagesTake Quality Products to Market Faster with Enterprise-Ready Dynamic Languages
Take Quality Products to Market Faster with Enterprise-Ready Dynamic Languages
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Python: The Programmer's Lingua Franca

  • 1. Python: The Programmer’s Lingua Franca Using Python to build bridges between technologies, businesses and people
  • 2. What we'll talk about • What is a lingua franca? • Why the industry needs one • Acmeism – the Ingy approach • Past and current examples: BASIC, C, and Java • Why Python is better • TPSL: Teaching Python as a Second (or third or fourth) Language • Getting past the barriers
  • 3. What is a lingua franca? “a language systematically used to make communication possible between people not sharing a mother tongue, in particular when it is a third language, distinct from both mother tongues.” -- Wikipedia • The original “Lingua Franca” was an amalgam of languages – Made up of Italian, Arabic, French, Greek, Portuguese, Spanish and Turkish. – Used in the Mediterranean during the Rennaissance • English functions as the de facto modern lingua franca – For international business, aviation, science and technology – Integrates words from other languages • English doesn't fit the strict definition – It is often the mother tongue of at least one party... – but this example is closer to what we'll talk about
  • 4. Why do we need one for programming? • So many languages – more than 2500 in all (“The Language List” Bill Kinnersley) – if you just include popular ones, you still can't learn them all • Programmers need a vehicle to express concepts to one another • Programs need a vehicle to interact with one another – open data formats – standard protocols – an API everyone can use
  • 5. What this audience reported: Number of Languages in Organization 5% 14% 27% 1 language 2 languages 3 languages 4 or more languages Unknown or no answer 18% 37%
  • 6. Ingy döt Net • Inventor of YAML • Leader in the Perl Community • 100+ CPAN modules • Several PyPI Modules • Old and New “Activator” • Acmeist • Currently travelling around Europe
  • 7. Acmeism • A different path to mutual comprehension • Ideas (modules) need to be shared across all language boundaries • Build technology that is programming language independent – YAML – data serialization for many programming languages – C'Dent - Acmeist Module Language – Pegex - Acmeist Parser for creating new languages – TestML - Acmeist Unit test language (like FIT)
  • 8. Other programming lingua francas • BASIC – Used to be everywhere, code samples in math and science textbooks – Many first generation micro-computer hackers started with this language • C – Widely used and part of most comp-sci programs – Most experienced programmers are familiar with it – Lower-level language • Java – Extremely popular, cross-platform, also widely taught – Very verbose – Open source (GPL) only since 2007 (c.f. Apache Harmony)
  • 9. ... used by this audience Language Used to Describe Programming Ideas 15% 14% 14% C Java Python Other No answer 13% 43%
  • 10. Why Python is better • Free • Easy to read – Syntax (specifically indentation) enforces sane visual block structure – Concise, high-level interpreted language • Easy to learn – Excellent documentation and tutorials – Numerous training resources • Increasingly popular – Adopted by important organizations: Google, NASA, Disney, Sony, SEC
  • 11. Comparisons Which language is most readable and concise? – Example code adapted from http://www.dmh2000.com/cjpr/ – Using object oriented C++ instead of C to be more fair
  • 12. C++ #include <iostream> #include <sstream> #include <string> #include <vector> using namespace std; template<class T> class RedBlackTree { private: static const int red = 0; static const int black = 1; int m_color; T m_val; RedBlackTree *m_left; RedBlackTree *m_right; RedBlackTree(RedBlackTree *b) { m_val = b->m_val; m_left = b->m_left; m_right = b->m_right; m_color = red; } public: RedBlackTree(T x) { m_val = x; m_left = 0; m_right = 0; m_color = red; } const RedBlackTree *find(const T &key) const { const RedBlackTree *result = 0; if (key == m_val) { result = this; } else if (key < m_val) { if (m_left != 0) { result = m_left->find(key); } } else { if (m_right != 0) { result = m_right->find(key); } } return result; } };
  • 13. Java import java.util.*; public class RedBlackTree<T extends Comparable<T>> { public static final int red = 0; public static final int black = 1; private int __color; private T __val; private RedBlackTree<T> __left; private RedBlackTree<T> __right; private RedBlackTree(RedBlackTree<T> b) { __val = b.__val; __left = b.__left; __right = b.__right; __color = red; } public RedBlackTree(T x) { __val = x; __left = null; __right = null; __color = red; } public RedBlackTree<T> find(T key) { RedBlackTree<T> result = null; if (key == __val) { result = this; } else if (key.compareTo(__val) < 0) { if (__left != null) { result = __left.find(key); } } else { if (__right != null) { result = __right.find(key); } } return result; } }
  • 14. Python class RedBlackTree: red, black = range(2) def __init__(self, val=None): self.left = None self.right = None self.val = val self.color = RedBlackTree.red def find(self, key): result = None if (key == self.val): result = self elif (key < self.val): if (self.left != None): result = self.left.find(key) else: if (self.right != None): result = self.right.find(key) return result
  • 15. Integration with other languages • Python libraries are commonly written in C or C++ when performance is a consideration • You can use other languages in Python, and Python in other languages – Inline, PyInline, Inline::Python etc. • More projects integrating Python with other programming languages: – Bridges for C/C++, Java, C#/.NET, PHP, Perl, and more ... and databases • Commercial / enterprise: Oracle, SQL Server, DB2, SAP DB, Sybase • Open source: MySQL, PostgreSQL, SQLite, redis, MongoDB
  • 16. Alternative Python interpreters Python is an open source language, implementations of Python are not controlled by a single commercial entity, as was case with Java and is the case with C#. – Important for avoiding vendor lock-in – PSF license is very permissive This encourages innovation and allows for alternative implementations: – Jython: implemented in Java – Stackless Python: CPython variant – unladen-swallow: Google project for a faster Python – Iron Python: for the .NET Framework – PyPy: also focussing on speed and efficiency
  • 17. Python as a Second Language • What makes it easier to read also makes it easier to learn • Many programmers come to Python from other languages – lots of resources (Python wiki) for those switching – “Learning Python” by Mark Lutz and David Ascher – Ingy's anecdotal evidence • Non-English tutorials and documentation – http://wiki.python.org/moin/Languages – there's even a Python tutorial in Esperanto!
  • 18. How ActiveState can help Resources for developer-led initiatives to introduce and expand Python usage in your organization • Commercial support and indemnification • Quality assured, vendor-backed builds • Python training from the best in the field • Development advice • code.activestate.com • PyPM Index • Recipes • Komodo Edit and IDE
  • 19. Python in the cloud Cloud application platform for Python and many others languages – not a Platform as a Service... it's for creating your own – based on Cloud Foundry – we've added Python support and a lot more – supports multiple languages: Python, Perl, Ruby, Node.js, Java... – all the Python web frameworks: Django, Bottle, Flask, Pyramid – ... via WSGI – deploy new applications or migrate existing ones – http://activestate.com/cloud
  • 21. Thank You! Troy Topnik: troyt@activestate.com Ingy döt Net: ingy@activestate.com www.acmeism.org Speak to a representative about ActivePython or Python training: 1-866-510-2914 business-solutions@activestate.com www.activestate.com