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

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Último (20)

TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 

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