On 6/7/07, Terrence Brannon <[EMAIL PROTECTED]> wrote:
* I am not good enough to do anything practical with J
* I am too bored to keep reading sterile teaching material

I've been using J off and on for years, sometimes without touching
it for many months at a stretch (I get paid to develop in other
languages).  Even when I'm not using it, I find it handy to
keep around -- even if I'm only using it to add a few numbers.

It's also one of the first things I install on a new machine, nowadays.
I'm frequently running it just to try out little ideas.

* I am concerned that J is not easily parallelizable. Otherwise, it
 probably would've taken first place from Cilk in the '98 ICFP contest.

There are elements of its current design and implementation which
demand sequential processing.  But I think the real problem here
has to do with robust development tools, and available machines
than anything else.  [Back in '98, for example, how would you write
portable code targetted at multiple CPUs?  How many machines
would this code have then been able to run on?]

In contrast, we're starting to see things like nVidia's CUDA, which still
has most of the details under nondisclosure requirements, but looks
to have a hardware architecture very similar to J's.  I think it's still
to early to say much about this kind of thing, but it certainly looks
promising.

(But you'll know the concept has really taken off when it's been cloned
and a bunch of different outfits are supplying systems aimed at the
clone architecture.)

* I can do whatever I need re: the web, data processing with Perl and
 Python.

So use Perl and Python for that stuff.

And most people on Planet Earth are doing so. And the most dollar
bills are available in the most jobs in the most places on the earth
doing so.

Me, included.  Nevertheless, I sometimes [ok, often] find it worthwhile
thinking about how I would solve a problem in J, even when I am
working in another language.  For example, when I need to
incorporate abstractions in another langauge, and the application
itself doesn't suggest good names, I'll often borrow from J's design.
(Yesterday, it was IntervalIndex, but I've done many, many others.)

Anyways, when I find myself re-implementing the same concept
a number of times (for example, for different ranked arguments, when
I thought I did not have justification to implement J dimensions as
a data structure), I start thinking more seriously about incorporating
J into something I'm writing.  And, for one-off projects, I sometimes
wind up just writing the thing in J (my last venture here was a javascript
compacter, because downloadable versions kept breaking my code
with unwarranted assumptions).

Anyway, here is why I like J:
* conciseness -
* analogy to human language -
* smart people use J:
* odd people use J:
* Mysticism -

All interesting reasons, though I think all of those are non-starters.
(They are reasons to be interested in J, but not reasons to use J,
in my opinion.)

* Most people devote time and energy to perceivable payoff.

Exactly -- you would need to find yourself some payoff, if you
want your interest to... pay off.

* Programming as a hobby is about to come to a grinding halt.

I wouldn't sweat that one, but I would suggest you let yourself be
comfortable with the idea that further changes are possible (some
of which may bring you back into something like "programming
as a hobby" ... or not, depending on many things).

Anyways, if I wanted to learn J, as a beginner, I'd be more interested
in "half an hour a day" than something intense.  You need time
to digest ideas and draw connections, if you want to learn something
well.

Note also that I've only occasionally been interested enough to work
through the tutorial pages.  More often, I've been interested enough
to poke at them somewhat randomly and sort of pick things out at
random.  Also, I think I learn more often from the dictionary pages than
the tutorial pages (and I'd have to be in a really strange state of mind
to read the dictionary cover to cover).

Finally, note that we currently have plenty of tolerance for questions.
And, if you are uncomfortable writing on one forum, maybe you
would be more comfortable in another?

Anyways -- don't push yourself to like something when you don't, but
by the same token you should allow yourself to participate when you
feel like it.

Good luck,

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

Reply via email to