On Jul 25, 2012, at 11:17 AM, Bill, W6WRT wrote:
> I wonder why some programs such as fldigi are written so they will run on
> almost
> any operating system, and others such as N1MM Logger will only run on Windows?
Whether you can run a program under various operating systems depends on the
development environment (Libraries, Framework) that the developer uses. If you
write for .NET in Windows, you won't expect it to run in Mac OS X, and if you
write for Cocoa in Mac OS X, you won't expect it to run under Windows.
fldigi uses the Fast and Light Toolkit (fltk) that has its own GUI and audio
API. In addition to Linux, the fltk Toolkit (libraries, etc) also runs in
Windows and Mac OS X.
Thus for example, anything that is built using fltk will be able to run in Mac
OS X as long as you have ported the fltk library into the Macintosh.
>From the computer scientist viewpoint, a program that runs under fltk is not
>strictly speaking "native." The developer interfaces with the toolkit's
>system calls in the fltk library, and the library in turn translates the fltk
>system calls into the native Mac OS X system calls, in case of a Macintosh.
>This holds for things you draw to a window, the action of pressing a button,
>passing data to and from sound cards, etc.
As such, you can expect different efficiencies compared to programs that are
written to run natively in Windows or Mac OS X. But that is not really a
problem in the modern world, where you hardly eat a few percent of a desktop
computer's processor capability to begin with. And therefore from the user
viewpoint, it is "native," as long as you don't mind interacting with a user
interface that can deviate from what they are used to with the native programs.
The inefficiencies will also depend on what you are doing -- if you are mostly
number crunching (e.g., running DSP code), there is probably zero overhead, if
you draw a waterfall to a window, you can expect greater overhead.
The "FL" in fldigi comes from the name of the Toolkit, just as I use "Cocoa,"
the primary framework in today's Mac OS X, as part of cocoaModem's name. It is
also why fldigi has the "Linux look and feel" when you run it on Mac OS X.
(More accurately, it is the fltk's look and feel.)
Just as you find very different graphical and user interface experience between
Windows and Mac OS X, the same is true with anything using the fl toolkit.
When you run fldigi on a Mac, it looks and feels more like a Linux program than
a Macintosh program, for example. I have not tried it on Windows (because I
have no computer at the QTH that runs Windows), but I also don't expect fldigi
to be as pretty as the Ham Radio Deluxe user interface.
You can read more about the FL toolkit here:
http://www.fltk.org/documentation.php/doc-1.1/intro.html
fltk is not the only environment that is multi-platform. REALbasic is another
common one that runs on Linux, Windows and Mac OS X. RUMlog and RUMped are for
example written on REALbasic, and can probably be tweaked to run on Windows it
Tom feels like doing so.
73
Chen, W7AY
_______________________________________________
RTTY mailing list
RTTY@contesting.com
http://lists.contesting.com/mailman/listinfo/rtty
|