Re: Why XML to comunicate Distributed Components?



On Thu, 28 Feb 2008 17:35:10 GMT, H. S. Lahman wrote:

Computing today pays a horrendous penalty for portability because the
computer hardware vendors cannot standardize on things like endian, lsb
location, alignment, floating point format, etc..

These are not enough to standardize. The price is paid also for the loose
semantics of numeric types used in old languages like C and inherited by
almost all modern languages. It is not enough to specify the representation
of say integers. You also need to define the range and the behavior upon
overflow. With floating point number it is far more complex. You have to
define rounding and underflow behavior, as well as the ideals like NaN.
Then do not forget fixed point numbers, which are much more common in
distributed applications than floating point numbers. Even strings aren't
easy with all that Unicode stuff. And how are you going to standardize
enumerations? Records? Arrays? References?

In short, types shall be OO in order to have defined behavior.

Applications have to
encode/decode between ASCII and binary representations in every
distributed context. Worse, they are forced to used highly inefficient
ASCII character parsing, searching, etc..

Yes, but it is impossible to define/standardize all semantics anyway. For
example additionally to the semantics of the types described above, there
is also QoS for periodic data, synchronous data, behaviour upon timeouts,
consistency checks, initialization, finalization etc.

The advent of ubiquitous interoperability and distributed processing
drives the need for portable state data. The resulting ASCII processing
is a substantial contributor to the fact that today one needs a desktop
that is equivalent to a 1984 mainframe in power just to run the same
spread*** that ran quite well on an Apple II in 1984.

True, there was a saying back in early 90s, that Windows would make i286
out of any i486. So long the Moore's law works, it is always cheaper to buy
a new CPU instead of hiring competent programmers, abandon C++, convincing
the customer that he needs no XML (together with whatever other ideas we
read from popular science [fiction] magazines), and so on and so forth.
That were OK, if not the problem that the software quality gets lost even
more than mere performance. One cannot compensate lack of quality by buying
another CPU.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
.


Quantcast