[Pdx-pm] [meeting notes] What can we do about the low student SoC turn out?
scratchcomputing at gmail.com
Fri Apr 11 12:56:31 PDT 2008
# from Kenneth A Skach
# on Friday 11 April 2008 10:14:
>But if we
>write only to the clique of well-versed perl masters who are "as smart
> as us", the rest of the audience won't benefit from our post.
I think this is a classic issue of diversity. The Perl community has a
lot of diversity both in mastery of the language and in specific
domains or interests.
A sysadmin, a web developer, and a gui designer walk into a problem ...
(end of joke is left as an exercise for the reader, but likely involves
NFS, mysql, and dcop (or maybe regedit, SOAP, and ActiveX.))
> I do think we can consider our audience more.
Who is our audience?
The experienced user cannot correctly remember his own inexperienced
point of view because the memory is filtered through experience. Add
to that the "beforehand" diversity of experience from elsewhere (e.g.
assembly/C/Java, network/threads, etc) and you have a big pile of
people capable of fluently talking past each other on a wide range of
subjects and levels.
The involvement of the new user is helped by the contribution of the
nearly-new user. But if you don't see someone who appears to be one
rung above you probably forgot to look left and right. I think Perl is
much more like an upside-down pyramid than a ladder -- well really,
there aren't any sharp corners or well-defined insides and outsides so
it is probably an oblique cone of trajectories within one sigma (or
possibly a hypercone.)
That is: I can't write for an audience without knowing (or imagining)
their point of view. This has another factor when discussing a mailing
list (vs a meeting topic or article on a website) in that, on a mailing
list, I'm not likely to write an answer to an un-asked question and I'm
not likely to ask a question which I have already answered.
So, to generate some empathy (and entropy), let's take parrot for
1. parrot will be a perl 6 interpreter
2. parrot is a multi-language dynamic virtual machine
3. parrot provides an object-oriented dynamic assembly language
4. parrot has tools for writing compilers and performing syntax
tree transformation (or something like that)
I've listed those in the order which *I* understand them, and the
likelyhood that I'm getting it wrong increases as we go. But, even at
#1, some readers might be thinking "'_a_ perl 6 interpreter'? are there
more?" or "what is this 'will be'!? do not want vaporware!".
Well, for those who came to Perl after 2000, "the whole Perl 6 thing"
has probably been filed under "call me when it is done" for various
reasons. But this is not apple, so we don't have a bunch of
programmers in the back working on it while Larry just chooses the best
of 10,000 black turtlenecks to wear to the unveiling. It didn't work
that way with Perl 5 either, but the best parallel is probably the
1.0 - 5.0 (1987-1994) period (hmm, better ask someone who was there.)
Except, a lot of what we know as "Perl" today is 5.6, which didn't get
here until 2000. The point here: the Perl community needs the Perl
community to care about parrot. They also need to be patient, but they
also need to get involved.
The tricky part: parrot broadens the spectrum of diversity in multiple
dimensions simultaneously. It is not just about Perl 6, but also Perl
5, lisp, php, tcl, python, smalltalk, lolcode, Perl 1, etc. It is not
a simple interpreter, but a vast landscape of compiler tools and a
cross-language highly parallel dynamic runtime which is about to grow a
tri-color garbage collector. It has lots of interests ranging from the
very academic to the very practical.
Ok, I barely understand most of that paragraph and half of it is
probably wrong (or incomplete or partially correct.) So why should I
be thinking about parrot today and how do I even get started
understanding what I can do with it which is not (personally perceived
as) an exercise in futility and/or how do I define a personal goal
which is fulfilling, visibly reachable on a scale of days or weeks, and
fits my skills+interests within the time available? That is, how do I
get involved without losing my patience? How do I keep it interesting,
learn something, and not go insane? Yes that is a difficult jumble of
question. (Likely more on this in another thread.)
So, that's what happens to me when I look at http://parrotcode.org.
Others might have the same difficulty approaching Moose, Catalyst,
mod_perl, wxPerl, or even Perl in general. The point is that you are
probably not alone, and the only way to discover your virtual boatmates
is to ask. This is not a nice rectangular swimming pool with a deep
end and a shallow end -- it is sometimes murky and usually random, with
streams, waterfalls, icebergs, sinkholes, and various shark-infested
puddles -- but you can surf the icebergs and drive your submarine up
the waterfall if you want to learn how.
We have meetings once a month, and the topics are typically generated by
the people who attend those meetings. But I am always looking for new
topics and new speakers. If ten people who aren't currently coming to
meetings told me that they would come given X or Y topic I would at
least have something to go on. If you can't make the meeting because
of schedule, let's start some coffee groups, westside lunches or
whatever. I can read your Perl, but not your mind ;-)
Speak softly and carry a big carrot.
More information about the Pdx-pm-list