Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Why I Am Passionate About Perl


Published on

My keynote address at the Portuguese Perl Workshop 2008 in Braga

Published in: Technology, Education
  • Be the first to comment

Why I Am Passionate About Perl

  1. 1. Why I am Passionate About Perl brian d foy
  2. 2. Perl Experts Why They Are Passionate About Perl perl_experts_why_they_are
  3. 3. The Perl Review Volume 1, Issue 3 Summer 2005 The Perl Review Volume 2, Issue 0 Fall 2005 THE Winter 2007 PERL REVIEW chart_execution leavesub Volume 4, Issue 1 lineseq class aassign nextstate nextstate print nextstate print nextstate null padhv nextstate aassign nextstate nextstate aassign nextstate print nextstate leaveloop leavesub list list pushmark join const pushmark stringify padav padav list list pushmark padav list list pushmark const lineseq entersub pushmark pushmark const mapwhile const rv2sv eq return repeat pushmark pushmark list gv rv2av pushmark return nextstate nextstate sassign nextstate subst sassign nextstate shift rv2cv pushmark pushmark padav padav pushmark null gvsv and pushmark hslice pushmark list enteriter padav padsv pushmark gv null padsv pushmark padsv padsv const gv gv list gv mapstart null const concat mapwhile padhv pushmark padav const pushmark and ref padsv rv2av rv2av scope concat pushmark null padav pushmark iter lineseq chart_entrypoints padsv shift stringify nextstate null mapstart unstack nextstate nextstate null null nextstate print leavesub rv2sv const scope rv2sv padhv pushmark rv2sv method_named pushmark const concat lineseq rv2sv concat pushmark rv2sv nextstate rv2sv exists next gvsv entersub const join rv2sv pushmark const print nextstate sassign nextstate gvsv rv2sv gvsv helem and and pushmark const mapwhile leave concat pushmark gv build_root_records gvsv or rv2sv pushmark entersub null entersub enter nextstate helem const rv2av leavesub next null gvsv mapstart null rv2sv method_named pushmark const concat padsv padsv shift lineseq pushmark rv2sv method_named scope gvsv helem const concat rv2hv return rv2av nextstate aassign pushmarknextstate aassign nextstate padav nextstate nextstate leaveloop nextstate nextstate nextstate leaveloop nextstate nextstate padhv nextstate leaveloop nextstate sassign nextstate aassign gvsv nextstate stringify const rv2hv concat const refgen pushmark list list list list pushmark keys pushmark padav pushmark padsv const entersub list list const rv2sv padsv concat pushmark list entersub pushmark entersub pushmark pushmark list padhv gv pushmark list gv pushmark list gv pushmark pushmark rv2cv grepwhile pushmark concat rv2sv helem const padav pushmark padhv rv2cv pushmark pushmark padhv pushmark rv2cv pushmark null enteriter null enteriter enteriter null pushmark padav gv list null padav pushmark gvsv padav padsv concat padsv const pushmark list gv gv list gv and null and and grepstart null const rv2hv concat pushmark lineseq iter lineseq iter iter lineseq scope anon_1 rv2sv concat push unstack push unstack unstack subst not nextstate leavesub const concat padsv stringify stringify srefgen pushmark padav padav pushmark srefgen const helem padhv rv2sv stringify concat const scope rv2hv lineseq rv2sv const const list pushmark helem const and helem concat const const pushmark list helem const helem const rv2hv helem gv push nextstate concat pushmark helem nextstate gvsv padhv anonhash rv2sv padhv rv2sv postinc const gv anonhash gv rv2sv postinc rv2sv padav shift pushmark rv2sv concat const helem gvsv gvsv padsv rv2sv rv2sv gv rv2hv scope const graph_cv gv scope concat const padsv concat const rv2hv const rv2hv const nextstate helem nextstate helem rv2hv const rv2av iter lineseq leavesub lineseq padsv sassign entersub nextstate nextstate nextstate entersub nextstate aassign entersub nextstate entersub nextstate print nextstate nextstate print entersub nextstate aassign nextstate rv2hv const helem rv2cv padav pushmark rv2sv const pushmark rv2cv padav list list padav rv2cv pushmark padav rv2cv pushmark concat pushmark pushmark const padsv rv2cv pushmark list list walkoptree_simple unstack nextstate helem list gv nextstate concat padsv null padsv list gv pushmark null entersub nextstate gv list gv list helem const gv list rv2av pushmark chart_ranks leavesub const rv2hv const scope rv2hv const rv2hv helem pushmark rv2cv pushmark padav concat const padsv padsv pushmark gv leavesub lineseq padsv nextstate helem padsv list gv const concat rv2hv pushmark lineseq nextstate aassign null nextstate nextstate entersub null nextstate const rv2hv const stringify list list pushmark padsv const method_named rv2sv pushmark padsv rv2cv padsv padhv padsv leaveloop pushmark nextstate print nextstate aassign nextstate concat const pushmark const padav pushmark list list pushmark rv2av entersub aassign list padsv rv2sv bit_and
  4. 4.
  5. 5. • The person who introduced me to Perl showed me that… • I first starting using Perl to… • I kept using Perl because… • I canʼt stop thinking about Perl… • Iʼm still using Perl because… • I get other people to use Perl by… • I also program in … and …, but I like Perl better since…
  6. 6. Jerry Rocteur
  7. 7. Alberto Simões
  8. 8. Jacinta Richardson
  9. 9. Grant McLean
  10. 10. Renée Bäcker
  11. 11. Rafael Garcia-Suarez
  12. 12. brian d foy