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
