Ric wrote:
>  I've submitted a solution for [evolutionary algorithm] on Rosetta Code

Thank you!

>  A tacit version of the while loop would also be good but 
>  I think it should be included in addition to the explicit one

I'm still of the opinion that our goal on RC should be evangelism -- and I
don't feel explicit code assists that effort.  

Reflecting on my own RC usage, when I look at a new task:  I first read its
description, then I look to see if a J solution has already been
presented.  If it hasn't, I work one out and submit it.  Then I scan
through the other submissions and only bother to read the code that looks
interesting, and in particular only short entries (so I don't have to
spend much time).  Short entries catch my eye, and so do "weird" entries.
[1]  

Entries with a lot of "for" and "while" and "a[i] = a[i-1] * 2" do not
interest me, and I ignore them.  From my POV, such languages are mere
dialects of C (or Java, etc).  And while I know I could solve general
problems in them (including all RC problems), and I could probably learn
such a language quickly, I see no reason to, since I already know C (and
Java etc).  I don't feel like they have much to offer me.  

Now, I could be wrong: these languages may have new or interesting
features.  But I'll never know, and that's the point.  The very use of
these patterns leads me to believe that I already basically know the
language (and that it's tedious from a programming POV), and so I
summarily dismiss it.  And the language has lost a potential convert.

Which is just a long way of saying that I prefer we present brief, tacit J
solutions on RC.   Elaboration or exegesis or alternative (explicit)
solutions can go on the talk page, or on a linked subpage (either of the
task or of the J category page).  That said, I feel penetration (task
coverage) on RC is even more important than presentation, and I know that
I don't have the bandwidth to keep up with the site myself.  

So I'm sincerely grateful to you and others who are contributing solutions.
 To that end, I certainly am not going to demotivate anyone by stepping
all over his code and rewriting it in my preferred style, or even tacitly.
 Plus I enjoy seeing other J coding styles, which are hard to find in the
wild.

So I think the current system works fine (where we have several
contributors who add solutions when and how they choose), because J is
getting good coverage and generating discussion among "foreigners".  But
I'm also willing to collaborate on a "house style" for J, which would
neccesarily entail building consensus regarding our goals on RC.   

To that end, I've created a page on RC to start that dicussion: 
http://rosettacode.org/wiki//HouseStyle  .  If you have any ideas or
suggestions for the J community on RC, you can discuss it there.  But if
you're happy operating independently on RC, feel free to ignore it.  

-Dan


[1]  Case in point.  I wanted to solve 
http://rosettacode.org/wiki/Nth_root_algorithm  .  So the first thing I
did was visit the WP page, 
http://en.wikipedia.org/wiki/Nth_root_algorithm  .  But that page listed
only mathematical solutions, and what I wanted was pseudocode I could
mechanically translate into J.  So I started scanning the RC entries.  I
skipped over most of them because they were long and looked like they'd
take a while to translate.  But the E solution caught my eye -- it was
short and high-level.  So I translated that in J.  And as it turns out,
the E solution was not only shorter because E is high-level, but because
its author had chosen a "different" algorithm.  One that, coincidentally,
can be expressed elegantly in J.

Maybe there really is a correspondance between "weird, high-level
languages" and "thinking differently".  Ken clearly thought so.

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to