SlideShare ist ein Scribd-Unternehmen logo
1 von 28
The problem with Perl
      A semi-informed rant
How did I get here?

• C since forever
• 15+ years of Perl
• 4 years of Java
• 9 months of Python
Fresh fish

• No one has the time
• No one has the resources
• Ultimately, no one cares
But you can just hack
          it!
• Point missed
• We are not the audience, the pimple-faced
  kids are
• And uninformed C[TI]Os
• This is really about the M word
The marketing cycle

• Create new needs
• Find new markets
• Segment
• Goto 10
The echo chamber

• No new customers
• Confirmation bias
• Monoculture
A Perl client library?

• New and exciting stuff rarely
  mentions Perl
• Guess what the early adopters are
  not going to see?
Batteries not included
Batteries not included
           Exceptions      Databases
                  Packaging
         Sets Audio
Profiling                      HTTPD
 Configuration       XML
                Images       Collections
Types       SSL            Concurrency
                      Crypto
      XML-RPC                Time
  EMail          Dates      Environment
        Bootstrapping             URLs
           HTML REPL     PSGI
That funky sh*t

• Perl is a visual language: $ @ % & 
  Python, however, is polite
• “You just need to use Moose”
• Well, not in that other language.
package MyClass;

use strict;
use warnings;
package MyClass;

use strict;
use warnings;
use Moose;
package MyClass;

use strict;
use warnings;
use Moose;

use feature qw(say);
package MyClass;

use strict;
use warnings;
use Moose;

use feature qw(say);
use v5.10;
package MyClass;

use strict;
use warnings;
use Moose;

use feature qw(say);
use v5.10;
use Modern::Perl ‘v5.10’;
package MyClass;

use strict;
use warnings;
use Moose;

use feature qw(say);
use v5.10;
use Modern::Perl ‘v5.10’;
package MyClass;

use strict;
use warnings;
use Moose;

use feature qw(say);
use v5.10;
use Modern::Perl qw(2009);
package MyClass;

use   strict;
use   warnings;
use   Moose;
use   namespace::clean -except =>
      ‘meta’;

use feature qw(say);
use v5.10;
use Modern::Perl qw(2009);
package MyClass;

use Moose;
use namespace::clean -except =>
    ‘meta’;

use Modern::Perl qw(2009);

1;
class MyClass:
    pass
public class MyClass{
}
Tools of the trade
Tools of the trade
Static analysis          Intellisense

           Refactoring
                              Build
Inspections                  systems
                  IDEs
In Perl land

• Perl Critic
• Carton
• cpanm
• cpanfile
It’s not all gloom!
I <3 Dist::Zilla
• Perl’s Maven (except better)
• Bootstrap, generate docs, run tests,
  package, manage versions, release
• Support for different types of
  projects, via templates
• Extensible through plugins
HOT DIST::ZILLA
 ACTION!!one!
(if you weren’t there, you lose)
Insults?

                  @pfig
 me@pedrofigueiredo.org

http://slideshare.net/pfig/the-problem-with-perl

Weitere ähnliche Inhalte

Was ist angesagt?

Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011Tim Bunce
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with SwooleAlbert Chen
 
Nodejs Performance Debug
Nodejs Performance DebugNodejs Performance Debug
Nodejs Performance DebugRafael Gonzaga
 
Performance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPPerformance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPMax Romanovsky
 
Failing at Scale - PNWPHP 2016
Failing at Scale - PNWPHP 2016Failing at Scale - PNWPHP 2016
Failing at Scale - PNWPHP 2016Chris Tankersley
 
Docker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopChris Tankersley
 
Mass-Migration of 5000 Servers to Foreman/Katello with bootstrap.py - Evgeni ...
Mass-Migration of 5000 Servers to Foreman/Katello with bootstrap.py - Evgeni ...Mass-Migration of 5000 Servers to Foreman/Katello with bootstrap.py - Evgeni ...
Mass-Migration of 5000 Servers to Foreman/Katello with bootstrap.py - Evgeni ...NETWAYS
 
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...Puppet
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architectureElizabeth Smith
 
Essential debugging php debugging techniques, tips & tricks
Essential debugging php debugging techniques, tips & tricksEssential debugging php debugging techniques, tips & tricks
Essential debugging php debugging techniques, tips & tricksKaloyan Raev
 
The Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compilerThe Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compilerVladimir Sedach
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...Ortus Solutions, Corp
 
J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Touroscon2007
 
Backward to DPAN
Backward to DPANBackward to DPAN
Backward to DPANbrian d foy
 
Performance Optimization of Rails Applications
Performance Optimization of Rails ApplicationsPerformance Optimization of Rails Applications
Performance Optimization of Rails ApplicationsSerge Smetana
 
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...Chris Fregly
 
How to develop Jenkins plugin using to ruby and Jenkins.rb
How to develop Jenkins plugin using to ruby and Jenkins.rbHow to develop Jenkins plugin using to ruby and Jenkins.rb
How to develop Jenkins plugin using to ruby and Jenkins.rbHiroshi SHIBATA
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotClouddaoswald
 

Was ist angesagt? (20)

Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with Swoole
 
Nodejs Performance Debug
Nodejs Performance DebugNodejs Performance Debug
Nodejs Performance Debug
 
Performance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPPerformance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHP
 
Failing at Scale - PNWPHP 2016
Failing at Scale - PNWPHP 2016Failing at Scale - PNWPHP 2016
Failing at Scale - PNWPHP 2016
 
Docker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 Workshop
 
Mass-Migration of 5000 Servers to Foreman/Katello with bootstrap.py - Evgeni ...
Mass-Migration of 5000 Servers to Foreman/Katello with bootstrap.py - Evgeni ...Mass-Migration of 5000 Servers to Foreman/Katello with bootstrap.py - Evgeni ...
Mass-Migration of 5000 Servers to Foreman/Katello with bootstrap.py - Evgeni ...
 
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architecture
 
Essential debugging php debugging techniques, tips & tricks
Essential debugging php debugging techniques, tips & tricksEssential debugging php debugging techniques, tips & tricks
Essential debugging php debugging techniques, tips & tricks
 
The Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compilerThe Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compiler
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
 
J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Tour
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 
Backward to DPAN
Backward to DPANBackward to DPAN
Backward to DPAN
 
Performance Optimization of Rails Applications
Performance Optimization of Rails ApplicationsPerformance Optimization of Rails Applications
Performance Optimization of Rails Applications
 
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
 
How to develop Jenkins plugin using to ruby and Jenkins.rb
How to develop Jenkins plugin using to ruby and Jenkins.rbHow to develop Jenkins plugin using to ruby and Jenkins.rb
How to develop Jenkins plugin using to ruby and Jenkins.rb
 
Composer
ComposerComposer
Composer
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotCloud
 

Ähnlich wie The problem with Perl

Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)Alex Balhatchet
 
Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerModern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerJohn Anderson
 
Core Hackers of the Caribbean: The Curse of the Black Perl
Core Hackers of the Caribbean: The Curse of the Black PerlCore Hackers of the Caribbean: The Curse of the Black Perl
Core Hackers of the Caribbean: The Curse of the Black PerlChip Salzenberg
 
Pugs: A Perl 6 Implementation
Pugs: A Perl 6 ImplementationPugs: A Perl 6 Implementation
Pugs: A Perl 6 ImplementationAudrey Tang
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerKris Buytaert
 
Enterprise python
Enterprise pythonEnterprise python
Enterprise pythonpythonchile
 
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....? Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....? Puppet
 
Puppet and AWS is Easy...?
Puppet and AWS is Easy...?Puppet and AWS is Easy...?
Puppet and AWS is Easy...?Puppet
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem Claudson Oliveira
 
Le PERL est mort
Le PERL est mortLe PERL est mort
Le PERL est mortapeiron
 
Jonathan Coveney: Why Pig?
Jonathan Coveney: Why Pig?Jonathan Coveney: Why Pig?
Jonathan Coveney: Why Pig?mortardata
 
Bridging the Gap - Laracon 2013
Bridging the Gap - Laracon 2013Bridging the Gap - Laracon 2013
Bridging the Gap - Laracon 2013Ben Corlett
 
Ceph Day NYC: Ceph in the Ecosystem
Ceph Day NYC: Ceph in the EcosystemCeph Day NYC: Ceph in the Ecosystem
Ceph Day NYC: Ceph in the EcosystemCeph Community
 
200,000 Lines Later: Our Journey to Manageable Puppet Code
200,000 Lines Later: Our Journey to Manageable Puppet Code200,000 Lines Later: Our Journey to Manageable Puppet Code
200,000 Lines Later: Our Journey to Manageable Puppet CodeDavid Danzilio
 
Adventures in Asymmetric Warfare
Adventures in Asymmetric WarfareAdventures in Asymmetric Warfare
Adventures in Asymmetric WarfareWill Schroeder
 
Building a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCPBuilding a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCPRobert MacLean
 
DevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeDevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeWill Hall
 
From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...Yury Bushmelev
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsUwe Korn
 

Ähnlich wie The problem with Perl (20)

Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
Introduction to Writing Readable and Maintainable Perl (YAPC::EU 2011 Version)
 
Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerModern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl Programmer
 
Core Hackers of the Caribbean: The Curse of the Black Perl
Core Hackers of the Caribbean: The Curse of the Black PerlCore Hackers of the Caribbean: The Curse of the Black Perl
Core Hackers of the Caribbean: The Curse of the Black Perl
 
Pugs: A Perl 6 Implementation
Pugs: A Perl 6 ImplementationPugs: A Perl 6 Implementation
Pugs: A Perl 6 Implementation
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack Engineer
 
Enterprise python
Enterprise pythonEnterprise python
Enterprise python
 
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....? Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
 
Puppet and AWS is Easy...?
Puppet and AWS is Easy...?Puppet and AWS is Easy...?
Puppet and AWS is Easy...?
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem
 
Perl6 meets JVM
Perl6 meets JVMPerl6 meets JVM
Perl6 meets JVM
 
Le PERL est mort
Le PERL est mortLe PERL est mort
Le PERL est mort
 
Jonathan Coveney: Why Pig?
Jonathan Coveney: Why Pig?Jonathan Coveney: Why Pig?
Jonathan Coveney: Why Pig?
 
Bridging the Gap - Laracon 2013
Bridging the Gap - Laracon 2013Bridging the Gap - Laracon 2013
Bridging the Gap - Laracon 2013
 
Ceph Day NYC: Ceph in the Ecosystem
Ceph Day NYC: Ceph in the EcosystemCeph Day NYC: Ceph in the Ecosystem
Ceph Day NYC: Ceph in the Ecosystem
 
200,000 Lines Later: Our Journey to Manageable Puppet Code
200,000 Lines Later: Our Journey to Manageable Puppet Code200,000 Lines Later: Our Journey to Manageable Puppet Code
200,000 Lines Later: Our Journey to Manageable Puppet Code
 
Adventures in Asymmetric Warfare
Adventures in Asymmetric WarfareAdventures in Asymmetric Warfare
Adventures in Asymmetric Warfare
 
Building a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCPBuilding a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCP
 
DevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeDevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscape
 
From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
 

Kürzlich hochgeladen

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

The problem with Perl

Hinweis der Redaktion

  1. \n
  2. Perl programmer all my life after university, with the occasional bout of C.\nTook a job at a Java shop 4 years ago, and as luck would have it ended up in a Python one earlier this year.\n
  3. Newcomers have watched the screencast and drank the Kool-Aid. We can show them screencasts, but at some point they&amp;#x2019;ll actually have to build and ship something.\n
  4. &amp;#x201C;Oh, the beauty is that it&amp;#x2019;s so extensible!&amp;#x201D;\nYes, *I and you* can. The newcomers can&amp;#x2019;t, and shouldn&amp;#x2019;t be expected to do so.\nThe point is there are alternatives to Perl where you don&amp;#x2019;t have to hack it.\nAnd if you take that up the chain, it&amp;#x2019;s even worse. All that matters is *shipping*.\n
  5. Perl was fabulous at segmentation, selling to a lot of different people, and regularly upselling them.\nIt has not created new needs, e.g., OO after Java, functional with Haskell, Erlang.\nWe certainly don&amp;#x2019;t seem to find new markets, and seem to be playing catch-up.\n
  6. \n
  7. When was the last time one of the cool kids launched with a Perl API? And why should they, if apparently the majority of new-ish programmers don&amp;#x2019;t use it? This is of course a self-fulfilling prophecy, and the cycle perpetuates itself.\n(Go Cardless, AWS, Rackspace, Streak, Spark Devices, OpenStack)\n
  8. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  9. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  10. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  11. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  12. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  13. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  14. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  15. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  16. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  17. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  18. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  19. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  20. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  21. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  22. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  23. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  24. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  25. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  26. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  27. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  28. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  29. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  30. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  31. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  32. Task::Kensho? WTF? What about Task::ExtendedLibrary or Task::RecommendedModules?\nRegardless, why aren&amp;#x2019;t most of these in standard library?\nMoose et al., Dist::Zilla, Try::Tiny, DBI, Config::*, DateTime, the Perl Email Project, @rjbs, @miyagawa, etc\n
  33. I quite liked the little squiggles before variable names, because I could see what it was. I&amp;#x2019;ve shot myself in the foot in languages that don&amp;#x2019;t have this feature exactly 0 times.\nMoose has become the cheap way out of arguments.\nThe thing is, the competition doesn&amp;#x2019;t need anything like it. Or at all.\n
  34. This helps you catch frequent mistakes.\n
  35. 1 line saved, woohoo!\n
  36. Much better.\n
  37. \n
  38. \n
  39. Oops. UI inconsistency.\n
  40. That makes sense.\n
  41. \n
  42. \n
  43. \n
  44. \n
  45. Detect redundant statements, find optimisations, warn about npes, suggest intelligent completion, not just keywords.\nThe &amp;#x2018;I&amp;#x2019; in IDE means &amp;#x2018;integrated&amp;#x2019;.\nMaven, Ivy, Gradle - manage dependencies, build, test, package, deploy.\n
  46. Detect redundant statements, find optimisations, warn about npes, suggest intelligent completion, not just keywords.\nThe &amp;#x2018;I&amp;#x2019; in IDE means &amp;#x2018;integrated&amp;#x2019;.\nMaven, Ivy, Gradle - manage dependencies, build, test, package, deploy.\n
  47. Detect redundant statements, find optimisations, warn about npes, suggest intelligent completion, not just keywords.\nThe &amp;#x2018;I&amp;#x2019; in IDE means &amp;#x2018;integrated&amp;#x2019;.\nMaven, Ivy, Gradle - manage dependencies, build, test, package, deploy.\n
  48. Detect redundant statements, find optimisations, warn about npes, suggest intelligent completion, not just keywords.\nThe &amp;#x2018;I&amp;#x2019; in IDE means &amp;#x2018;integrated&amp;#x2019;.\nMaven, Ivy, Gradle - manage dependencies, build, test, package, deploy.\n
  49. Detect redundant statements, find optimisations, warn about npes, suggest intelligent completion, not just keywords.\nThe &amp;#x2018;I&amp;#x2019; in IDE means &amp;#x2018;integrated&amp;#x2019;.\nMaven, Ivy, Gradle - manage dependencies, build, test, package, deploy.\n
  50. Detect redundant statements, find optimisations, warn about npes, suggest intelligent completion, not just keywords.\nThe &amp;#x2018;I&amp;#x2019; in IDE means &amp;#x2018;integrated&amp;#x2019;.\nMaven, Ivy, Gradle - manage dependencies, build, test, package, deploy.\n
  51. Perlysense / Rope, EPIC, Padre?\n
  52. \n
  53. Perlysense, EPIC, Padre?\n
  54. Perlysense, EPIC, Padre?\n
  55. \n