All Pages All Books|
|
||
|
problem to the customer, because you don’t like sitting through long, boring meetings.
• Hubris is courage born from the fear your code will be too complex for others to understand. Hubris makes you strive for positive feed-back and to react quickly to negative feedback from your peers, the computer, and the customer.
Larry Wall, Perl’s inventor, calls these values the “three great virtues of a programmer”.1 They tell us why Perl is the way it is: a language that grows organically to meet the demands of its customers.
3.2 Customer-Orientation
Perl and XP were invented in the trenches. Larry Wall had to produce reports for configuration management based on netnews.2 Kent Beck was tasked with saving the Chrysler Comprehensive Compensation project. Nei-ther Perl nor XP were designed in the ivory towers of academia. Both XP and Perl were developed to solve a specific problem, and quickly so that Kent and Larry would keep their jobs.
It’s too early to tell with XP, but Perl has remained true to its roots. Perl continues to evolve based on feedback from its customers: the Perl community. Features are added or changed if enough people clamor for them.
This smorgasbord approach to programming languages is non-traditional, much like XP’s focus on people over process is non-traditional in the de-velopment methodology community. Perl gives you a wide variety of tools without constraining how you use them. For example, Perl is object-oriented but objects aren’t required to create modules or scripts. Perl programmers aren’t forced to encapsulate all their code in objects to solve every problem, especially when simpler alternatives exist.3 XP asks you to ignore what you aren’t going to need, and Perl lets you put this principle into action.
|
||
|
|
||
|
Programming Perl, 3rd Edition by Larry Wall et al, p xix.
This wonderful story of doing the simplest thing that could possibly work is elaborated in Programming Perl, p. 646.
See Object-Oriented Programming in It’s a SMOP for an example of when objects obfuscate.
Copyright © 2004 Robert Nagler 18
All rights reserved nagler@extremeperl.org
|
||
|
|
||
All Pages All Books