SlideShare a Scribd company logo
1 of 31
Download to read offline
Perl in The Enterprise



        Dave Cross
    dave@mag-sol.com
   Magnum Solutions Ltd
   http://mag-sol.com/
What We Will Cover
    What is Enterprise Computing?
●


    Why Perl is good in the Enterprise
●


    Why Perl is bad in the Enterprise
●


    The Perl Foundation
●


    What is coming with Perl 6
●
What is Enterprise
            Computing?
    Lets ask Google
●


    define:quot;enterprise computingquot;
●


    “A vague term used generally to refer to
●


    networks and other computing needs
    implemented throughout a large, often
    widely dispersed corporation. Microsoft
    and IBM, for example, are enterprises; a
    small business is not.”
    www.microsoft.com
●
Enterprise Computing
    Large scale hardware and software
●


    implementations
    Interfaces to other systems
●


    High availability
●


    Many developers working simultaneously
●


    Long lifespan
●


    High visibility
●
Why Perl is Good in the
           Enterprise
    Who uses it?
●


    Why do they use it?
●


    Web Application examples
●
Who Uses Perl?
    Everyone
●


    No really
●


    Well, almost everyone
●


    Even Microsoft shops
●


    Banks see it as a “competitive advantage”
●


    People regularly build and deploy
●


    applications containing 10,000s lines of
    Perl code
Why Do They Use It?
    Very High Level
●


    Dynamic Language
●


    Ready Written Modules
●


    Quality Assurance
●


    Multiple Programming Paradigms
●
Very High Level Language
    Typically one line of Perl to ten lines of C
●


    Number of bugs is proportional to lines
●


    of code
    Much code in off the shelf modules
●
Dynamic Language
    Code is data
●


    Like Python and Ruby
●


    Unlike Java, C and C#
●


    Programs that write programs
●

        Are the happiest programs of all
    –
Ready Written Modules
    Perl has a culture of sharing code
●


    Comprehensive Perl Archive Network
●


    http://search.cpan.org/
●


    Thousands of pre-built modules
●


    Standard installation and testing
●


    procedures
    Plug and Play Programming
●
Quality Assurance
    Very powerful testing framework
●


    Encourages module authors to include
●


    test suites with their code
    Lots of work in this area over the last five
●


    years
    “Perl Testing: A Developers Notebook”
●


    CPAN Testers
●

        http://testers.cpan.org/
    –
    CPAN Ratings
●

        Like Amazon ratings
    –
        http://cpanratings.perl.org/
    –
Quality Assurance
    Perl QA works on two levels
●


    Makes it easy for module authors to
●


    write test plans
        Code you bring in from CPAN is well tested
    –
    Makes it easy for your developers to
●


    write test plans
        Smoke testing
    –
        Test first development
    –
Multiple Programming
               Paradigms
    Procedural Programming
●


    Object Oriented Programming
●


    Functional Programming
●

        “Higher Order Perl”
    –
    Other, more esoteric, paradigms too
●


    Pick whatever is best for your application
●
Web Application Examples
    Everyone is talking about Ruby on Rails
●


    Example of an MVC framework
●


    Many MVC frameworks on the CPAN
●


    Or build your own from components
●
MVC Components
    Model
●

        Class::DBI (object-relational mapper)
    –
        Also Tangram, DBIx::Class, Class::Persist
    –
    View
●

        Template Toolkit
    –
        Also Mason, HTML::Template
    –
    Controller
●

        Your code goes here
    –
    Complete Frameworks
●

        Maypole
    –
        Catalyst
    –
Why Perl is Bad in the
                  Enterprise
    It’s all a matter of perception
●


    Seen as a “hackers” language
●

        Bad CGI programs
    –
        Two audiences
    –
             Enterprise vs Hackers
         ●


             Open Source vs Free Software
         ●


    TMTOWTDI
●

        There’s More Than One Way To Do It
    –
        Everyone has their own favourite
    –
        Coding standards and code reviews
    –
        “Perl Best Practices”
    –
The Perl Foundation
    http://foundation.perl.org/
●


    “dedicated to the advancement of the
●


    Perl programming language through
    open discussion, collaboration, design,
    and code.”
    Co-ordinates the efforts of a number of
●


    grass-roots Perl groups
        Perl Mongers
    –
        perl.org
    –
        Perl Monks
    –
        YAPC
    –
The Perl Foundation
    Holding a number of “Perl Days”
●


    Meeting large companies to discuss what
●


    they need from Perl
    Meeting in London August 2005
●


    Setting up an “Enterprise Perl Working
●


    Group”
        Recommended modules
    –
        Pre-built libraries
    –
        Certification
    –
Perl 6
    quot;Perl 5 was my rewrite of Perl. I want
●


    Perl 6 to be the community's rewrite of
    Perl and of the community.quot;
        Larry Wall
    –
Perl 6 History
        th
    18 July 2000, OSCON
●

        Perl 5 Porters meeting
    –
        Jon Orwant
    –
        Major change needed
    –
        th
    19 July 2000, OSCON
●

        Larry Wall’s “State of the Onion“
    –
        Announces development of Perl 6
    –
    It’s been a long time coming
●
Perl 6 Design
    Massive RFC Process
●


    Canvassing ideas from community
●


    361 RFCs received
●


    http://dev.perl.org/perl6/rfc/
●


    Larry (with help from others) merges
●


    RFCs with his ideas
    Much discussion on mailing lists
●


    Designs published as a series of
●


    Apocalyses and Exegeses
        http://dev.perl.org/perl6/
    –
Perl 6 Features
    Many new features
●

        explicit strong typing
    –
        proper parameter lists
    –
        active metadata on values, variables,
    –
        subroutines, and types
        declarative classes with strong encapsulation
    –
        full OO exception handling
    –
        support for the concurrent use of multiple
    –
        versions of a module
        extensive introspection facilities
    –
        LL and LR grammars (including a built-in
    –
        grammar for Perl 6 itself)
Perl 6 Features
    More new features
●

        subroutine overloading
    –
        multiple dispatch
    –
        named arguments
    –
        a built-in switch statement
    –
        hierarchical construction and destruction
    –
        distributive method dispatch
    –
        method delegation
    –
        named regexes
    –
        overlapping and exhaustive regex matches
    –
        within a string
        named captures
    –
Perl 6 Features
    Yet more new features
●

        parse-tree pruning
    –
        incremental regex matching against input
    –
        streams
        macros (that are implemented in Perl itself)
    –
        user-definable operators (from the full
    –
        Unicode set)
        chained comparisons
    –
        a universally accessible aliasing mechanism
    –
        lexical exporting (via a cleaner, declarative
    –
        syntax)
        multimorphic equality tests
    –
Perl 6 Features
    A few more new features
●

        state variables
    –
        hypothetical variables
    –
        hyperoperators (i.e. vector processing)
    –
        function currying
    –
        junctions (i.e. superpositional values,
    –
        subroutines, and types)
        coroutines
    –
Perl 6 Related Projects
    Parrot
●


    PONIE
●


    Pugs
●
Parrot
    Virtual machine used to efficiently
●


    execute bytecode for dynamic languages
    Core of the Perl 6 compiler
●


    Target platform for Perl 6
●


    Other languages will be able to target
●


    Parrot too
    Use libraries from other Parrot languages
●


    http://www.parrotcode.org/
●
PONIE
    Perl On New Internal Engine
●


    Perl 5 implemented on top of Parrot
●


    Implementing a real language in Parrot
●


    A real test that Parrot is up to the job
●


    http://www.poniecode.org/
●
Pugs
    Prototype Perl 6 compiler
●


    Written in Haskell
●


    Good way to try out Perl 6 now
●


    Limited but getting better very quickly
●


    http://pugscode.org/
●
Conclusion
    Perl is currently very suitable as an
●


    Enterprise level language
    Many large companies rely on Perl to
●


    drive their business
    Perl 6 will be even better
●
Questions
    Any questions?
●

        Except “when will Perl 6 be out?”
    –

More Related Content

What's hot

Open_Source_for_DT
Open_Source_for_DTOpen_Source_for_DT
Open_Source_for_DT
webuploader
 

What's hot (20)

PHP Training in Coimbatore|PHP training Coimbatore|PHP certification
PHP Training in Coimbatore|PHP training Coimbatore|PHP certificationPHP Training in Coimbatore|PHP training Coimbatore|PHP certification
PHP Training in Coimbatore|PHP training Coimbatore|PHP certification
 
Open_Source_for_DT
Open_Source_for_DTOpen_Source_for_DT
Open_Source_for_DT
 
guadec-2007
guadec-2007guadec-2007
guadec-2007
 
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
 
Secured Development
Secured DevelopmentSecured Development
Secured Development
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
WordPress Security 101 - Meetup Nairobi March 2020
WordPress Security 101 - Meetup Nairobi March 2020 WordPress Security 101 - Meetup Nairobi March 2020
WordPress Security 101 - Meetup Nairobi March 2020
 
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDBZapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
2015 spice world_london_breakout
2015 spice world_london_breakout2015 spice world_london_breakout
2015 spice world_london_breakout
 
PHP Training in Chandigarh
PHP Training in ChandigarhPHP Training in Chandigarh
PHP Training in Chandigarh
 
Documentation Future
Documentation FutureDocumentation Future
Documentation Future
 
Oracle Database Interview Questions -PART 1 | sql, plsql, dbms, scenario base...
Oracle Database Interview Questions -PART 1 | sql, plsql, dbms, scenario base...Oracle Database Interview Questions -PART 1 | sql, plsql, dbms, scenario base...
Oracle Database Interview Questions -PART 1 | sql, plsql, dbms, scenario base...
 
Olympya web-tools 2011
Olympya web-tools 2011Olympya web-tools 2011
Olympya web-tools 2011
 
[C3] 升級版eClass 4.1── 更流暢實用的網上教室
[C3] 升級版eClass 4.1── 更流暢實用的網上教室[C3] 升級版eClass 4.1── 更流暢實用的網上教室
[C3] 升級版eClass 4.1── 更流暢實用的網上教室
 
RavenDB 4.0
RavenDB 4.0RavenDB 4.0
RavenDB 4.0
 
Telosys project booster Paris Open Source Summit 2019
Telosys project booster Paris Open Source Summit 2019Telosys project booster Paris Open Source Summit 2019
Telosys project booster Paris Open Source Summit 2019
 
Build social apps for Facebook
Build social apps for FacebookBuild social apps for Facebook
Build social apps for Facebook
 
PowerShell Runspaces
PowerShell RunspacesPowerShell Runspaces
PowerShell Runspaces
 

Similar to Enterprise Perl

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
ActiveState
 
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
goccy
 
Server Side Javascript
Server Side JavascriptServer Side Javascript
Server Side Javascript
rajivmordani
 

Similar to Enterprise Perl (20)

Perl Myths 200909
Perl Myths 200909Perl Myths 200909
Perl Myths 200909
 
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
 
Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)
 
Webinar: Learn Perl - The Jewel of Scripting Languages
Webinar: Learn Perl - The Jewel of Scripting LanguagesWebinar: Learn Perl - The Jewel of Scripting Languages
Webinar: Learn Perl - The Jewel of Scripting Languages
 
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex
 
Php
PhpPhp
Php
 
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
 
Mastering Regex in Perl
Mastering Regex in PerlMastering Regex in Perl
Mastering Regex in Perl
 
Software Development with Open Source
Software Development with Open SourceSoftware Development with Open Source
Software Development with Open Source
 
Server Side Javascript
Server Side JavascriptServer Side Javascript
Server Side Javascript
 
Unit 1-introduction to perl
Unit 1-introduction to perlUnit 1-introduction to perl
Unit 1-introduction to perl
 
Perl in the Real World
Perl in the Real WorldPerl in the Real World
Perl in the Real World
 
phpwebdev.ppt
phpwebdev.pptphpwebdev.ppt
phpwebdev.ppt
 
perl lauange
perl lauangeperl lauange
perl lauange
 
Pearl
PearlPearl
Pearl
 
Propel Your PHP Applications
Propel Your PHP ApplicationsPropel Your PHP Applications
Propel Your PHP Applications
 
Swt
SwtSwt
Swt
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQL
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 

More from Dave Cross

Object-Oriented Programming with Perl and Moose
Object-Oriented Programming with Perl and MooseObject-Oriented Programming with Perl and Moose
Object-Oriented Programming with Perl and Moose
Dave Cross
 

More from Dave Cross (20)

Measuring the Quality of Your Perl Code
Measuring the Quality of Your Perl CodeMeasuring the Quality of Your Perl Code
Measuring the Quality of Your Perl Code
 
Apollo 11 at 50 - A Simple Twitter Bot
Apollo 11 at 50 - A Simple Twitter BotApollo 11 at 50 - A Simple Twitter Bot
Apollo 11 at 50 - A Simple Twitter Bot
 
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver BulletsMonoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional Programmer
 
I'm A Republic (Honest!)
I'm A Republic (Honest!)I'm A Republic (Honest!)
I'm A Republic (Honest!)
 
Web Site Tune-Up - Improve Your Googlejuice
Web Site Tune-Up - Improve Your GooglejuiceWeb Site Tune-Up - Improve Your Googlejuice
Web Site Tune-Up - Improve Your Googlejuice
 
Modern Perl Web Development with Dancer
Modern Perl Web Development with DancerModern Perl Web Development with Dancer
Modern Perl Web Development with Dancer
 
Freeing Tower Bridge
Freeing Tower BridgeFreeing Tower Bridge
Freeing Tower Bridge
 
Modern Perl Catch-Up
Modern Perl Catch-UpModern Perl Catch-Up
Modern Perl Catch-Up
 
Error(s) Free Programming
Error(s) Free ProgrammingError(s) Free Programming
Error(s) Free Programming
 
Medium Perl
Medium PerlMedium Perl
Medium Perl
 
Modern Web Development with Perl
Modern Web Development with PerlModern Web Development with Perl
Modern Web Development with Perl
 
Improving Dev Assistant
Improving Dev AssistantImproving Dev Assistant
Improving Dev Assistant
 
Conference Driven Publishing
Conference Driven PublishingConference Driven Publishing
Conference Driven Publishing
 
Conference Driven Publishing
Conference Driven PublishingConference Driven Publishing
Conference Driven Publishing
 
TwittElection
TwittElectionTwittElection
TwittElection
 
Perl in the Internet of Things
Perl in the Internet of ThingsPerl in the Internet of Things
Perl in the Internet of Things
 
Return to the Kingdom of the Blind
Return to the Kingdom of the BlindReturn to the Kingdom of the Blind
Return to the Kingdom of the Blind
 
Github, Travis-CI and Perl
Github, Travis-CI and PerlGithub, Travis-CI and Perl
Github, Travis-CI and Perl
 
Object-Oriented Programming with Perl and Moose
Object-Oriented Programming with Perl and MooseObject-Oriented Programming with Perl and Moose
Object-Oriented Programming with Perl and Moose
 

Recently uploaded

Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
amitlee9823
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
Abortion pills in Kuwait Cytotec pills in Kuwait
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
lizamodels9
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
daisycvs
 
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
lizamodels9
 
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
lizamodels9
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
amitlee9823
 
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
dlhescort
 

Recently uploaded (20)

Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
PHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation Final
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
 
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 

Enterprise Perl

  • 1. Perl in The Enterprise Dave Cross dave@mag-sol.com Magnum Solutions Ltd http://mag-sol.com/
  • 2. What We Will Cover What is Enterprise Computing? ● Why Perl is good in the Enterprise ● Why Perl is bad in the Enterprise ● The Perl Foundation ● What is coming with Perl 6 ●
  • 3. What is Enterprise Computing? Lets ask Google ● define:quot;enterprise computingquot; ● “A vague term used generally to refer to ● networks and other computing needs implemented throughout a large, often widely dispersed corporation. Microsoft and IBM, for example, are enterprises; a small business is not.” www.microsoft.com ●
  • 4. Enterprise Computing Large scale hardware and software ● implementations Interfaces to other systems ● High availability ● Many developers working simultaneously ● Long lifespan ● High visibility ●
  • 5. Why Perl is Good in the Enterprise Who uses it? ● Why do they use it? ● Web Application examples ●
  • 6. Who Uses Perl? Everyone ● No really ● Well, almost everyone ● Even Microsoft shops ● Banks see it as a “competitive advantage” ● People regularly build and deploy ● applications containing 10,000s lines of Perl code
  • 7. Why Do They Use It? Very High Level ● Dynamic Language ● Ready Written Modules ● Quality Assurance ● Multiple Programming Paradigms ●
  • 8. Very High Level Language Typically one line of Perl to ten lines of C ● Number of bugs is proportional to lines ● of code Much code in off the shelf modules ●
  • 9. Dynamic Language Code is data ● Like Python and Ruby ● Unlike Java, C and C# ● Programs that write programs ● Are the happiest programs of all –
  • 10. Ready Written Modules Perl has a culture of sharing code ● Comprehensive Perl Archive Network ● http://search.cpan.org/ ● Thousands of pre-built modules ● Standard installation and testing ● procedures Plug and Play Programming ●
  • 11. Quality Assurance Very powerful testing framework ● Encourages module authors to include ● test suites with their code Lots of work in this area over the last five ● years “Perl Testing: A Developers Notebook” ● CPAN Testers ● http://testers.cpan.org/ – CPAN Ratings ● Like Amazon ratings – http://cpanratings.perl.org/ –
  • 12. Quality Assurance Perl QA works on two levels ● Makes it easy for module authors to ● write test plans Code you bring in from CPAN is well tested – Makes it easy for your developers to ● write test plans Smoke testing – Test first development –
  • 13. Multiple Programming Paradigms Procedural Programming ● Object Oriented Programming ● Functional Programming ● “Higher Order Perl” – Other, more esoteric, paradigms too ● Pick whatever is best for your application ●
  • 14. Web Application Examples Everyone is talking about Ruby on Rails ● Example of an MVC framework ● Many MVC frameworks on the CPAN ● Or build your own from components ●
  • 15. MVC Components Model ● Class::DBI (object-relational mapper) – Also Tangram, DBIx::Class, Class::Persist – View ● Template Toolkit – Also Mason, HTML::Template – Controller ● Your code goes here – Complete Frameworks ● Maypole – Catalyst –
  • 16. Why Perl is Bad in the Enterprise It’s all a matter of perception ● Seen as a “hackers” language ● Bad CGI programs – Two audiences – Enterprise vs Hackers ● Open Source vs Free Software ● TMTOWTDI ● There’s More Than One Way To Do It – Everyone has their own favourite – Coding standards and code reviews – “Perl Best Practices” –
  • 17. The Perl Foundation http://foundation.perl.org/ ● “dedicated to the advancement of the ● Perl programming language through open discussion, collaboration, design, and code.” Co-ordinates the efforts of a number of ● grass-roots Perl groups Perl Mongers – perl.org – Perl Monks – YAPC –
  • 18. The Perl Foundation Holding a number of “Perl Days” ● Meeting large companies to discuss what ● they need from Perl Meeting in London August 2005 ● Setting up an “Enterprise Perl Working ● Group” Recommended modules – Pre-built libraries – Certification –
  • 19. Perl 6 quot;Perl 5 was my rewrite of Perl. I want ● Perl 6 to be the community's rewrite of Perl and of the community.quot; Larry Wall –
  • 20. Perl 6 History th 18 July 2000, OSCON ● Perl 5 Porters meeting – Jon Orwant – Major change needed – th 19 July 2000, OSCON ● Larry Wall’s “State of the Onion“ – Announces development of Perl 6 – It’s been a long time coming ●
  • 21. Perl 6 Design Massive RFC Process ● Canvassing ideas from community ● 361 RFCs received ● http://dev.perl.org/perl6/rfc/ ● Larry (with help from others) merges ● RFCs with his ideas Much discussion on mailing lists ● Designs published as a series of ● Apocalyses and Exegeses http://dev.perl.org/perl6/ –
  • 22. Perl 6 Features Many new features ● explicit strong typing – proper parameter lists – active metadata on values, variables, – subroutines, and types declarative classes with strong encapsulation – full OO exception handling – support for the concurrent use of multiple – versions of a module extensive introspection facilities – LL and LR grammars (including a built-in – grammar for Perl 6 itself)
  • 23. Perl 6 Features More new features ● subroutine overloading – multiple dispatch – named arguments – a built-in switch statement – hierarchical construction and destruction – distributive method dispatch – method delegation – named regexes – overlapping and exhaustive regex matches – within a string named captures –
  • 24. Perl 6 Features Yet more new features ● parse-tree pruning – incremental regex matching against input – streams macros (that are implemented in Perl itself) – user-definable operators (from the full – Unicode set) chained comparisons – a universally accessible aliasing mechanism – lexical exporting (via a cleaner, declarative – syntax) multimorphic equality tests –
  • 25. Perl 6 Features A few more new features ● state variables – hypothetical variables – hyperoperators (i.e. vector processing) – function currying – junctions (i.e. superpositional values, – subroutines, and types) coroutines –
  • 26. Perl 6 Related Projects Parrot ● PONIE ● Pugs ●
  • 27. Parrot Virtual machine used to efficiently ● execute bytecode for dynamic languages Core of the Perl 6 compiler ● Target platform for Perl 6 ● Other languages will be able to target ● Parrot too Use libraries from other Parrot languages ● http://www.parrotcode.org/ ●
  • 28. PONIE Perl On New Internal Engine ● Perl 5 implemented on top of Parrot ● Implementing a real language in Parrot ● A real test that Parrot is up to the job ● http://www.poniecode.org/ ●
  • 29. Pugs Prototype Perl 6 compiler ● Written in Haskell ● Good way to try out Perl 6 now ● Limited but getting better very quickly ● http://pugscode.org/ ●
  • 30. Conclusion Perl is currently very suitable as an ● Enterprise level language Many large companies rely on Perl to ● drive their business Perl 6 will be even better ●
  • 31. Questions Any questions? ● Except “when will Perl 6 be out?” –