Fellow monks,

Several last months I've been busy with "management" work much more than "real" work and my black thoughts took anvantage of it and sneaked out of dark places of my mind. They whipered all the time "What if you made wrong decision? What if Perl is not the right platform for you?" ... Brrrrrrr

And just when these toughts did thier work, coleague of mine started to talk about Java. I have put aside Java long ago as "too cumbersome" for a skilled programmer, too unfinished, too binding ... I considered Java only to be anohther "right thing to do this year". I'm realy fiery evangelist of object-oriented programming, but Java looked to me that it took object orientation by the wrong end.

... but ...

Now, as I browse through all the ugly Java API acronyms, I've realized that some of these will be quite handy in Perl. Yes, yes, I hear you all, we have CPAN. But, look at the CPAN. Plethora of different modules, different APIs, different ways how to do one single thing. Yes, I still hear you, TIMTOWTDI you say. But, on the other hand, try to imagine a perl newbie that wants to write a simple WWW application. Simple web shop, let's say. First thing that he gets upon is CGI.pm. What kind of good, clean and simple application can one write using CGI.pm except for "hello world"? And still he has many thinks to decide yet. He has to find some session module, some templating system, etc. He starts to modify his ugly application to suit these and make it even uglier. Then he founds his ugly app unmaintanable and starts over, maybe using some other language ...

Look at Java now. First thing a WWW-oriented newbe is pushed to is JSP. Quite nice looking embeded language. He soon learns how to use Java Beans, if he wants to use a directory, he has JNDI, if he wants to process XML he has JAX* APIs. He is keeps his nose pointed in the right direction.

Hey, hey, stop beating me! I'm not telling that everyone here has to covert to Java instantly and to preach Java relegion!
I'm just trying to tell that some definition of Perl APIs and frameworks will be great help for Perl community. For example I would like to see some standard Perl-like way of XML processing. Or some kind of standard Web Application Framework. Or object persistece layer. Note that I do not want to see standard implementation but standard API for which several implementations may exist.

Two years ago there was nothing like object persistence attempts in Perl, so I started to write my own. There was nothing like fine-looking XML-based Web Application Framework. Now I have my own. But this path leads to the binary hell, no one can write its own API for general use. It should be the community work to do.

I suppose that Perl community should start (re)design first, review second and to code last. Some order in the Perl chaos will be welcome, at leas by such a humble monk as me.


In reply to Order in Perl chaos? by gildir

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.