Home > Archive > APL > October 2004 > J 5.03: newbie's silly question
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
J 5.03: newbie's silly question
|
|
| Jacques Guy 2004-10-03, 3:55 am |
| .... but I looked long and hard at the help files,
downloaded several tutorials (most in pdf), and
could not find the answer. So here is the question:
How do I produce a standalone piece of software, in
other words, an EXE file (I am using Windows)?
I am not sure that it is possible at all, either.
What makes me think that it is possible is (on the
homepage of www.jsoftware.com):
"End user applications (runtime apps) built with J
that don't provide a J programming interface can be
used without a JUL."
But I may have misinterpreted it.
| |
| Bj?rn Helgason 2004-10-03, 8:55 am |
| Jacques Guy <jguy@alphalink.com.au> wrote in message news:<416054B1.912@alphalink.com.au>...
> ... but I looked long and hard at the help files,
> downloaded several tutorials (most in pdf), and
> could not find the answer. So here is the question:
>
> How do I produce a standalone piece of software, in
> other words, an EXE file (I am using Windows)?
>
> I am not sure that it is possible at all, either.
> What makes me think that it is possible is (on the
> homepage of www.jsoftware.com):
>
> "End user applications (runtime apps) built with J
> that don't provide a J programming interface can be
> used without a JUL."
>
> But I may have misinterpreted it.
a) You can use J runtime
b) You can call it from something that creates exe file like C or VB
J uses scripts you pipe into the interpreter
It is probably easier for you to understand to get a copy and try it
out rather than just reading about it.
Try the demos, labs, tutorials and help in the studio
| |
| Jacques Guy 2004-10-03, 8:55 am |
| Bj?rn Helgason wrote:
> a) You can use J runtime
You mean, what I am doing now? That is, typing
code such as
<'7 8'
and watching the interpreter's answer (nice way
of learning the J syntax hands on, BTW)
> b) You can call it from something that creates exe file like C or VB
You have me lost there. I have, for instance, Borland C++.
How do I call J from BC++? Or (I suppose that must be
possible, then) from Delphi? I am completely lost there.
And, if I manage to produce an EXE file, isn't it going
to be huge? I see that j.dll is 1,110,016 bytes.
> J uses scripts you pipe into the interpreter
Yes, I gathered that
> It is probably easier for you to understand to get a copy and try it
> out rather than just reading about it.
I have a copy of J5.03a. (J was recommended to me by a
retired IBM engineer who swears by APL--so far, I had
only used Simula 67, Pascal, C, C++, Delphi, and am
currently using Euphoria)
> Try the demos, labs, tutorials and help in the studio
I have. None of them tells me how to turn a script into
an EXE file usable by anyone.
Once I get over the cryptic vocabulary and get used to
thinking no longer in terms of for, while, and if
statements, J would seem ideal for what I do: statistical
analyisis of natural language. But if I want others to use
what I might write, I can hardly expect them to have J
(the interpreter), so I need to provide them with EXE files
of reasonable size. That is my problem (learning J is
not the difficult part: it is only a matter of thinking
a bit differently).
| |
| J. Clarke 2004-10-03, 3:55 pm |
| Jacques Guy wrote:
> Bj?rn Helgason wrote:
>
>
> You mean, what I am doing now? That is, typing
> code such as
> <'7 8'
> and watching the interpreter's answer (nice way
> of learning the J syntax hands on, BTW)
>
>
> You have me lost there. I have, for instance, Borland C++.
> How do I call J from BC++? Or (I suppose that must be
> possible, then) from Delphi? I am completely lost there.
> And, if I manage to produce an EXE file, isn't it going
> to be huge? I see that j.dll is 1,110,016 bytes.
The runtime library is not included in the executable, it's distributed
along with the executable. This is true for all languages that run under
Windows and use runtime libraries. Try to run a Visual Basic application
without the appropriate .dll installed and see what happens.
>
> Yes, I gathered that
>
>
> I have a copy of J5.03a. (J was recommended to me by a
> retired IBM engineer who swears by APL--so far, I had
> only used Simula 67, Pascal, C, C++, Delphi, and am
> currently using Euphoria)
>
>
> I have. None of them tells me how to turn a script into
> an EXE file usable by anyone.
J and most other APL variants are interpreted languages. Applications
aren't distributed by compiling to executable binaries, they are
distributed as scripts and/or workspaces (depending on what variety of APL
you're using) and a runtime interpreter. You aren't going to have a single
".exe" file anymore than you have a single ".exe" file for Microsoft Word
(with Word it may appear that you do but try to run Word by copying
that .exe to another system and see what happens).
> Once I get over the cryptic vocabulary and get used to
> thinking no longer in terms of for, while, and if
> statements, J would seem ideal for what I do: statistical
> analyisis of natural language. But if I want others to use
> what I might write, I can hardly expect them to have J
> (the interpreter), so I need to provide them with EXE files
> of reasonable size.
You use the project manager to put together the package of files that they
need. It's up to you to provide an installation script that puts them
where they need to be or alternatively to provide instructions to the user
telling him how to do the same.
> That is my problem (learning J is
> not the difficult part: it is only a matter of thinking
> a bit differently).
--
--John
Reply to jclarke at ae tee tee global dot net
(was jclarke at eye bee em dot net)
| |
| Bj?rn Helgason 2004-10-03, 3:55 pm |
| Jacques Guy <jguy@alphalink.com.au> wrote in message news:<4160BDBA.5166@alphalink.com.au>...
>
> You mean, what I am doing now? That is, typing
> code such as
> <'7 8'
> and watching the interpreter's answer (nice way
> of learning the J syntax hands on, BTW)
Using the runtime is explained in the help it shows you how to call J
with scripts to run your application.
>
>
> You have me lost there. I have, for instance, Borland C++.
There are some explanations how to call J from C, VB and Excel in the
help and examples.
> if I want others to use
> what I might write, I can hardly expect them to have J
> (the interpreter)
Well,
to begin with there is nothing wrong with shipping J with your app
it is free anyway.
Have you tried the Project Manager to package your application?
It shows you how to distribute your work and the receiver does not
need to know any J
| |
| Jacques Guy 2004-10-03, 8:38 pm |
| Bj?rn Helgason wrote:
> to begin with there is nothing wrong with shipping J with your app
So far I had managed (using Pascal) to keep my apps to
a very small size, all under 60k. Of course it is
a hangover of sorts of when I was using a Z80 with
a grand total of 64k of RAM.
> Have you tried the Project Manager to package your application?
No, not yet. The little I have written, snippets of code
to get a feel of the language, hardly deserve the names
of "application", let alone "package", and even less "project".
So "Project Manager" would have been the last thing I was
planning to look at in any depth.
> It shows you how to distribute your work and the receiver does not
> need to know any J
Well, NOW I know where to look! (Even entering my JUL took me
a few minutes--I just could not figure out where, it's not
obvious you know. And I still have not figured out the
purpose, but never mind that).
Anyway, thanks to you and to J.Clarke. I have saved both
your posts. At last, as I've just written, I know where to
look.
| |
| Jacques Guy 2004-10-03, 8:38 pm |
| J. Clarke wrote:
[the answer to my question]
Thanks. It's what I was half expecting,
but I was far from sure, and I did not
know where to look for the solution.
| |
| Jacques Guy 2004-10-05, 3:55 pm |
| J. Clarke wrote:
[the answer to my question]
Thanks. It's what I was half expecting,
but I was far from sure, and I did not
know where to look for the solution.
|
|
|
|
|