# joy applications

## stevan apter — 2000-05-25 11:22:50

    i'm curious whether anyone here (or for that matter, anywhere)

    has applied joy to a concrete problem.

    if not, i suggest the cryptographic algorithm "pontifex" (also

    called "solitaire"), a description of which can be found at:

    www.counterpane.com/solitaire.html

    four entry points are wanted:

        randomly shuffle a deck of cards (+ 2 jokers)

        key the deck to a string (optional)

        encrypt a string according to the deck

        decrypt a string according to the deck

    the site contains implementations in perl, python, ada, and a

    few other languages.  a version in k can be found at:

    www.kx.com/technical/contribs/stevan/sol.k

## Stefano Lanzavecchia — 2000-08-24 10:56:41

    > > some kind of bloat.  ;-)  Seriously, a program

    > > written for Windows needs all of the "WIMP"

    > > (Windows Icons Menus and Pointers) stuff to

    > > be competitive.  It also needs access to

    > > databases.  The code to access all of the

    > > Microsoft DLLs to handle all of this stuff

    > > takes up space.

    >

    > not really, john.  the k interpreter has identical

    > capabilities, but is still only 150k or so.  go take

    > a look (www.kx.com) and tell me what i'm missing.

     Sorry if I jump in many months too late, but I've just discovered Joy and

    this maillist whereas I am not completely new to K. There is one comment I

    would like to make (and then shut up to catch up with the real purpose of

    this maillist): while it is true that K can be used to build minimal and

    functional GUI's, the results are not exactly what I and especially a few

    million users on the planet call a Graphical User Interface. Maybe in the

    early 80s, it would have been enough. Not any more.

    Not to detract anything from the incredible capabilities of the language,

    but a modern GUI is something different. Now, people might say that modern

    GUIs are all whistles and bells but don't really add anything, and that a

    virtual infinite grid is better than a flashy interface a la Outlook2000.

    Maybe. But this is not the point. People expect GUIs to look like that and a

    language which cannot deliver will be quickly dismissed. The same criticism

    applies to J as well, despite the attempts of JSoftware. Languages such as K

    and J are much better suited to stay in the background as powerful (and

    lightweight) calculation engines, while the GUI produced in one of those

    fashionable RAD languages (VB, Java, Delphi). This is my opinion, opinion

    induced by the request of those few million users. Not that I am

    particularly into GUI programming myself. I did enjoy that in the past, but

    now I find that the back-end of something is much more intriguing. Yet I can

    see the benefits of a complex and yet usable GUI. Visual Studio is a great

    example: it may use up several hundred gigabytes on somebody's HD but it

    sure wins on a comparison with notepad.

    As an example, I believe that for a programming language to claim to have

    GUI capabilities, it must be able to produce a duplicate of Windows

    Explorer, not necessarily on files, but on any other tree-like structure of

    data.

    I should know better than to defend GUIs in a forum like this one, but I

    could not really resist. Forgive me :-)

    I am a developer, mostly I develop in Dyalog APL, and therefore find APL

    very easy to write, read and maintain, but I came across several languages

    in my short experience, including J (which I do find a bit abstruse), K

    (which I cannot read and understand at all, but you can be assured that I

    will try again), in addition to the classic ones (C, C++, Pascal), the new

    classic (Java, Perl, Python), the frontier (Haskell, ML), the old classic

    (LISP, Scheme, Smalltalk).

    And of course now Joy :-)

    As a developer I am interested in almost anything, but for my pleasure, I

    recently got very interested in Functional Programming languages and

    interpreter/compiler's implementation.

    Sorry for this long, unrequested, and off topic introduction. As I've

    already said, I will now shut up.

    --

    WildHeart'2k - mailto:stf@...

    Homepage: http://come.to/wildheart/

    --

    WildHeart'2k - mailto:stf@...

    Homepage: http://come.to/wildheart/

    <<<Odoru kisu wa umi no kisu ---

       A dancing kiss is a Sillago japonica in the sea>>>