<?xml version="1.0" encoding="windows-1252"?>
<node id="905403" title="tangent" created="2011-05-17 22:41:05" updated="2012-02-13 16:43:32">
<type id="15">
user</type>
<author id="905403">
tangent</author>
<data>
<field name="doctext">
&lt;p&gt;
I am not really a 'programmer' in the sense it is used here. I studied English and IT for the Humanities and work in publishing. I came across Perl by looking over the shoulder of a programmer who had come in to do our CGI magic. I went and bought a book called "Perl 5 Complete" which was full of errors and drove me mad. The &lt;a href="http://oreilly.com/perl/"&gt;camel&lt;/a&gt; arrived just in time.
&lt;/p&gt;
&lt;p&gt;
The only other programming language I have used is &lt;a href="http://en.wikipedia.org/wiki/HyperTalk"&gt;HyperTalk&lt;/a&gt; (and it's descendant &lt;a href="http://en.wikipedia.org/wiki/Lingo_(programming_language)"&gt;Lingo&lt;/a&gt;). I am also familiar with &lt;a href="http://en.wikipedia.org/wiki/Logo_(programming_language)"&gt;Logo&lt;/a&gt;, an educational tool which I came across through the work of &lt;a href="http://en.wikipedia.org/wiki/Seymour_Papert"&gt;Seymour Papert&lt;/a&gt;. My early Perl stuff reads like HyperTalk with a few sigils thrown in, and treating the computer like you would a child.&lt;/p&gt;
&lt;blockquote&gt;
One day my daughter came in, looked over my shoulder at some Perl 4 code, and said, "What is that, swearing?" --Larry Wall
&lt;/blockquote&gt;

I like cute method names like &lt;a href="http://search.cpan.org/perldoc?List::MoreUtils"&gt;natatime&lt;/a&gt;(n-at-a-time), onomatopoeic ones like &lt;a href="http://perldoc.perl.org/functions/chomp.html"&gt;chomp&lt;/a&gt;(), and "don't mess with me" ones like &lt;a href="http://perldoc.perl.org/functions/splice.html"&gt;splice&lt;/a&gt;() and &lt;a href="http://search.cpan.org/perldoc?List::Util"&gt;reduce&lt;/a&gt;().

&lt;p&gt;
&lt;b&gt;Illuminating facts about Perl:&lt;/b&gt; (work in progress)
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://sourceforge.net/apps/mediawiki/pdl/index.php?title=Team"&gt;PDL Team Members&lt;/a&gt; (the people behind just one namespace on &lt;a href="http://search.cpan.org/"&gt;CPAN&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://perlmonks.org/?node_id=741564"&gt;There is no Perl Illuminati&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;b&gt;Illuminating perlmonks nodes:&lt;/b&gt; (work in progress)
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://perlmonks.org/?node_id=757127"&gt;tobyink&lt;/a&gt;'s answer to &lt;a href="http://perlmonks.org/?node_id=952087"&gt;What does "! !" do?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;b&gt;Favourite Larry Wall quote:&lt;/b&gt;
&lt;/p&gt;

&lt;blockquote&gt;
Part of what's confusing the issue is that DESTROY is a verb.  It was
done that way by analogy to FETCH and STORE, but the use of a verb is
unfortunate, in retrospect.  I should have named it something like
YOU_ARE_ABOUT_TO_BE_SHOT_DO_YOU_HAVE_ANY_LAST_WORDS.
&lt;br&gt;&lt;br&gt;
Just as an object oriented design will often separate initializers from
constructors, it will also separate finalizers from destructors.
DESTROY is designed to be a destructor that can call a finalizer, but
to confuse it with a finalizer would be, er, confusing.
&lt;/blockquote&gt;

&lt;p&gt;
Bearing in mind I'm no expert, I offer these tips to budding object oriented programmers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;use &lt;a href="http://perldoc.perl.org/parent.html"&gt;parent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;use &lt;a href="http://search.cpan.org/perldoc?Object::Tiny"&gt;Object::Tiny&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;use &lt;a href="http://search.cpan.org/perldoc?Config::Tiny"&gt;Config::Tiny&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;learn to roll your own - here's some &lt;a href="http://perlmonks.org/?node_id=152358"&gt;baccy&lt;/a&gt; and some &lt;a href="http://perlmonks.org/?node_id=556407"&gt;rizzla&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;draw diagrams on paper and keep above your monitor&lt;/li&gt;
&lt;li&gt;it's all in the data (which is never quite what you think it is)&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;</field>
<field name="lasttime">
2013-06-19 04:59:42</field>
<field name="experience">
1149</field>
<field name="user_scratchpad">
905404</field>
<field name="imgsrc">
955117</field>
<field name="timeformat">
</field>
<field name="numwriteups">
125</field>
<field name="location">
Ireland</field>
<field name="timezone">
</field>
<field name="codewrapoff">
</field>
<field name="codewraplength">
</field>
<field name="codeautowrap">
</field>
<field name="codeprefix">
</field>
<field name="codebig">
</field>
</data>
</node>
