[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ADTPro beta available



In article <1152604997.992204.177630@35g2000cwc.googlegroups.com>,
mdj <mdj.mdj@gmail.com> wrote:
>
>Paul Schlyter wrote:
>
>> > Cross-platform is the smart way to go at this point, especially as more
>> > people start getting fed up with Windows and start looking for alternatives.
>> > (My notebook no longer dual-boots Windows and Linux.  It only boots Linux;
>> > the handful of Windows apps I'm still using work with Wine and/or a Win2K VM
>> > running under VMware.)
>>
>> Cross-platform software is indeed nice, but a bit complex.  It requires you to
>> write the software with portability in mind, and then to actually build it on
>> multiple platforms to see that it actually works across platforms.
>
>Not if you write the software in a language designed for cross-platform
>use. This is the whole point of Java - a cross platform API + a virtual
>machine.

:-)

Check out:  http://www.skch.net/columns/java2.html

>In turn, the language itself is defined to avoid being bound
>to architectural limits.

<g> .... if so, why does the Java language explicitly prescribe the
sizes and bit patterns of its fundamental data types?  An int is *always*
a 32-bit signed 2-complement integer, a double is *always" a 64-bit
IEEE floating-point number .... etc etc.  These architectural limits are
directly hardwired into the language itself !!!!!  Do you want to do
128-bit number crunching efficiently, on hardware which directly supports
it?  Forget about doing that in Java....


>The entire point of it is to avoid the complexity you refer to. Rather
>than it be done for each and every cross platform application, you
>simply leverage a cross platform API that already exists. In the case
>of Java, you also compile your code to a cross platform 'instruction
>set' which is then translated or compiled as appropriate on the host
>platform.

Indeed, single-platform development is simpler than cross-platform
development - we're in full agreement here!  Java avoids cross-platform
development by "porting" the entire platform, rather than the application.
This means simpler development of course, but it also means a limitation
to whatever the JVM platform offers.

But this method is not limited to the JVM.  Any platform can be made
"cross-platform" in the same way - by porting the platform to another
platform through emulation.


>> That's not the path chosen by Java though.  Java is single-platform: it runs
>> only on the Java platform.  It creates an illusion of being cross-platform
>> by having the Java platform emulated on various other platforms.  But by that
>> method, you can also make MS-DOS programs "multi-platform".
>
>Nonsense. There is no 'Java platform' in the sense the term is used for
>every other platform.

:-) ...    http://www.research.att.com/~bs/bs_faq.html#Java

>All functionality is delivered by the platform the Java program is
>running on, except the virtual machine, which is just a virtualised
>processor.

You forgot the *quite* *lage*, and growing, class library of Java.  Or
are you saying that the Java class library offers no functionality?
If so, I strongly disagree with you.

>You could create a standalone platform that could run Java programs if
>you like, and this has been tried before (without success).

Yep -- these efforts repeated the earlier failures of Western Digital's
"The pascal Micro Engine" (which executed UCSD Pascal P code directly
by the processor - a processor which, needless to say, contained a lot
of microcode) as well as Intel's first 32-bit CPU, the iAPX-32 (which
executed an Ada variety of P code -- it too failed for the same reason:
slow execution.  The 80386, which was released a few years later, ran much
faster).

>Java is
>used today to write programs that run on a multitude of platforms.

No - Java is used to write programs for the JVM platform.  The JVM platform,
in turn, runs on several other platforms.

>Yes
>they'll only run where there is a JVM implementation, however there
>exists no platform I'm aware of for which such a JVM does not exist.

You're posting in comp.sys.apple2 and you're not aware of the Apple II
and its OS'es?  OK, here they are: Apple DOS, Apple ProDos, Apple CP/M,
Apple Pascal, Apple OS/9 - none of them have any JVM.

>Hence your program is cross-platform.
>
>If you look, you'll see that there is indeed a JVM implementation that
>runs under MS-DOS. Unfortunately it provides only a tiny subset of the
>Java API, and is thus not useful for non-trivial code. Why? The MS-DOS
>platform doesn't provide the functionality required for networking, UI,
>threading, etc.
>
>Matt

Support for all of that could be obtained through third-party libraries.

There were numerous GUI libraries for MS-DOS - most of them even ran
in text mode.  There were multitaskers for MS-DOS - ever heard about
DesqView for instance?  One can also network through MS-DOS ... some years
ago I wanted to back up the harddisk of an MS-DOS computer I was going to
retire.  Instead of shuffling floppy disk or using a file transfer program
running through a slow serial port, I plugged in an Ethernet card and then
surfed the web and found networking software working under MS-DOS.  After
a little while I had a network connection between that MS-DOS computer
and the rest of the network, and then I could just copy the entire harddisk
to another computer and then burn its contents on an archive CD.  OK, I
used the NetBEUI protocol for this - but there are also TCP/IP stacks
implemented for MS-DOS.


-- 
----------------------------------------------------------------
Paul Schlyter,  Grev Turegatan 40,  SE-114 38 Stockholm,  SWEDEN
e-mail:  pausch at stockholm dot bostream dot se
WWW:     http://stjarnhimlen.se/