Actually, "in general" tends to have some kind of implicit scope that is
usually less than "all platforms". For instance, when discussing a Java
solution, we can exclude platforms that Java doesn't run on.
True.
But Java do run on some of these platforms.
It probably runs on all platforms Java is normally used on. It certainly
runs on 99.99% or more of the machines anyone is likely to run Java on,
If you are counting machines: yes.
If you are counting dollars: no.
AND the remaining less than .01% are ones sufficiently oddball that their
operators will *know* to expect common crossplatform software to often
break on them. Typical C code using I/O will probably not work on such
machines without heavy modification, even C code that compiles and works
fine on every POSIX-compliant system and every Windows box and most other
machines.
C code just like Java code works if the code according to the
standard has well defined behavior.
But this functionality is not guaranteed to work in C either.
fgetpos and fsetpos do not work on offsets but on an opague type
that can contain more than offset.
fseek and ftell work on offsets for binary files, but for text
files it is opaque.
POSIX/SUS then adds lseek, which will either work with
offsets or return an error.
Hell, these machines may not even be able to represent C source
trees normally, requiring the compiler vendor to jump through hoops and
requiring unusual tools and IDEs be used to hack C sources and not just
the system text editor.
Text editors are by definition able to create text files and source
code is text files.
Try think logical.
Hell, I wouldn't be surprised if there were no
working C implementations on some of these systems
They do have C.
-- and I'd be
surprised if many, if any, of them ran Java at all, let alone had a fully
compliant JavaSE 5/6 implementation.
I am not surprised that you would be surprised - you don't seem to know
much about systems.
z/OS, i and OpenVMS all has certified Java versions.
On the contrary, whether software works on platforms that interest its
developer and user base is 100% relevant and whether it works on
platforms that *don't* interest its developer and user base is irrelevant.
No.
Not if the discussion is about general usage.
And it is bad Java programming to write code that only works
on some Java platforms even though the expectation is that the
program will only be used on platforms where it do work.
All ASCII supersets. Which means the common denominator among all those
is ... ta-da! ASCII.
That does not make them use ASCII.
And hardly anyone uses IBM mainframe (sic). What was that figure again?
0.01% of all computers?
I think the number was 80% of financial data.
Very few.
Most support ASCII because they use something that
is compatible with ASCII.
Arne