<?xml version="1.0" encoding="windows-1252"?>
<node id="93118" title="The Great Tao of Perl" created="2001-07-02 05:52:36" updated="2005-07-27 04:35:12">
<type id="120">
perlmeditation</type>
<author id="92410">
vilk</author>
<data>
<field name="doctext">
A bit of philosophy for us monks. Numbers in parentheses indicate the appropriate passage of the Tao Te Ching.
&lt;P&gt;
Ancient Chinese life philosophy and modern computer science obviously have little to absolutely nothing
to do with each other, right? Wrong. As to which the name of this very website alone attests, the 
spiritual pursuits of Eastern religious orders can be applied, with a dash of imagination and creativity,
to our favorite language: Perl.
&lt;P&gt;
Does Perl have Tao? Mysterious Te? These are questions more appropriately suited to the natural world and
its inhabitants, but there is no reason why they cannot be asked of the glue of Unix. I, as both a Taoist
and a computer scientist, think that, yes, Perl has Tao in the same way that the flow of water around 
stones has great Tao. It merely involves some abstraction.
&lt;P&gt;
As I just mentioned, the flow of water around stones has great Tao. Why? Because this is the lowest state;
water does not contend, it "settles in places everyone else avoids." (8) Tao is all about being in 
harmony by being as nature and the universe: low, soft, uncut, still, feminine. This is not a node about
Taoism itself, so I shall not explain the rudimentaries, but instead urge anyone who has not already done
so to pick up a copy of the [isbn://0679776192|Tao Te Ching].
&lt;P&gt;
&lt;I&gt;"Achieve successes, win the fame, remove yourself: Heaven's Way." (9)&lt;/I&gt;
&lt;P&gt;
To best distinguish yourself in public performance, do the job well and do not capitalize on your success. 
It is best to move on and let your work speak for you. This is doubly true in the field of computer science, 
where a programming language must be judged on its usefulness and applicativity. Java, a language highly touted 
by Sun and other vendors for its portability and object-orientedness, had a very high-profile birth and active,
aggressive marketing. This is not Tao. Anyone who sits down and uses Java will discover that the
advertising is true, but the syntax can be frustrating and cumbersome, and the plethora of classes
overwhelming. Perl, in a much different manner, is a language that runs through all of the Internet
yet is rarely mentioned. System administrators utilize it constantly, yet computer science courses in
universities, as experience has shown, never say specifically say that a Unix system cannot be run
without Perl. It is a language that traveled by word of mouth. The very first Perl advocate I ever
met did not spend an hour explaining in excited detail all the features and what makes it superior, but
instead showed me to the &lt;I&gt;man&lt;/I&gt; pages. This common thread of learning Perl not by its propounded
merits but by regular, real-world application demonstrates its Tao. By lying still and letting its
users come to it shows greatness.
&lt;P&gt;
&lt;I&gt;"Everyone in the world says of me: 'great -- but does not seem normal.' It's just 'greatness' --
that's why it does not seem normal. If I were normal, I'd have been of little worth for a long time now."
(67)&lt;/I&gt;
&lt;P&gt;
What other language has such functions as [perlfunc:bless|bless] and [perlfunc:tie|tie]? The very nature
of the language alludes to Tao. How many languages in active use are explicitly derived from other
languages? C++ is a derivative of C, which is in turn a derivative of B. Java's syntax is quite obviously
derivative of both C and C++, while Visual BASIC is derivative of innumberable versions of BASIC that
came before. Must all popular languages be derived from C or BASIC? It is &lt;I&gt;because&lt;/I&gt; Perl is so
original that it is great. It is &lt;I&gt;because&lt;/I&gt; it is so different that it is so useful. If Perl were
C, why is C not used for sundry tasks like managing quotas or parsing files? Larry Wall chose to take
Perl in a different direction than its contemporaries, choosing a linguistically diverse and strange
vocabulary to create powerful, robust, and, above all, useful functions, syntax, and variables that
make Perl what it is today. Indeed, if it were so much like C, would it be used so much? This greatness,
imbued in the very nature of the language, has much Tao.
&lt;P&gt;
&lt;I&gt;"Who can have an abundance to offer the world? Only the one who has Tao." (77)&lt;/I&gt;
&lt;P&gt;
Finally, let us look at what has been described as the "Swiss Army Chainsaw." The Yang-Tze is king 
of the rivers because it has a hundred streams that all reach the ocean. Perl is great because it
has many possible ways to solve the same task. There is no specific right way to do anything; There's 
Always More Than One Way To Do It. Consider the replies to the questions of [Seekers of Perl Wisdom].
Each question yields multiple answers, each that work and make sense. Perl has an abundance, a wealth,
of capability to provide to anyone who is but willing to learn its use. By using Perl, a programmer
can focus less on actively achieving the result and rest easy that the job is done well. With Perl,
you can "leave 'that' aside and attend to 'this'." (12) In its unlimited usefulness, Perl has allowed
us to spend less time attending to the code itself and more time attending to the administration of
the system, or the website, or whatever your project may be.
&lt;P&gt;
Hopefully, the next time you are easily, cleanly, and efficiently solving a task with but a few lines, 
remember what I have written: Perl has Tao, and it is the nature of the work of Larry Wall and so many
others that makes this language so great. In its abundance, we find greatness. In its humility, we
bask in glory. In its differences, we enjoy its functionality.
&lt;P&gt;
Vilk</field>
</data>
</node>
