Core Hackers of the Caribbean: The Curse of the Black Perl Chip Salzenberg <chip@topsy.com>
Core Hacking Myths <ul><li>Perl 5 dead end
Difficult job
Unforgiving language (C)
Extreme portability
Twisty maze of macros
Cruft and inconsistency
Picky pumpkings
Delayed gratification </li></ul>
The Truth Behind the Myths <ul><li>They're all true
But they're not obstacles
Hacking the Perl 5 core is fun
That's why I do it </li></ul>
True Myth #1: Perl 5 is Doomed <ul><li>Yes ... eventually:  “In the long run, we are all dead.” – Keynes
Upcoming SlideShare
Loading in …5
×

Core Hackers of the Caribbean: The Curse of the Black Perl

945 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
945
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Core Hackers of the Caribbean: The Curse of the Black Perl

  1. 1. Core Hackers of the Caribbean: The Curse of the Black Perl Chip Salzenberg <chip@topsy.com>
  2. 2. Core Hacking Myths <ul><li>Perl 5 dead end
  3. 3. Difficult job
  4. 4. Unforgiving language (C)
  5. 5. Extreme portability
  6. 6. Twisty maze of macros
  7. 7. Cruft and inconsistency
  8. 8. Picky pumpkings
  9. 9. Delayed gratification </li></ul>
  10. 10. The Truth Behind the Myths <ul><li>They're all true
  11. 11. But they're not obstacles
  12. 12. Hacking the Perl 5 core is fun
  13. 13. That's why I do it </li></ul>
  14. 14. True Myth #1: Perl 5 is Doomed <ul><li>Yes ... eventually: “In the long run, we are all dead.” – Keynes
  15. 15. Perl 6 is not the next version of Perl 5, it's a new language inspired by Perl 5
  16. 16. Did Scheme kill Lisp? Did C++ kill C?
  17. 17. Perl 5 will be a going concern for a long time
  18. 18. The Black Pearl was consigned to Davy Jones's locker ... but not for long </li></ul>
  19. 19. True Myth #2: Perl 5 Core Hacking is Hard <ul><li>Difficult jobs can be fun when they're rewarding
  20. 20. Boredom is nature's way of telling you that you have nothing left to learn
  21. 21. You learn a lot about Perl and C hacking the core
  22. 22. Amaze your friends! Confound your enemies! </li></ul>
  23. 23. True Myth #3: C is a Dangerous Tool <ul><li>It's so powerful that it's too easy to do something dangerous?
  24. 24. Sounds familiar doesn't it </li></ul>
  25. 25. True Myth #3: C is a Dangerous Tool <ul><li>It's so powerful that it's too easy to do something dangerous?
  26. 26. Sounds familiar doesn't it
  27. 27. “Industrial-strength also means not safe for pets and small children” (thanks Peter Norton) </li></ul>
  28. 28. C is a Good Language (for some things) <ul><li>I've used many assembly languages
  29. 29. C is as safe as a bumper car in comparison
  30. 30. C optimizers are mostly Very Good
  31. 31. It is possible and fun to write good C
  32. 32. C as a language has much to recommend it
  33. 33. Perl stole much C syntax and semantics for a reason – Larry has good taste
  34. 34. C type system plus a few carefully written macros = compiler is your friend </li></ul>
  35. 35. True Myth #4: Core is Extremely Portable <ul><li>Portability: “I have it” != “I can use it”
  36. 36. Requires effort and attention, and testers
  37. 37. Perl 5.8 (?) uses ISO C
  38. 38. Perl 5.12 will probably use inline functions
  39. 39. Metaconfig does detective work
  40. 40. Portable C is a useful skill </li></ul>
  41. 41. True Myth #5: Twisty Maze of Macros <ul><li>Most of the core learning curve is related to macros
  42. 42. Some macros could be more usable
  43. 43. Many macros could now be inline functions
  44. 44. Core hacking fun: doing this
  45. 45. Side job: Supporting old XS </li></ul>
  46. 46. True Myth #6: Cruft and Inconsistency <ul><li>Too many cooks have made a hash of many patterns
  47. 47. “One of these things is not like the others:” </li><ul><li>XPV XPVIV XAVMG REGEXP </li></ul><li>Core hacking fun: fixing this </li><ul><li>Detective work
  48. 48. Redesign work
  49. 49. Side job: Supporting old XS </li></ul></ul>
  50. 50. True Myth #7: Picky Pumpkings <ul><li>Pumpkings are picky, sometimes with good reason
  51. 51. A pumpking who can't say no fails
  52. 52. A pumpking who can't say yes also fails
  53. 53. Git branching allows cheap experiments
  54. 54. New “corehackers” git repo will attract cutting edge testers and wider peer review </li></ul>
  55. 55. True Myth #8: Delayed Gratification <ul><li>Perl releases are few and far between
  56. 56. Corehacker releases should be frequent, on the Parrot/Rakudo model
  57. 57. Perl 5 release process apparently needs some reengineering (?)
  58. 58. Hacking fun: fixing this </li><ul><li>Constantly updated perldelta
  59. 59. Side order: 5.10.1 perldelta </li></ul></ul>
  60. 60. Share & Enjoy! <ul><li>Initial tasks: feature-neutral improvements, function signatures, interesting compilation callbacks
  61. 61. How to share and discuss other tasks? Open problem
  62. 62. Submit code to corehackers: mail patches and git repo links to p5p
  63. 63. Corehacker branch a group effort: </li><ul><li>chip, sungo, more to come </li></ul></ul>

×