Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: What's wrong with re-inventing wheels

by grinder (Bishop)
on Jul 10, 2006 at 23:43 UTC ( [id://560275]=note: print w/replies, xml ) Need Help??


in reply to What's wrong with re-inventing wheels

I see the point you're trying to make, but I think choosing templating systems as the point of focus misses an obvious point: invent wheels by all means, but make sure that you're not trying to invent something in an overcrowded domain.

Templating systems are not difficult to write, they don't have to do much, and there aren't many different ways of doing it. It's just a glorified macro processor. And Perl is naturally good at that sort of stuff. Writing the 85th templating system is not going to set the world on fire: you are never going to achieve significant market share. Inertia, and worse is better will kill you before you build any momentum up.

Now a place where I'd be happy to see a wheel or two invented is in the realm of LDAP processing. Net::LDAP is great, but it's low level. It takes half a dozen statements just to get an encrypted session going. The error handling is bezerk. The LDAP query language has a funny lisp-like syntax. But you specify what you want to get back as a list. Some of the things you get back have one value. Some have one or many values. Some always have many values. Sometimes you want to move a bunch of leaves in an LDAP branch according to some criteria. Sometimes you want to do search and replace missions. Sometimes you want to add an attribute to a whole pile of objects.

Doing these sorts of ad-hoc operations with a few lines of user code is my grail. It is really, really hard. With Net::LDAP, you wind up writing a lot of make-work code. I've been writing a lot of bespoke code to do this stuff for a few years now. Despite my best efforts and stepping back and looking at what I write, trying to synthesise a more generalised approach that doesn't sacrifice flexibility, the solution remains elusive.

If you come up with a concise method for specifying general LDAP operations with short, idiomatic Perl code and the world will beat a path to your door. Write a new templating system, and no-one will ever hear you.

• another intruder with the mooring in the heart of the Perl

  • Comment on Re: What's wrong with re-inventing wheels

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://560275]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2024-04-24 09:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found