I am not sure Ian really meant BASIC when he said "people who know BASIC".
Perhaps the gist of what he meant was "people who want to do basic
programming".

No-one really uses old-style BASIC today, regardless of what marketing
blurbs may say.  I have *never* seen anyone recommend it to people who ask
"what language should I start with?" on any programming forum whatsoever.

OTOH, the languages that J would be competing with, if it wanted to become
more widespread, would be today's popular scripting languages - the likes
of javascript, python, ruby, even PHP.  These are today's "BASIC"s.  And
believe me, they certainly have facilities for booleans  and not only that,
many of them are functional, or functionally oriented, as well as having
popular features like-object orientation and other modern concepts.

The J community would be doing itself a disservice (perhaps even absenting
itself from reality) if it thought it was competing with the world of
BASIC!!  We are not in the 80s any more.  Javascript will easily do maps,
and its default container is basically a dictionary.  It features an
interesting and very powerful way of doing OOP using prototypes.  Python
has handy things like list comprehensions, several tons of (established)
libraries and is fast moving towards becoming the sane individual's Perl.
Even my own favourite (if not widespread) educational language, Scheme, is
starting to make a serious appearance with systems like PLT/Racket which
are pretty complete.   All these languages can be used to make teaching
examples as elegant as Bo's, in almost as few lines.  And elegant though J
might be, nothing will ever beat lambda-calculus in that arena, not even
Iverson notation! (personal opinion, I know)

So let us not kid ourselves with anachronisms re line-numbers in BASIC...
sheesh.

The question is what is the real advantage of J.  Why are we using it?
For me the answer would be power of expression and PERFORMANCE.  I doubt
that I would use it if it wasn't about 100x faster than a good Scheme
interpreter.  I won't even mention the superiority in terms of space
requirements.  You can get near-C performance, without the associated
overhead baggage, plus functions for free.

These are *real* issues, otherwise why bother?  So, I see J as an
incredibly flexible and powerful RAD environment, which frankly, I think
has no peer at the moment.  From concept to production in amazing time.
Not to mention that if it ever gets to use CUDA-like GPU technology, it
will blow *everything* out of the water.

So I think that *THIS* is what has to be emphasised when people ask why the
should bother with the steep learning curve.  Frankly. I'd struggle to
think of a reason why anyone would otherwise bother with concepts like
capped forks, a binary infix syntax from the 60s (which may be very wise,
but certainly not in today's mainstream) and boxes.  And while I love the
array operation philosophy, it is starting to appear in other languages
too, you know.... no disrespect meant to anyone or anything, just trying to
reflect something of the attitudes I see out there every day.

======

Love the cos rule suggestion by the way Ric, THAT'S what I'm on about,
that's the way to showxase J for beginners!

Should be included in the math/misc/trig file.  (At the moment it only has
the most basic of stuff, function redefinitions and some dfr-rfd stuff -
hardly a beginners trig library.)



On 1 December 2012 23:10, Boyko Bantchev <boyk...@gmail.com> wrote:

> On 1 December 2012 16:17, Ian Clark <earthspo...@gmail.com> wrote:
> > A "training wheels" form of J, tailored to people who know BASIC,
> > would be so easy to write.
>
> Not necessarily.  A BASIC thinking can be so different that hardly
> any tailoring could possibly exist as a bridge to J.
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to