[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Perl
On May 28, 2011, at 12:54 AM, DJ Delorie wrote:
>
> This is more anecdotal than anything else...
>
>>> I'm a Perl fan myself.
>>
>> (shudder)
>
> Just before I learned Perl (WAY before python existed, before perl 5
> even), my manager was talking to *his* manager about this nifty new
> tool called "perl" that they just discovered. Apparently, their
> metric for whether it was good or not was whether or not I knew how to
> use it already ;-)
>
> "Does DJ know how to use it?"
> "No"
> "Why not?"
> "He hasn't needed to yet."
My intro to Perl was about 20 years ago, when one of my Japanese colleagues asked me to bring a couple of copies of the Perl book over, because it was unavailable in Japan. So, I bought them at Quantum Books. I read one of them on the long plane flight. My impression then is the same as it is now: Perl is a crazy, complex, undisciplined shotgun marriage between AWK and sh. The contrast between the extreme discipline of AWK's design and Perl's sloppiness is striking.
>
> Shortly after, I needed it, so I learned it. It'll be the same with
> Python, just like it was with Scheme. I'm a compiler engineer -
> picking up languages is second nature to me.
I've been a compiler engineer a couple of times, back when a lot of design discipline was needed (because without care, your code either wouldn't fit in memory, or would be intolerably slow from disk thrashing). A simple related project involved implementing structured flow control in an assembly language: that had long-lasting consequences (http://www.frankston.com/public/?name=ImplementingVisiCalc). And I've written code in dozens of languages (I lost count decades ago). I won't recommend FORTRAN II, METASYMBOL, SNOBOL3, PL/I, or FORTH for this job ;-)
>
> It happens that most of the Fedora infrastructure is all python
> scripts anyway, so it's not a big deal if I have to learn it, it's
> just that I've been using Perl so far and it always seems to have the
> features I want. In this case, the key feature is:
>
> You can implement arrays of hashes, hashes of arrays, arrays of
> arrays, and hashes of hashes.
That's not a "feature" in my book: it's fundamental to this class of language. Composition.
>
> This feature, for exmaple, allows us to encode a complete gEDA project
> (sch+pcb+whatever) in a single perl variable!
No problem doing that in Python. Or even ECD BASIC in 1978.
>
> But as they say, if there's a way to do it in Perl, there's more than
> one way to do it in Perl, so yes, the likelyhood of inconsistent
> styles is very high.
I can't imagine a sane *design* process for anything even moderately complicated in Perl.
John Doty Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user