Code Comments

Programming Forum and web based access to our favorite programming groups.
For Programmers: Free Programming Magazines | New: Database administration forum
Registration is free! Edit your profileCalendarFind other membersFrequently Asked QuestionsSearch -> 
Post New Thread











Thread
Author

newbie needs help comparing APL versus J versus K!
Hi,
I'm interested in re-learning APL for hobby programming and maybe as
an extra tool for my work (physics). I use macs and PCs, various OSes.

--aside:
I say re-learning because I did learn the basics once while doing work
experience for a company in Frankfurt 15 years ago. I remember I
really enjoyed the language and found it very graceful. They ran their
APL on a shared central machine that (I was told) never executed less
than one line of APL - so of course I wrote a on-liner for the
mandelbrot set. All great fun!
--

ANYWAY, browsing around the net I see there seem to be three options
these days: APL, K and J. I've read a few descriptions of J and K
(discovering to my disapointment that they don't use special
characters, but oh well!), however I haven't found a really helpful
comparision of the three. In particular:

(a) in terms of the language structure, do they differ much in the
language, or are they slight variants? I couldn't find a
definitive/reliable text on this point. In particular, does learning
one correspond to learning all? If not all the more reason to make the
right choice as a newbie!
(a) Are they suited (limited?) to quite different applications? As I
mentioned my interest would be in physics applications, esp. QM which
uses a lot of matrix manipulation. Bread and butter for all three
languages perhaps.
(b) Which are the more active languages these days, in terms of number
of users and enthusiasts?
(c) Which can be support a 'modern' GUI for the end user? Which have
reasonable graphics support? Perhaps that is more a question for
vendor specific products...
(d) Which languages have the best commercial (or open source) tools
available, and what are they? I see a few nice comments about Dyalog
APL for example.

Any input on these questions, or on other considerations, would be
much apppreciated!

Report this thread to moderator Post Follow-up to this message
Old Post
oxonian
03-20-04 01:22 AM


Re: newbie needs help comparing APL versus J versus K!
Since no-one has responded, Ill try to help.
I am an APL fan. I have had difficulty with J, and minimum use of K.
So I am biased. I am also not well informed on J,K and APL other than
Dyalog.

"oxonian" <oxonian@mac.com> wrote in message
news:fa95df0.0403020603.3450c822@posting.google.com...
> Hi,
> I'm interested in re-learning APL for hobby programming and maybe as
> an extra tool for my work (physics). I use macs and PCs, various OSes.
>
> --aside:
> I say re-learning because I did learn the basics once while doing work
> experience for a company in Frankfurt 15 years ago. I remember I
> really enjoyed the language and found it very graceful. They ran their
> APL on a shared central machine that (I was told) never executed less
> than one line of APL - so of course I wrote a on-liner for the
> mandelbrot set. All great fun!
> --
(On my PocketPC with Dyalog PocketAPL, my mandelbrot program runs in 10 sec
after twing, took6 mins when I first wrote it)
>
> ANYWAY, browsing around the net I see there seem to be three options
> these days: APL, K and J. I've read a few descriptions of J and K
> (discovering to my disapointment that they don't use special
> characters, but oh well!), however I haven't found a really helpful
> comparision of the three. In particular:
>
> (a) in terms of the language structure, do they differ much in the
> language, or are they slight variants? I couldn't find a
> definitive/reliable text on this point. In particular, does learning
> one correspond to learning all? If not all the more reason to make the
> right choice as a newbie!
APL has move on a lot in th last 15 years, so it has move away from J, just
as J has added new structures (eg Forks and Trains). K is getting smaller
and tighter (and faster),and has dicionaries. But all three require the same
"mind set".

> (a) Are they suited (limited?) to quite different applications? As I
> mentioned my interest would be in physics applications, esp. QM which
> uses a lot of matrix manipulation. Bread and butter for all three
> languages perhaps.
K is very good for processing vast amounts of data very quickly.
J ha some usefull features for physics (complex number and infinity I think)
Only IBM APL2 (of the APLs) has complex numbers.

> (b) Which are the more active languages these days, in terms of number
> of users and enthusiasts?
In acadimic circles J has overtaken the place that APL held.
K has a small but growing user base.
I think APL has the largest world wide following, but the J user group is
more active.

> (c) Which can be support a 'modern' GUI for the end user? Which have
> reasonable graphics support? Perhaps that is more a question for
> vendor specific products...
J and APL support modern gui.
K has droppe its GUI in the latest release.

> (d) Which languages have the best commercial (or open source) tools
> available, and what are they? I see a few nice comments about Dyalog
> APL for example.
I have only experiance of Windows (no mac) but calls to the API are stright
forward from many APLs and J. Dont think K can call MS API as it run "under
DOS".

>
> Any input on these questions, or on other considerations, would be
> much apppreciated!

Ray


Report this thread to moderator Post Follow-up to this message
Old Post
Ray Cannon
03-20-04 01:23 AM


Re: newbie needs help comparing APL versus J versus K!
 
> I have only experiance of Windows (no mac) but calls to the API are
stright
> forward from many APLs and J. Dont think K can call MS API as it run
"under
> DOS".

K runs in Win32. Although it runs as a console application it's a Win32
application and could, in principle, access all the Win32 GUI via the API
calls. In practice, though, The tendency is to use K as a faceless server
and let a client with a full blown GUI (written in your favourite language:
Java, C#, VB, VB.NET, Python and so on) communicate via TCP/IP sockets with
the K server.
--
WildHeart'2k4



Report this thread to moderator Post Follow-up to this message
Old Post
Stefano Lanzavecchia
03-20-04 01:23 AM


Re: newbie needs help comparing APL versus J versus K!
oxonian@mac.com (oxonian) wrote in message news:<fa95df0.0403020603.3450c822@posting.google
.com>...
>
> (a) in terms of the language structure, do they differ much in the
> language, or are they slight variants? I couldn't find a
> definitive/reliable text on this point. In particular, does learning
> one correspond to learning all? If not all the more reason to make the
> right choice as a newbie!
All three deal with bulk data, arrays for APL and J, and lists of
lists for K.  They have primitives which simplify manipulating such
data and programs in these languages tend to avoid conventional loops.
They facilitate "programming in the large" rather than at the level
of the individual datum.  J and K use ASCII instead of APL characters.
I find their ASCII less intuitive and attractive than APL charcters,
but this does avoid keyboard, display, and printing issues, in
particular it's much more email friendly.  I find K's ASCII mapping to
primitives to be more elegant than J's.

> (a) Are they suited (limited?) to quite different applications? As I
> mentioned my interest would be in physics applications, esp. QM which
> uses a lot of matrix manipulation. Bread and butter for all three
> languages perhaps.
All three are good choices for matrix manipulation.  K doesn't have a
primitive data type for complex numbers which would be a limitation
for some physics problems.

> (b) Which are the more active languages these days, in terms of number
> of users and enthusiasts?
The J mailing list seems the most active to me.

> (c) Which can be support a 'modern' GUI for the end user? Which have
> reasonable graphics support? Perhaps that is more a question for
> vendor specific products...
Don't know what you consider a 'modern' GUI, but J's works for me.
The K GUI is being deprecated in the newest version as it's being
focused at high end server applications.

> (d) Which languages have the best commercial (or open source) tools
> available, and what are they? I see a few nice comments about Dyalog
> APL for example.
>
> Any input on these questions, or on other considerations, would be
> much apppreciated!

Dick Bowman has a comparison of collection oriented languages (and VB)
that you might find helpful at:
http://www.apl.demon.co.uk/aplandj/...es/ppl2002.html

Report this thread to moderator Post Follow-up to this message
Old Post
Steve Rogers
03-27-04 04:09 AM


Re: newbie needs help comparing APL versus J versus K!
"Steve Rogers" <steve@shrogers.com> wrote in message
news:78eb2351.0403210620.6acd40d@posting.google.com...
> oxonian@mac.com (oxonian) wrote in message
news:<fa95df0.0403020603.3450c822@posting.google.com>... 

[... deleted ...]

>
> Dick Bowman has a comparison of collection oriented languages (and VB)
> that you might find helpful at:
> http://www.apl.demon.co.uk/aplandj/...es/ppl2002.html

I've just had a look at my tetchy diatribe of 2002 - I may update it again
at some point.  I've stayed with APL/W as implementation of preference, J
rather withered away for me (but may be beginning to stage a minor
comeback) - there's a lot to be said for J if your interests are
computational rather than presentational.

APLX (from MicroAPL) is a contender now, especially in Version 2 form.  It's
both simpler and less expensive than APL/W - which might also mean that you
can do less with it (no fooling around with .NET interfaces, for example).

Best thing to do is pick up a free/inexpensive implementation or two and
look at the general flavour (ly, apart from J, the good stuff costs).



Report this thread to moderator Post Follow-up to this message
Old Post
Dick Bowman
03-27-04 04:09 AM


Re: newbie needs help comparing APL versus J versus K!
"Dick Bowman" <bowman@apl.demon.co.uk> wrote in message
news:c3m8mt$5au$1$8302bc10@news.demon.co.uk...
>  [... deleted ...]

> Best thing to do is pick up a free/inexpensive implementation or two and
> look at the general flavour (ly, apart from J, the good stuff costs).
>
>

That seems to be absolutely the case!  After a near 30 year haitus from APL,
 I
was looking around for something that would run under Windows (sigh) - somet
hing
not that fancy but functional and the pricing structure seems rather astonis
hing
to me (read: outrageous). There seems to be no distinction between "for pers
onal
use" and "for enterprise development". Oh well, I guess that model hasn't qu
ite
made it through to some folks.

Thanks for the link...

Kerry Liles (long ago IPSA zoo)



Report this thread to moderator Post Follow-up to this message
Old Post
Kerry Liles
03-27-04 04:09 AM


Re: newbie needs help comparing APL versus J versus K!
"Ray Cannon" <ray_cannon@compuserve.com> wrote in message news:<5%q5c.39$ly4.6@newsfe1-win>
..
> Only IBM APL2 (of the APLs) has complex numbers.

IPSA, J, SAX and I am sure Dyalog too - all have complex numbers

Report this thread to moderator Post Follow-up to this message
Old Post
Bj?rn Helgason
03-27-04 04:09 AM


Re: newbie needs help comparing APL versus J versus K!
"Bj?rn Helgason" <bjorn@hansaworld.is> wrote in message
news:56da45cc.0403221150.77cdf601@posting.google.com...
> "Ray Cannon" <ray_cannon@compuserve.com> wrote in message
news:<5%q5c.39$ly4.6@newsfe1-win>... 
>
> IPSA, J, SAX and I am sure Dyalog too - all have complex numbers

I have no working knowledge of IPSA and SAX, so you may well be right there,
BUT as at version 10.0.3, Dyalog does NOT have Complex Numbers.

And please dont quote out of context, I started off by saying 
and then later 
think) 

Anyway, within comp.lan.apl, when discussing
"newbi needs help comparing APL versus J versus K",
I for one, do not consider "J" to be one of the "APLs",
It is certainly not ISO standard APL.

Can anyone say how many of the 60 odd APLs do support complex numbers?
(For an old list see "Punctuation in APL" by Joseph de Kerf in Vector Vol6
No2)


Ray


Report this thread to moderator Post Follow-up to this message
Old Post
Ray Cannon
03-27-04 04:09 AM


Re: newbie needs help comparing APL versus J versus K!
Kerry Liles wrote:


>
> That seems to be absolutely the case!  After a near 30 year haitus from AP
L, I
> was looking around for something that would run under Windows (sigh) - som
ething
> not that fancy but functional and the pricing structure seems rather aston
ishing
> to me (read: outrageous). There seems to be no distinction between "for pe
rsonal
> use" and "for enterprise development". Oh well, I guess that model hasn't 
quite
> made it through to some folks.

Yeah, I'm persuaded that they don't really want people to
use it so we aren't.  Witness the vitality of this list.  Not.

I hang about in the hope that if IBM ever gets their
collective head out of their collective ass on this I'll at
least know about it.


Bob
--

"Things should be described as simply as possible, but no
simpler."

A. Einstein

Report this thread to moderator Post Follow-up to this message
Old Post
Bob Cain
03-27-04 04:09 AM


Re: newbie needs help comparing APL versus J versus K!
About 80 of that dozen APL programmers attended the Dyalog APL conference in
East Horsley, Surrey, last September; a similar number, I believe were in
Naples, FL, for the APL2000 conference.

Kx Systems was in London last month and ran a 2-day intro; 20-30 people
there, many from investment banks and without grey hair. Youth and money is
powerful fuel.

Whitney introduced features new in his impending K4 release and invited us
to guess how they worked. Only APL programmers guessed right. You might find
K more accessible than you thought.

A similar number turned up for a 1/2 day intro as part of the British APL
Assn's 20th birthday celebrations for Vector the following day, including
students from Loughborough University and the University of Bolzano in
Italy.

Last w NYC Dyalog APL Users Group introduced a class of new programmers
who'd learned APL on their own time. You can follow the story at
http://groups.yahoo.com/group/dyalogusers and
http://groups.yahoo.com/group/BFGame.


But to address what I take to be your main point -- why did APL usage
decline, and is there any prospect of change?

Two yaers ago I returned to programming after a 15-year gap, thrilled to
find the current APLs embodying earlier dreams, horrified to find the
community shrivelled.

IMHO the story behind this is fairly simple. It has two threads. One is that
PC spreadsheets replaced APL as the preferred tool for personal computing,
probably rightly. The other is that APL got generally deprecated for
software development work.

Irritating mavericks like me, who ran rings around conventional developers
and bragged about it, got squeezed out during the professionalisation of IT
in the 80s and 90s. The principal battleground was 'methodology': the
disciplines and promises of Software Engineering (SE) rolled over our
informal development practices, regardless of our productivity.

The cheques drawn by SE bounced. But by then the damage had been done: APL
was out and its legendary productivity a fading memory. Developers do the
best they can now with Java and OOP.

There is a Reformation. It has been running nearly a decade under the
banners of Agile Development and Extreme Programming (XP). It's how you
would run an APL project if you didn't have APL.

Studying agile development has helped me understand the relationship between
APL and its productivity. I (we) used to brag about how short the code was
and how quickly we could write it. When you look at a SE development project
and see how small a part of the effort is coding, you get the force of the
argument that faster coding doesn't justify the costs of 'alien' technology,
blah, blah blah.

XP turned this all around, embracing the incremental development that always
characterised APL projects, and making coding THE principal activity. XP
wins by dropping cumbersome and unreliable analysis, specification and
design activities, substituting short development cycles with customers on
hand to answer questions and give feedback. (Does any of this sound
familiar?)

Now it's clear where APL's coding speed pays off. XP programmers using Java
consult their customers frequently, keeping communication face-to-face and
showing customers the results of their choices. APL coding is so fast I do
at least half of mine with the customer beside me because I need feedback
every minute or so.

THIS is how we strip cost and time out of software development, by
eliminating formal communications: memos, meetings, specifications,
signoffs, blah blah blah. SE people I work with behave as if formal
communication is reliable and free. In reality it's expensive and
unreliable. Smart engineers minimise the use of expensive, unreliable
components.

There's a strong case to be made for APL (the APLs?) as THE Agile
Programming Language. I went to XP2003 last year to begin making that case.
Sadly, while overhauling www.vector.org.uk this winter, I missed the window
for XP2004. There are other agile conferences and other voices who could
join in. With all your experience, yours too perhaps? If you are interested,
Kent Beck's book "Extreme Programming Explained" is a good start. You can
find it through the Agile Development links at www.5jt.com/links.html.

In the world of commerce (money if not youth), my colleagues and I are
making progress in a large account with our own Reformation. Like so many
others, this client has for years had an exit strategy for its APL systems.
(In theory at least. In practice, the cost of replacing them with 'strategic
technology' meant nothing happened.) The company is now so beset by the
costs of conventional development that it is moving much of it to India. Our
'tactical' systems development is getting board-level attention. This is a
winnable game.

Back to education. I found an opening for J in the teaching of mathematics
in schools for 'gifted and talented' children. I didn't put in the work it
would take to open this seam, but it's still an opportunity. Now a little
more commercial money is starting to trickle in to BAA, we might be able to
get something happening. If APL and education interests you, consider
absorbing J and making your experience available. (You do have to register
at jsoftware.com, but the interpreter downloads for free, the study
materials are excellent and the J Forum is active and helpful.)

No one wants APL, but so many people want what APL makes possible.

Stephen Taylor
sjt@vector.org.uk


"Bob Cain" <arcane@arcanemethods.com> wrote in message
news:c3tvmf01ctf@enews3.newsguy.com...
> MP wrote:
> 
>
> Yeah, I'll be 60 this fall.  I'd love to know the mean age
> of the dozen or so APL programmers still around.  No damn
> excuse for that.  Kids should be learning it in grade school
> and would be were it not for where those heads have been all
> these years.  No light there I understand.
>
>
> Bob
> --
>
> "Things should be described as simply as possible, but no
> simpler."
>
>                                               A. Einstein



Report this thread to moderator Post Follow-up to this message
Old Post
Stephen Taylor
03-27-04 04:09 AM


Sponsored Links




Last Thread Next Thread Next
Pages (5): [1] 2 3 4 5 »
Search this forum -> 
Post New Thread

APL archive

Show a Printable Version Send to friend Email This Page to Someone! subscribe to this thread Receive updates to this thread
Computer Consultants
Programming Jobs
Visual Basic Controls
SQL Server Programming
Webservices
Java Security
Visual Studio
C# Programming
Visual J++
Software engineering
Open source Software
Perl Programming
PHP Programming
ASP Programming
ASP .NET Programming
Visual Basic Programming
Windows Scripting Host
Java Programming
Java Help
Java Beans
VBScript
Cobol
MAC Applications
Unix Programming
Forum Jump:
All times are GMT. The time now is 05:48 AM.

 
Free MCSE Braindumps | Real Estate Topics

Programming forum archive

Copyrights CodeComments.com 2004 - 2006

Powered by vBulletin Copyright 2000-2006 Jelsoft Enterprises Limited.