SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de joshua.mcadams

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

Mais de 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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

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