On Feb 5, 3:36 pm, Doug Mentohl <doug_ment...@xxxxxxxxxxxxx> wrote:
> Today, Mono offers full static compilation -- the ability to take C#
> code written for the .Net platform and output native machine
> instructions, rather than CLR bytecode. The resulting code needs no
> just-in-time compiler and no runtime -- it runs on the CPU itself, just
> like code written in C or C++ ..
Actually, if you want to code it C#, it's better to write for Mono
than for .NET and the other Microsoft APIs.
A mono program will run on Windows.
A Windows C# program will NOT necessarily run on mono.
Java 2, (JDK 1.4 and later) is pretty much write once run anywhere,
but doing the development on Linux or Unix almost guarantees that it
will run on Windows as well.
Microsoft tried to "kill" Java by bundling their own version of Java
1.1 that generated special code that would NOT run on other
platforms. Sun offered free downloads of upgraded versions of Java
but Microsoft kept advising against the upgrade, telling them that
Windows programs wouldn't work. Eventually, after losing the
antitrust suit and a case to Sun, Microsoft agreed to include Sun's
latest version and let Sun automatically upgrade the software whenever
they wanted, without interfering.
With each upgrade comes the invitation to also download free copies
of either Open Office or Star Office. Star Office is Open Office with
a bunch of extra themes, templates wizards, and a better Word, Excel,
and PowerPoint adapter plug-ins. Estimates are that about 60-70% of
the PCs now have some form of ODF based software. IBM also includes
Symphony in Lotus Notes 8.0 upgrades, and offers free downloads of
Symphony - which does not come with an equivalent to Base.
There really aren't a lot of new projects being written in C#, because
Microsoft has pretty much orphaned it. They have retrenched to Visual
BASIC. Linux even has a VB work-alike that generates applications
that will run on both Linux/Unix and on Windows, but the Windows
version does have to be recompiled.
The mono implementation of C# is very nice, but does need to be
compiled for each CPU type.
Linux is becoming the platform of choice for developers who want to
create software that will run on Windows, Mac, and Linux.
Eclipse has become very much like the "New Emacs". For those who
never used emacs, it is much more than just a word processor. In the
1980s, when we had to work with text-mode terminals, emacs was almost
like Windows. Emacs could split the display into different windows,
had context sensitive help, ran applications in the smaller windows,
and had dired which was the grand-daddy of what is now known by
Windows users as Windows explorer. There was even the ability to use
higher resolution displays. Most terminals were 80 columns by 25
lines because higher resolution CRTs tended to use more energy, but
PCs that used monochrome graphics and CRTs could generate resolutions
more than double that. IBM even had a display on the 3090 terminal
that could handle 4 80x25 line screens, to try to compete with Unix
and Emacs. Monochrome Tektronix terminals had resolutions of
4096x3000 pixels in shades of grey. They could give Emacs almost 400
columns by 250 lines.
Emacs was even used as the inspiration for X11 Windows, isolating the
applications from the display functions. Allowing the display
functions to be implemented using whatever procedures were best for
the target terminal or display.