Re: ASCII I/O???

Vinicius Fernando Arcaro (vfa@turing.unicamp.br)
Tue, 03 Sep 1996 21:13:39 -0200

Dear Marc,

> I wonder how easy it is to create a dialog box (or a menu item, or
>a hypertext help system) in Ada95? ;-)

Unfortunately, I am not at the point where I could answer this
provocative question. I am studding Ada95 for about one week.
However, I already know how to read from and write to an ASCII file
in a standard way. :)

I am using a free compiler called gnat. The site
http://lglwww.epfl.ch/Ada/ has a lot of information about Ada95.

I would like to help enlighten this discussion emphasizing, as you
already noticed, that there are really two related themes inside it.

The first theme is simplicity. If I remember correctly, the first
release of Oberon/F did not have the module String; however, any
computer science expert could code such a module. Another way
to code an ASCII text file I/O module was using at least six other
modules; again, any computer science expert could read and
probably understand the documentation to execute the task. I firmly
believe that OMI should not expect the execution of this task by
engineers, lets say, a little apart from these problems.

Moreover, I started wondering about the size of the executable
code for a simple "hello world" program that would write to an
ASCII file. Will the linker be smart enough to remove unused code
from all these six modules? I followed a discussion in CompLangAda
where it was stated that a specific compiler generates a 200kb
for the size of the executable code. Perhaps, I should not have
written this last phrase. ;)

The second theme is standards, not for complex I/O operations on
a GUI, but for simple I/O operations on ASCII text files. Why treat
ASCII text files as a special case? I believe that the following
reasons should be enough:

ASCII text file is a time proven standard way for exchange
computer information. I am not sure about what the concept of
View means in Oberon/F. I know that it is something powerful
and general, but it has not passed the test of time yet.

Part of the programming effort will be multiplied without a
standard ASCII text file I/O module, since many "engineers" will
have to code a personal module, gaining absolutely nothing
and loosing portability.

The history of Oberon2 already shows that a standard ASCII text
file module will not emerge as a result of a "natural selection",
as some persons might believe.

Regards,
Vinicius