SlideShare ist ein Scribd-Unternehmen logo
1 von 35
EPIC Perl Coding YAPC::NA 2007 Houston, TX Josh McAdams
Quick Audience Poll How do you edit your Perl code?
Sweeping Generalizations Ask just about any Perl programmer what he or she uses to edit Perl and you'll get any one of a hand-full of typical answers: - vi (the editor of the beast vi vi vi) - emacs (rms didn't get rms for no reason) - BBEdit - some random windows text editor - Notepad - UltraEdit basically, it all boils down to...
[ This Slide Intentionally Left Blank]
Text Editors Most of these environments are extremely powerful and can get the job done, but they have a problem... ... they can be intimidating
￧√ ￧√
IDEs Yes, most Perl programmers imagine the worst, but a decent IDE really isn't bad to have in your toolkit.  There are a few IDEs out there: - The Open Perl IDE - Komodo - Enginsit's Perl Editor - Affrus - Eclipse
Eclipse Eclipse isn't just a Java IDE, it's actually a pluggable application framework... And one of those plugins happens to be EPIC, an Eclipse plugin for Perl integration.
EPIC What is EPIC? - an Eclipse plugin that customizes the IDE for Perl  development What does it do for me? - syntax highlighting - edit-time syntax checking - code assistants - quick references to perldoc - outline of used modules and subroutines - in-editor source formatting (perltidy) - HTML export - code templates - RegExp plugin - Perl debugger integration (even for web development)
EPIC – The IDE
EPIC – Syntax Highlighting
EPIC – Syntax Checking
EPIC – Code Assistant
EPIC - Perldoc
EPIC – Perldoc Search
EPIC - Outlines
EPIC – Perl Tidy
EPIC – HTML Export
EPIC – HTML Export
EPIC – Code Templates
EPIC - RegExp
EPIC - RegExp
EPIC - Debugging
EPIC – Code Folding
EPIC – Toggle Comments
EPIC – Toggle Comments
EPIC – Refactor
EPIC – Refactor
EPIC – Refactor
EPIC – Refactor
EPIC – Refactor
EPIC – Refactor
Understanding Eclipse - Eclipse thinks in workspaces, projects, views, and  perspectives - A  workspace  is just a location of your code on the  disk - A  project  is a group of files that logically fit together,  sort of like a Perl distribution - A  view  is just a window in the interface that provides  some sort of functionality... an editor, and outline,  etc. - A  perspective  is a grouping of views that help you  effectively do the task at hand... debugging, code  editing, etc.
When To Use Epic - Epic thinks in projects, it is part of a Java IDE, it can  be slow to load and a little overkill for smaller  projects. - Epic/Eclipse is really good at helping you manage  large projects with multiple files and other resources. - Eclipse can be integrated with SVN, database  browsers, and many other tools that can consolidate  all of your project tools into one interface.
Resources Eclipse http://www.eclipse.org/ EPIC http://e-p-i-c.sourceforge.net/ Build Perl applications with Eclipse http://www.ibm.com/developerworks/edu/os-dw-os-perlecl-i.html How to debug Perl apps with Eclipse http://www.ibm.com/developerworks/edu/os-dw-os-perlecl-i.html

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

All the support you need. Support libs in Android
All the support you need. Support libs in AndroidAll the support you need. Support libs in Android
All the support you need. Support libs in Android
 
Ide presentation
Ide presentationIde presentation
Ide presentation
 
Does The Delphi IDE Narrow You? Extend It! - ITDevConX European Delphi Confer...
Does The Delphi IDE Narrow You? Extend It! - ITDevConX European Delphi Confer...Does The Delphi IDE Narrow You? Extend It! - ITDevConX European Delphi Confer...
Does The Delphi IDE Narrow You? Extend It! - ITDevConX European Delphi Confer...
 
Do's and Do not's about p2
Do's and Do not's about p2Do's and Do not's about p2
Do's and Do not's about p2
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
 
All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
 
Lennart Regebro What Zope Did Wrong (And What To Do Instead)
Lennart Regebro   What Zope Did Wrong (And What To Do Instead)Lennart Regebro   What Zope Did Wrong (And What To Do Instead)
Lennart Regebro What Zope Did Wrong (And What To Do Instead)
 
EMPEX LA 2018 - Inclusion Starts with Docs
EMPEX LA 2018 - Inclusion Starts with DocsEMPEX LA 2018 - Inclusion Starts with Docs
EMPEX LA 2018 - Inclusion Starts with Docs
 
Beam me up, scotty (PUG Roma)
Beam me up, scotty (PUG Roma)Beam me up, scotty (PUG Roma)
Beam me up, scotty (PUG Roma)
 
Zero redeployment with JRebel
Zero redeployment with JRebelZero redeployment with JRebel
Zero redeployment with JRebel
 
Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...
 
Using JavaScript for Mobile Development
Using JavaScript for Mobile DevelopmentUsing JavaScript for Mobile Development
Using JavaScript for Mobile Development
 
API Workshop: Deep dive into code samples
API Workshop: Deep dive into code samplesAPI Workshop: Deep dive into code samples
API Workshop: Deep dive into code samples
 
Introduction in the play framework
Introduction in the play frameworkIntroduction in the play framework
Introduction in the play framework
 
利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試
 
Choose flutter
Choose flutterChoose flutter
Choose flutter
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
 
API Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsAPI Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIs
 
Londons Calling 2021
Londons Calling 2021Londons Calling 2021
Londons Calling 2021
 
Writing code samples for API/SDK documentation
Writing code samples for API/SDK documentationWriting code samples for API/SDK documentation
Writing code samples for API/SDK documentation
 

Andere mochten auch (6)

Minding your P's and Q's: Enrich-ing Enlighten
Minding your P's and Q's: Enrich-ing EnlightenMinding your P's and Q's: Enrich-ing Enlighten
Minding your P's and Q's: Enrich-ing Enlighten
 
Ньюслеттер / 2
Ньюслеттер / 2Ньюслеттер / 2
Ньюслеттер / 2
 
Know Your P's and Q's
Know Your P's and Q'sKnow Your P's and Q's
Know Your P's and Q's
 
I know my p's and q's
I know my p's and  q'sI know my p's and  q's
I know my p's and q's
 
Bli kjent med naturfagutstyret på Håvåsen
Bli kjent med naturfagutstyret på HåvåsenBli kjent med naturfagutstyret på Håvåsen
Bli kjent med naturfagutstyret på Håvåsen
 
I Know My P's & Q's
I Know My P's & Q'sI Know My P's & Q's
I Know My P's & Q's
 

Ähnlich wie YAPC::NA 2007 - Epic Perl Coding

Development workflow
Development workflowDevelopment workflow
Development workflow
Sigsiu.NET
 
Interactive Development Environments
Interactive Development EnvironmentsInteractive Development Environments
Interactive Development Environments
Philip Johnson
 
Java compilation
Java compilationJava compilation
Java compilation
Mike Kucera
 

Ähnlich wie YAPC::NA 2007 - Epic Perl Coding (20)

Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
 
Perl ides
Perl idesPerl ides
Perl ides
 
Development workflow
Development workflowDevelopment workflow
Development workflow
 
Java Applications with Visual Studio
Java Applications with Visual StudioJava Applications with Visual Studio
Java Applications with Visual Studio
 
Eclipse As An Ide Why Would You Need Wizards
Eclipse As An Ide Why Would You Need WizardsEclipse As An Ide Why Would You Need Wizards
Eclipse As An Ide Why Would You Need Wizards
 
The End of the world as we know it - AKA your last NullPointerException $1B b...
The End of the world as we know it - AKA your last NullPointerException $1B b...The End of the world as we know it - AKA your last NullPointerException $1B b...
The End of the world as we know it - AKA your last NullPointerException $1B b...
 
Code in the cloud with eclipse che and docker / snowcamp.io 2017
Code in the cloud with eclipse che and docker /  snowcamp.io 2017Code in the cloud with eclipse che and docker /  snowcamp.io 2017
Code in the cloud with eclipse che and docker / snowcamp.io 2017
 
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plansOpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
 
Interactive Development Environments
Interactive Development EnvironmentsInteractive Development Environments
Interactive Development Environments
 
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016
 
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
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
02 java programming basic
02  java programming basic02  java programming basic
02 java programming basic
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable Results
 
VB2013 - Security Research and Development Framework
VB2013 - Security Research and Development FrameworkVB2013 - Security Research and Development Framework
VB2013 - Security Research and Development Framework
 
Java compilation
Java compilationJava compilation
Java compilation
 
Programming
ProgrammingProgramming
Programming
 
Extending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesExtending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with Kubernetes
 
Code Generation in Perl
Code Generation in PerlCode Generation in Perl
Code Generation in Perl
 

Mehr von joshua.mcadams

Open Flash Chart And Perl
Open Flash Chart And PerlOpen Flash Chart And Perl
Open Flash Chart And Perl
joshua.mcadams
 

Mehr von joshua.mcadams (9)

Open Flash Chart And Perl
Open Flash Chart And PerlOpen Flash Chart And Perl
Open Flash Chart And Perl
 
Introduction To Testing With Perl
Introduction To Testing With PerlIntroduction To Testing With Perl
Introduction To Testing With Perl
 
Thank A Cpan Contributor Today
Thank A Cpan Contributor TodayThank A Cpan Contributor Today
Thank A Cpan Contributor Today
 
Utility Modules That You Should Know About
Utility Modules That You Should Know AboutUtility Modules That You Should Know About
Utility Modules That You Should Know About
 
YAPC::NA 2007 - Customizing And Extending Perl Critic
YAPC::NA 2007 - Customizing And Extending Perl CriticYAPC::NA 2007 - Customizing And Extending Perl Critic
YAPC::NA 2007 - Customizing And Extending Perl Critic
 
YAPC::NA 2007 - An Introduction To Perl Critic
YAPC::NA 2007 - An Introduction To Perl CriticYAPC::NA 2007 - An Introduction To Perl Critic
YAPC::NA 2007 - An Introduction To Perl Critic
 
Extending Perl Critic
Extending Perl CriticExtending Perl Critic
Extending Perl Critic
 
An Introduction To Perl Critic
An Introduction To Perl CriticAn Introduction To Perl Critic
An Introduction To Perl Critic
 
Lightning Talk: An Introduction To Scrum
Lightning Talk: An Introduction To ScrumLightning Talk: An Introduction To Scrum
Lightning Talk: An Introduction To Scrum
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

YAPC::NA 2007 - Epic Perl Coding

  • 1. EPIC Perl Coding YAPC::NA 2007 Houston, TX Josh McAdams
  • 2. Quick Audience Poll How do you edit your Perl code?
  • 3. Sweeping Generalizations Ask just about any Perl programmer what he or she uses to edit Perl and you'll get any one of a hand-full of typical answers: - vi (the editor of the beast vi vi vi) - emacs (rms didn't get rms for no reason) - BBEdit - some random windows text editor - Notepad - UltraEdit basically, it all boils down to...
  • 4. [ This Slide Intentionally Left Blank]
  • 5. Text Editors Most of these environments are extremely powerful and can get the job done, but they have a problem... ... they can be intimidating
  • 7. IDEs Yes, most Perl programmers imagine the worst, but a decent IDE really isn't bad to have in your toolkit. There are a few IDEs out there: - The Open Perl IDE - Komodo - Enginsit's Perl Editor - Affrus - Eclipse
  • 8. Eclipse Eclipse isn't just a Java IDE, it's actually a pluggable application framework... And one of those plugins happens to be EPIC, an Eclipse plugin for Perl integration.
  • 9. EPIC What is EPIC? - an Eclipse plugin that customizes the IDE for Perl development What does it do for me? - syntax highlighting - edit-time syntax checking - code assistants - quick references to perldoc - outline of used modules and subroutines - in-editor source formatting (perltidy) - HTML export - code templates - RegExp plugin - Perl debugger integration (even for web development)
  • 11. EPIC – Syntax Highlighting
  • 12. EPIC – Syntax Checking
  • 13. EPIC – Code Assistant
  • 18. EPIC – HTML Export
  • 19. EPIC – HTML Export
  • 20. EPIC – Code Templates
  • 24. EPIC – Code Folding
  • 25. EPIC – Toggle Comments
  • 26. EPIC – Toggle Comments
  • 33. Understanding Eclipse - Eclipse thinks in workspaces, projects, views, and perspectives - A workspace is just a location of your code on the disk - A project is a group of files that logically fit together, sort of like a Perl distribution - A view is just a window in the interface that provides some sort of functionality... an editor, and outline, etc. - A perspective is a grouping of views that help you effectively do the task at hand... debugging, code editing, etc.
  • 34. When To Use Epic - Epic thinks in projects, it is part of a Java IDE, it can be slow to load and a little overkill for smaller projects. - Epic/Eclipse is really good at helping you manage large projects with multiple files and other resources. - Eclipse can be integrated with SVN, database browsers, and many other tools that can consolidate all of your project tools into one interface.
  • 35. Resources Eclipse http://www.eclipse.org/ EPIC http://e-p-i-c.sourceforge.net/ Build Perl applications with Eclipse http://www.ibm.com/developerworks/edu/os-dw-os-perlecl-i.html How to debug Perl apps with Eclipse http://www.ibm.com/developerworks/edu/os-dw-os-perlecl-i.html