Your SlideShare is downloading. ×
0
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Yapc2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Yapc2012

1,048

Published on

An overview of stuff I learned teaching perl last year, and what I might do differently if I did it again in the future

An overview of stuff I learned teaching perl last year, and what I might do differently if I did it again in the future

Published in: Education, Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,048
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Teaching Perl For Fun and Advocacy By John Napiorkowski, Sponsored by Shutterstock, LLC Copyright 2012
    • 2. Images Courtesy of Shutterstockhttp://www.shutterstock.com/jobs.mhtml
    • 3. With Thanks ToGeneral Assembly http://generalassemb.ly/
    • 4. http://www.onyxneon.com/books/modern_perl/index.html
    • 5. What Sucks About Perl?
    • 6. Line Noise / Write Only Ugly Only good for Scripts There are BetterNot Modern Options Fine for Text ProcessingPerl Is Dead Hard To Learn Terrible Docs CPAN is Busted!
    • 7. For me, Inspiration is helping someone construct their own version of the idea,which is appropriate to their needs and conceptual context.
    • 8. my $first_class = Perl->o_fun
    • 9. One Liner Example$perl -MModern::Perl -ne say "Hello ". $_JohnHello John
    • 10. Step By Step• Command Interpreter• Switches• Code• STDIN/OUT• Implicit Arguments
    • 11. As A Script #!/usr/bin/env perluse Modern::Perl;say "Hello ". shift;
    • 12. $ perl myscript.pl JohnHello John
    • 13. A Reusable Objectpackage HelloName;use Moose;has name => (is=> "ro", required=>1);sub hello { my ($self) = @_; return "Hello ".$self->name;}1;
    • 14. Using Your Object #!/usr/bin/env perluse Modern::Perl;use HelloName;my $obj = HelloName->new(name=>shift);say $obj->hello;
    • 15. $ perl myscript2.pl JohnHello John
    • 16. Testing use HelloName;use Test::Most;my $obj = HelloName->new(name=>John);is $obj->name, John;is $obj->hello, Hello John;done_testing;
    • 17. $ prove -v hello-name.thello-name.t ..ok 1ok 21..2okAll tests successful.Files=1, Tests=2, 0 wallclock secsResult: PASS
    • 18. As a Website use Modern::Perl;use HelloName;my $obj = HelloName->new( name => $ENV{HelloName_name} );my $app = sub { return [ 200 => [ "Content-Type" => "text/plain"], [ $obj->hello ], ];};
    • 19. $ HelloName_name=John plackup app.psgiHTTP::Server::PSGI: Accepting connectionsat http://0:5000/
    • 20. perldoc plackup
    • 21. A Running Website!
    • 22. How To Learn More• Modern Perl book• Task::Kensho• perl.org• Books (Catalyst Book)• IRC and Mailing lists
    • 23. Classes 2 - 8• Perl: History, ecosystem, community and installing.• More Perl than I got paid to know at my first job.• Creating your first Perl Application and following community standards.• Perl: Review idioms and common solutions.• Objects: Moose, strategies for reusability.• Working: Building the Guestbook Application• Summary: Review, things to avoid, where to go next.
    • 24. (Guest Lecture on Task::Kensho)++
    • 25. APEIRON++
    • 26. GeneralAssembly::Guestbookhttps://github.com/jjn1056/GeneralAssembly-Guestbook
    • 27. “Perl was always designed to be an Evolving Language”- Larry Wall, Original Perl Language Designer
    • 28. Student Feedback• Liked implicit arguments and return values.• Neutral on syntax and $@%*.• Appreciation for cpanm, local::lib, perlbrew.• Plack is a hit...• ...and so was Moose!
    • 29. Stumbled a bit on installing Perl and CPAN modules, anda bit of trouble understanding local::lib.
    • 30. Jury out on documentation and learning tools
    • 31. The First Class is Great :)
    • 32. The Second Class should have beenfocused exclusively on Installing Perl
    • 33. “More Perl than I got paid to know at my first job.” Maybe next time use an old script as an example?
    • 34. Make Better Use of Social Media
    • 35. Guest Lecturer was a good idea
    • 36. (system Perl)--
    • 37. Paper Handouts / Take-aways?
    • 38. http://www.shutterstock.com/jobs.mhtml

    ×