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
