I agree with you that Perl is not always the right tool for
the job. I even agree with you on some of what its
However I have to disagree on your belief that somehow other
languages are necessarily better. My opinions have come up
before. For instance I state them at length in
RE (tilly) 1: Java vs. Perl from the CB. More (IMO good) points at RE (tilly) 3 (disaster): Java vs. Perl from the CB.
There is no silver bullet for maintainability, and indeed
it is a sore spot for the whole industry.
That said, the kid you see breaking a Perl project will
cause pain on a Java project as well. IMO the only good
ways to use incompetent people are move them to someone you
don't like, put them on data entry problems where you don't
really care what they do, or invest the time and energy to
make them competent. I prefer the last option but YMMV.
But I don't consider it a good criticism of a language
that it gives people who shouldn't be given responsibility
the ability to cause damage if they are given that
responsibility. To me that is, "Well, duh. Don't give
them responsibility." But I would diss a language
for making competent people unproductive...
Now, Perl is not right for all problems. I agree that large
OO projects are an example of a problem it is bad for.
Another is complex GUIs. Another is anything where tight
space/time optimizations matter. (Just ask jcwren for
more on that.) So learn its strengths and weaknesses, then
use it where it fits.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link
or How to display code and escape characters
are good places to start.