On Sat, Nov 16, 2019 at 4:58 AM Bernie Eckhart <[email protected]> wrote: > My fault. I was not restricting my question to only J. > > At the moment I am very much a J newbie. > > Mostly I work in c# in Windows. > > Basically one creates an executable program and a manifest of what to > include when one creates a package that an end user installs on the > computer he or she regularily uses.
Or a server program that the user accesses remotely (for example). And there's a few other options, also (embedded systems, for example, which are distributed with hardware have a rather more circuitous install path). > Whether J, c#, or some other language, one does not nescessarily give away > his or her source code, rather a binary, compiled, executable file. That... really depends on the language and the os, among other things. C# executables are the result of translating C# to IL (intermediate language), which is patterned after the java virtual machine. The instructions are still readable for some audiences (including the machines that they're executed on). But the native representation of IL is a bytecode that few people are familiar with (though, perhaps, more people than the J community??). I've seen a variety of tools to work directly with IL and with DLLs, but unfortunately, I have not been careful about keeping track of them, and I do not remember all of their names, so I am left with knowing that some things exist which I can't find now. With J, you're working with its bytecode directly. (J uses ascii as bytecode.) One distribution variant involves creating a zip file an using that for the distribution. Also, the zip file directory appears at the end of the file, while executable file formats require specific content at the beginning of the file. This leads to self extracting executables, and also allows for non-extracting uses of executable zip content (with J, I can imagine enhancing the host filesystem foreigns to check for zip file contents when the corresponding file names are not present on the file system). But there plenty of other languages also, to be thinking about (javascript, python, etc. etc. etc...). > Searching something like "software distribution systems" one finds more > than two dozen candidates. Easily, yes. > I recall hearing J is written in c or c++. C For the core engine, at least. > An ideal software distribution application would have the ability to check > for updates and even optionally to automatically automatically update the > end user program that it installed. If you want that, you should probably distribute through an app store, and use that infrastructure. Thanks, -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
