Linux installation
J. Landman Gay
jacque at hyperactivesw.com
Tue Jun 6 17:48:51 EDT 2006
Bob Warren wrote:
>
> These are my definitions, which you might like to challenge as being
> inappropriate:
>
> 1. An "executable" (e.g. a file produced by VB in Windows) is not a
> program, it's half a program. Nor is it executable. It finds its other
> half in the operating system it is running under (in the form of
> libraries), and when the 2 halves are put together, it can do something.
>
> 2. A "standalone" is a whole program, not half. It does not refer to any
> libraries at all in the runtime operating system**, and can be executed
> directly.
There are no programs that function as you describe in #2, on any
operating system, written by any development platform.
>
> [** except perhaps totally invariable ones - if such a thing exists??]
>
> What Jacque seems to be trying to tell me is that in spite of the
> denomination, Rev "standalones" for Linux are not pure. They mainly have
> the characteristics of the 2nd category, but they have some of the
> characteristics of the 1st.
No, they are mainly like the first category. All
applications/executables/standalones are like #1. I can't think of a
single exception. They *all* rely on libraries embedded in the OS.
What's an OS? It is a series of libraries and resources available for
common use by any program. The existence of common libraries ensures
that all execuatables will look fairly similar and have similar
behaviors. This is considerd desirable. It gives consistency to the user
experience. All modern applications rely on them.
All Mac/Windows/Linux applications are the same regardless of whether
they run with Revolution's engine or something else. You don't want to
have to program your own window manager each time you create a program,
or your own file I/O, or all the other thousands of interactions that an
operating system provides for you with a single call. That's the whole
purpose of an operating system. Your program asks it for data and it
hands it back, or it draws a window for you, or it manages data flowing
through a socket. Your program just makes the calls that ask it to do
those things.
There is no such thing as a "standalone" as you have defined it on any
OS. All programs rely on system libraries.
>
> Although this does not seem to fit in with an ideal situation, is it
> certainly true in Linux? Can anyone give me any examples of libraries in
> the OS certainly used at runtime by all Rev Linux programs?
Rev (or any other engine) on any platform needs the OS to execute
thousands of commands and interactions. You need the OS libraries to:
read/write files or get a file listing
draw a window in any of several styles
manage menus
track and report the mouse position
recognize and report keyboard input
keep track of the time and date (seconds, ticks, date formats)
recognize mounted drives
work with networked drives and files
resolve aliases
do math operations
display color data
communicate with printer drivers and manage the print queue
translate and generate sounds
play multimedia (movies, music)
interact with COM and serial ports
display program icons
and on and on and on...
> And if Rev
> does use such libraries in its "impure" standalones, is there any chance
> that either Rev will not find them in a particular distro or that they
> become outdated?
They aren't "impure". They are standard applications that act exactly
like any other. Sometimes system libraries do become outdated. Every
time a new OS is released on any platform, all applications that run on
that OS usually have to be rewritten. Note that Runtime just released a
new version to support Mac on Intel machines, for example. The Linux
libraries also change; there have been several updates over the years to
support those changes. When Windows releases Vista you will see another
new update to support those changed libraries. It is the nature of
software development.
I don't think you understand how truly intertwined all applications are
with the OS they run on. It is okay that they do that. The only other
alternative would be for you to have to write all your own routines to
do all the above and more -- which apparently lots of Linux people have
decided to do, giving you the headaches you started out with at the
beginning of this thread.
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list