SlideShare a Scribd company logo
1 of 28
YAPC Europe ~ Lisboa 2009 cosimo streppone  <cosimo@cpan.org> H õ w  Õ p é r ã  us é s P é rl
Geek company We make a browser, but not only Engineering-driven Most of Opera employees still work in Eng Very smart people I am an exception Opera Software
Opera browser C++, huge number of platforms Opera Mini client - server J2ME, C++, Pike maybe you have it on your phone Opera Turbo C++, Pike, speed up page loading Opera products
C++ Kingdom Perl Republic Python Dictatorship Pike Islands
PRL
Opera Intranet Integrated with company-wide LDAP directory BCD Opera browser Build scripts Composer, to assemble custom versions Distribute, publish on the download system Statistics Browser downloads Opera Mini stats, hundreds of servers worldwide …  hundreds of systems ... Internal systems
www.opera.com Company institutional website my.opera.com Opera Community, browser add-ons, skins Support forums, photo albums, blogs, etc... dev.opera.com Technical in-depth articles Web Standards Curriculum labs.opera.com Public web sites } DML = XML + XSLT
 
Auth.opera.com Central authentication system, user profiles, (soon) single-sign on Auto update Serves component updates Site-check Fraud, malware, phishing protection ASD (Alien service discovery) Opera Unite related, tracks logged in users Connects them together Browser integration systems
Opera Link Recently added Perlbal. Cut  90%  load. In 1 day. Browser integration systems
ok, great, but...
Very few people, but very  noisy Usually  young  people Experienced developers don't care Tendency to  generalize  about Perl and Perl folks... Perl “bashing”...
 
Python getting more and more popular “ They just know Perl, that's why they stick to it” “ Perl is not suited for large applications” “ Perl is a write-only language” (ever heard this?) “ Perl sucks” “ No interesting jobs” Perception
We know what the reality is: Perl  runs everywhere  (and I mean everywhere) Large  or small-scale applications … Python code can be horrible too... Python projects can fail too... Reality
Understand better how Perl is  really perceived and possibly why Expected 10 answers  and some boos Got  lots  of answers (and  some boos ) Survey: Perl in Opera Software
Survey: Perl in Opera Software Most common reason for “Perl is awful” Syntax is too complicated Most common reason for “Perl is great” Syntax is flexible Make it an expressive language
Survey: Perl in Opera Software Most people that  complain about syntax have  none or very little experience  in Perl
Survey: Perl in Opera Software 70% CPAN is an extremely valuable resource
Survey: Perl in Opera Software 1% Strawberry Perl users
Varies greatly “ Legacy” systems We're trying to build a “Quality Culture” Prepare to be shocked... :) Quality of Perl work in Opera
 
We are the Perl Community! Aim for the  highest quality Set documentation and coding  guidelines  in your team Respect them! No  quick & dirty  please We can make a difference...
More CPAN Munin realtime statistics Storage subsystem Opera-core foundation classes More “modern” Perl Migrate majority of systems to 5.10.x More Catalyst? More Moose? Future of Perl at Opera
 
Strive for  high quality Write about Perl. Go, Ironman! Get your company (more) on  CPAN Hire  unexperienced young  developers. Train  them. Perl is  never  the problem. Call to action!
obrigado! ¿perguntas?
opera.com/jobs jobs.perl.org

More Related Content

Similar to YAPC::EU::2009 - How Opera Software uses Perl

Cross Device Accessibility
Cross Device AccessibilityCross Device Accessibility
Cross Device AccessibilityChris Mills
 
Workshop Trends In Open Source Tech 1 20 10
Workshop Trends In Open Source Tech 1 20 10Workshop Trends In Open Source Tech 1 20 10
Workshop Trends In Open Source Tech 1 20 10NuRelm
 
2019-03 PHP without PHP Architecture @ Confoo
2019-03 PHP without PHP Architecture @ Confoo2019-03 PHP without PHP Architecture @ Confoo
2019-03 PHP without PHP Architecture @ Confooterry chay
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
Jared Whitlock Open Source In The Enterprise Plone @ Novell
Jared Whitlock   Open Source In The Enterprise    Plone @ NovellJared Whitlock   Open Source In The Enterprise    Plone @ Novell
Jared Whitlock Open Source In The Enterprise Plone @ NovellVincenzo Barone
 
Enterprise Perl
Enterprise PerlEnterprise Perl
Enterprise PerlDave Cross
 
Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Francesco Fullone
 
Federico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi
 
Phoenix for Rubyists
Phoenix for RubyistsPhoenix for Rubyists
Phoenix for RubyistsDoug Goldie
 
Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...
Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...
Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...Arnauld Loyer
 
NPR API: Create Once Publish Everywhere
NPR API: Create Once Publish EverywhereNPR API: Create Once Publish Everywhere
NPR API: Create Once Publish Everywherezachbrand
 
Ed. Technology Council Open Source Presentation
Ed. Technology Council Open Source PresentationEd. Technology Council Open Source Presentation
Ed. Technology Council Open Source PresentationHillside Community School
 
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)Tim Bunce
 
LAMP institute in Coimbatore|LAMP courses in Coimbatore|LAMP training in Coim...
LAMP institute in Coimbatore|LAMP courses in Coimbatore|LAMP training in Coim...LAMP institute in Coimbatore|LAMP courses in Coimbatore|LAMP training in Coim...
LAMP institute in Coimbatore|LAMP courses in Coimbatore|LAMP training in Coim...sathyancegon
 

Similar to YAPC::EU::2009 - How Opera Software uses Perl (20)

Cross Device Accessibility
Cross Device AccessibilityCross Device Accessibility
Cross Device Accessibility
 
Workshop Trends In Open Source Tech 1 20 10
Workshop Trends In Open Source Tech 1 20 10Workshop Trends In Open Source Tech 1 20 10
Workshop Trends In Open Source Tech 1 20 10
 
2019-03 PHP without PHP Architecture @ Confoo
2019-03 PHP without PHP Architecture @ Confoo2019-03 PHP without PHP Architecture @ Confoo
2019-03 PHP without PHP Architecture @ Confoo
 
Minimal reason to learn Perl
Minimal reason  to learn PerlMinimal reason  to learn Perl
Minimal reason to learn Perl
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
Jared Whitlock Open Source In The Enterprise Plone @ Novell
Jared Whitlock   Open Source In The Enterprise    Plone @ NovellJared Whitlock   Open Source In The Enterprise    Plone @ Novell
Jared Whitlock Open Source In The Enterprise Plone @ Novell
 
Python overview
Python overviewPython overview
Python overview
 
Enterprise Perl
Enterprise PerlEnterprise Perl
Enterprise Perl
 
Python
PythonPython
Python
 
Lamp presentation
Lamp presentationLamp presentation
Lamp presentation
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
Technology trends and the skills you should learn
Technology trends and the skills you should learnTechnology trends and the skills you should learn
Technology trends and the skills you should learn
 
Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!
 
Federico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi Php In Yahoo
Federico Feroldi Php In Yahoo
 
Phoenix for Rubyists
Phoenix for RubyistsPhoenix for Rubyists
Phoenix for Rubyists
 
Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...
Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...
Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...
 
NPR API: Create Once Publish Everywhere
NPR API: Create Once Publish EverywhereNPR API: Create Once Publish Everywhere
NPR API: Create Once Publish Everywhere
 
Ed. Technology Council Open Source Presentation
Ed. Technology Council Open Source PresentationEd. Technology Council Open Source Presentation
Ed. Technology Council Open Source Presentation
 
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)
 
LAMP institute in Coimbatore|LAMP courses in Coimbatore|LAMP training in Coim...
LAMP institute in Coimbatore|LAMP courses in Coimbatore|LAMP training in Coim...LAMP institute in Coimbatore|LAMP courses in Coimbatore|LAMP training in Coim...
LAMP institute in Coimbatore|LAMP courses in Coimbatore|LAMP training in Coim...
 

More from Cosimo Streppone

How we use and deploy Varnish at Opera
How we use and deploy Varnish at OperaHow we use and deploy Varnish at Opera
How we use and deploy Varnish at OperaCosimo Streppone
 
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Cosimo Streppone
 
Velocity 2012 - Learning WebOps the Hard Way
Velocity 2012 - Learning WebOps the Hard WayVelocity 2012 - Learning WebOps the Hard Way
Velocity 2012 - Learning WebOps the Hard WayCosimo Streppone
 
VUG5: Varnish at Opera Software
VUG5: Varnish at Opera SoftwareVUG5: Varnish at Opera Software
VUG5: Varnish at Opera SoftwareCosimo Streppone
 
Velocity 2011 - Our first DDoS attack
Velocity 2011 - Our first DDoS attackVelocity 2011 - Our first DDoS attack
Velocity 2011 - Our first DDoS attackCosimo Streppone
 
Mojolicious: what works and what doesn't
Mojolicious: what works and what doesn'tMojolicious: what works and what doesn't
Mojolicious: what works and what doesn'tCosimo Streppone
 
Surge 2010 - from disaster to stability - scaling my.opera.com
Surge 2010 - from disaster to stability - scaling my.opera.comSurge 2010 - from disaster to stability - scaling my.opera.com
Surge 2010 - from disaster to stability - scaling my.opera.comCosimo Streppone
 
My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009Cosimo Streppone
 
NPW2009 - my.opera.com scalability v2.0
NPW2009 - my.opera.com scalability v2.0NPW2009 - my.opera.com scalability v2.0
NPW2009 - my.opera.com scalability v2.0Cosimo Streppone
 
IPW2008 - my.opera.com scalability
IPW2008 - my.opera.com scalabilityIPW2008 - my.opera.com scalability
IPW2008 - my.opera.com scalabilityCosimo Streppone
 

More from Cosimo Streppone (11)

How we use and deploy Varnish at Opera
How we use and deploy Varnish at OperaHow we use and deploy Varnish at Opera
How we use and deploy Varnish at Opera
 
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013
 
Velocity 2012 - Learning WebOps the Hard Way
Velocity 2012 - Learning WebOps the Hard WayVelocity 2012 - Learning WebOps the Hard Way
Velocity 2012 - Learning WebOps the Hard Way
 
Italian, do you speak it?
Italian, do you speak it?Italian, do you speak it?
Italian, do you speak it?
 
VUG5: Varnish at Opera Software
VUG5: Varnish at Opera SoftwareVUG5: Varnish at Opera Software
VUG5: Varnish at Opera Software
 
Velocity 2011 - Our first DDoS attack
Velocity 2011 - Our first DDoS attackVelocity 2011 - Our first DDoS attack
Velocity 2011 - Our first DDoS attack
 
Mojolicious: what works and what doesn't
Mojolicious: what works and what doesn'tMojolicious: what works and what doesn't
Mojolicious: what works and what doesn't
 
Surge 2010 - from disaster to stability - scaling my.opera.com
Surge 2010 - from disaster to stability - scaling my.opera.comSurge 2010 - from disaster to stability - scaling my.opera.com
Surge 2010 - from disaster to stability - scaling my.opera.com
 
My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009
 
NPW2009 - my.opera.com scalability v2.0
NPW2009 - my.opera.com scalability v2.0NPW2009 - my.opera.com scalability v2.0
NPW2009 - my.opera.com scalability v2.0
 
IPW2008 - my.opera.com scalability
IPW2008 - my.opera.com scalabilityIPW2008 - my.opera.com scalability
IPW2008 - my.opera.com scalability
 

Recently uploaded

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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
"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
 
"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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 

Recently uploaded (20)

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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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
 
"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
 
"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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 

YAPC::EU::2009 - How Opera Software uses Perl

  • 1. YAPC Europe ~ Lisboa 2009 cosimo streppone <cosimo@cpan.org> H õ w Õ p é r ã us é s P é rl
  • 2. Geek company We make a browser, but not only Engineering-driven Most of Opera employees still work in Eng Very smart people I am an exception Opera Software
  • 3. Opera browser C++, huge number of platforms Opera Mini client - server J2ME, C++, Pike maybe you have it on your phone Opera Turbo C++, Pike, speed up page loading Opera products
  • 4. C++ Kingdom Perl Republic Python Dictatorship Pike Islands
  • 5. PRL
  • 6. Opera Intranet Integrated with company-wide LDAP directory BCD Opera browser Build scripts Composer, to assemble custom versions Distribute, publish on the download system Statistics Browser downloads Opera Mini stats, hundreds of servers worldwide … hundreds of systems ... Internal systems
  • 7. www.opera.com Company institutional website my.opera.com Opera Community, browser add-ons, skins Support forums, photo albums, blogs, etc... dev.opera.com Technical in-depth articles Web Standards Curriculum labs.opera.com Public web sites } DML = XML + XSLT
  • 8.  
  • 9. Auth.opera.com Central authentication system, user profiles, (soon) single-sign on Auto update Serves component updates Site-check Fraud, malware, phishing protection ASD (Alien service discovery) Opera Unite related, tracks logged in users Connects them together Browser integration systems
  • 10. Opera Link Recently added Perlbal. Cut 90% load. In 1 day. Browser integration systems
  • 12. Very few people, but very noisy Usually young people Experienced developers don't care Tendency to generalize about Perl and Perl folks... Perl “bashing”...
  • 13.  
  • 14. Python getting more and more popular “ They just know Perl, that's why they stick to it” “ Perl is not suited for large applications” “ Perl is a write-only language” (ever heard this?) “ Perl sucks” “ No interesting jobs” Perception
  • 15. We know what the reality is: Perl runs everywhere (and I mean everywhere) Large or small-scale applications … Python code can be horrible too... Python projects can fail too... Reality
  • 16. Understand better how Perl is really perceived and possibly why Expected 10 answers and some boos Got lots of answers (and some boos ) Survey: Perl in Opera Software
  • 17. Survey: Perl in Opera Software Most common reason for “Perl is awful” Syntax is too complicated Most common reason for “Perl is great” Syntax is flexible Make it an expressive language
  • 18. Survey: Perl in Opera Software Most people that complain about syntax have none or very little experience in Perl
  • 19. Survey: Perl in Opera Software 70% CPAN is an extremely valuable resource
  • 20. Survey: Perl in Opera Software 1% Strawberry Perl users
  • 21. Varies greatly “ Legacy” systems We're trying to build a “Quality Culture” Prepare to be shocked... :) Quality of Perl work in Opera
  • 22.  
  • 23. We are the Perl Community! Aim for the highest quality Set documentation and coding guidelines in your team Respect them! No quick & dirty please We can make a difference...
  • 24. More CPAN Munin realtime statistics Storage subsystem Opera-core foundation classes More “modern” Perl Migrate majority of systems to 5.10.x More Catalyst? More Moose? Future of Perl at Opera
  • 25.  
  • 26. Strive for high quality Write about Perl. Go, Ironman! Get your company (more) on CPAN Hire unexperienced young developers. Train them. Perl is never the problem. Call to action!