On Feb 28, 2005, at 11:18 AM, James Linden Rose, III wrote:
they could then use their certified credentials to suggest Perl for
real world problem solving.
How about an intermediate step: self-testing.
For example, one of the non-corporate Perl sites could set up a free
automated test. Users would be challenged to write, debug and execute
scripts which would be required to produce a certain tangible result
from randomly generated source data. There would be no requirement to
memorize the language, only to be able to use it to get things done.
The test could set a time limit as a measure of productivity, but
otherwise it would be a matter of "Can you get the job done?"
As arrows are notched, I'll attempt to pre-empt with a few stabs:
Security. What sort of environment could possibly allow anonymous users
to execute arbitrary code... safely? Hmm.... I don't dare answer, yet.
Scoring. Is it possible to automatically score answers? Yes. Perl
excels at pattern matching, and as long as the nature of the required
product is clearly defined, it should be possible to match all correct
answers. But are these the kind of products which indicate aptitude?
Yes, basic aptitude, at the very least. A little creativity could
produce a graduated test suite, with some real puzzlers at the top that
penalize inefficient code (simply by chewing up execution time).
(Security precaution: time out). Granted, the ability to write a
100-line script does not indicate an ability to assess client needs,
model object relationships, communicate with other people, understand
and conform to workflow procedures, etc. But most of that stuff is
beyond the scope of certification, anyway.
Applicability of results. So you scored a 97. So what? Are going to
tell a prospective employer that you attained "friar" level at
perl-test.org? This is why I'm calling it an intermediate step. An
objective of self-testing would be to encourage Perl students and
casual users (and, eventually, working Perl programmers) to get some
standardized feedback on their skills. It encourages improvement and
can provide a basic vocabulary for assessing one's own skills: "So far
I've passed the basic perl, references and OO perl tests. But I
stumbled a bit on IPC." Something like that... I think a lot of people
would rather be clear on what-they-know-versus-don't-know than just
shrug and say they know "some Perl."
Administration. Who writes the tests? I think most of us are chaffing
at the idea that a corporation or other self-interested party would
come to control Perl certification. There could be a sort of loosely
knit self-selecting group of Perl gurus who volunteer to write and
maintain the tests. Something short of a wiki, but not by too much.
Cheating. You get some code from a buddy and ace the test. Who cares?
This is self-testing. Caveat emptor.
Extension. If this is intermediate, what's the next step and how do we
get there from here? Zillions of open-source software products have
been adopted by business despite the lack of a profit motive on the
part of their creators and maintainers. If it's useful and used, it
will evolve and set a standard.
|