Bo said:
So you are saying that it seems like a good idea to have a language
standard that IBM cannot implement on their systems? Forcing them to
use non-standard extensions?
Please remind me, what is the idea behind having a global standard?
Bo Persson
I got enough of it at last so here goes your reminder: see
http://blog.lib.umn.edu/tiet0024/wittgenstein/. I was looking for this
quote for few years..
"107. The more narrowly we examine actual language, the sharper becomes
the conflict between it and our requirement. (For the crystalline purity
of logic was, of course, not a result of investigation: it was a
requirement.) The conflict now becomes intolerable; the requirement is
now in danger of becoming empty.--We have got on to slippery ice where
there is no friction and so in a certain sense the conditions are ideal,
but also, just because of that, we are unable to walk. We want to walk:
so we need friction. Back to rough ground!"
-from Philosophical Investigations"
Global standard encompassing every platform will take infinite time to
create. As a result, we have NOTHING. Java, Perl, Python, C#, you name
it.. went other way and they have something that satisfies 99% of their
users in term of file system. Even that supposedly "obscure" IBM
implemented Java on their supposedly intractable platform. Including
java.io.File, by the way -- within reason and demand. Believe me, IBM
would implement whatever requirement ISO standard would contain for C++
file systems. They really can write programs. Platform *extensions* will
always be around as long as the competition is around but it does not
prevent us from standardizing *basics*. IBM did not make it an issue to
implement supposedly "Unixish" IETF FTP protocol, yes on z/OS FTP
servers that somehow have directories. Hey, they will actually give you
Unixish file system if this is what you prefer and the Standard does not
have special dataset / catalog / DD / records support. They did it to
Java guys..
C++ committee decided to.. wait for perfect solution.
But wait, we will have brand new meaning for square brackets, functional
programming (but only those features that could be implemented via OOP
without any issue) and we almost got concepts (no one yet showed to me
any useful application of a concept that could not be solved with a
separately instantiated templates facility that is not prohibited by the
standard -- maybe it should be made a requirement) -- fortunately that
one was dropped. My feeling is that nobody just wants to work on
libraries as opposed to "cool" things.
Aren't we bragging that C++ is already the best language for library
writers every time a humble application developer complains about its
being too complex for his/her little application? So why not to show to
us all how to add a couple of useful features to the libraries. As
simple as file names. So far the only "perfect" library facility is
locales and facets -- perfectly takes all speed out of those streams
that were supposed to be faster than printf.. Yeah, sure, they are
faster.. defined and often implemented via printf.. Show me a single
(buf fully compliant) implementation that is faster than optimized gcc
printf.. (fully compliant to C ISO Standard).
-Pavel