On one level you're right. Languages are designed to fit
with our personal understanding and methods of thought.
The early programming languages took none of this into account,
which made software design difficult at best. Most languages
take the approach of, "The reason software design is difficult
is that you're not using enough (functions|variables|comments|linguistic_names|classes|libraries).
In truth, the reason programming is so difficult is that
thinking is so difficult.
Most people have a prefered method of thinking and
do not want
to change that. Programming opens you up to new ways of
thinking, and Perl opens you up the most because it encourages
so many different ways of attacking a problem.
So in some sense,
princepawn, you're also wrong. That's
because if the language doesn't make sense to you, the
programmer, the problem is with the programmer for being
unwilling to adopt the language's mindset. And this is as
true of Cobol as it is of Perl, although Perl definitly
encouages more ways of thinking about a problem.
Princepawn, I feel like your view of the perl mindset is,
"Whatever makes sense to my mind should be easy to describe
in perl." You're claiming that you are the "enlightened" one
and that it's perl's job to enlighten itself. In reality,
each time you say, "This doesn't make sense to me-- someone
else must have done this wrong," you move further away from
understanding the true purpose of perl.
The true purpose of perl is to serve others, but it can
only do this if you humble your mind. But much like
enlightenment, I suppose that needs to be experienced, not
explained.
-Ted