[net.nlang.greek] Sofia Drosopoulou - Modula-2

kateveni@su-shasta.arpa (09/03/84)

From: Manolis Katevenis <kateveni@Shasta>

    Anamesa stous diaforous pou episkeftikan to Institouto Pliroforikis
tis Kritis fetos to kalokairi, itan kai i Sofia Drosopoulou, Computer
Scientist, me Didaktoriko apo to Panep. tis Karlsrouis (D. Germania).
H eidikotita tis einai software, languages, compilers.  Ergastike kai
ergazetai sto ekei Institouto kai to Panepistimio, kai se projects pou
echoun na kanoun me tin Modula kai tin Ada.
    Sti diarkeia tis episkepsis tis stin Kriti, diabase kai tin syzitisi
pou eiche ginei sto net.nlang.greek tin anoixi schetika me glwsses pro-
grammatismou gia systems programming, kai syneisefere merikes gnwmes.
Me mia simantiki kathysterisi (gia tin opoia zitw syggnwmi), tis stelnw
sto diktyo:
					Chairetismous, Manolis.

 From ariadne!guest (Sophia Drossopoulou) Mon Aug  6 14:29:44 1984

 ....(Re: Discussion on Programming Languages in the net, Spring 84)....
I would like to contribute the following points:
1. Comparison of Modula-2 and Pascal
2. Standardization of Modula-2
3. Availability and quality of existing (or future) Modula-2 compilers


1. Comparison of Modula-2 and Pascal
------------------------------------

Modula-2 = Pascal + a. separate compilation
                    b. low level facilities
                    c. coroutines
                    d. procedure types 
                    e. modules
                  - f. goto
                    g. typed i/o
a. and e. mean: Facility for abstract data types and structured program-
		    ming, decomposition of program into modules
                The compiler checks whether the modules` interfaces were
                    correctly used (in the sense of type checking)
                A big program in Modula decomposed in many modules will
		    be modified by the slowest Modula compiler faster
                    than the same bunch program by a Pascal compiler
b. means: types WORD, ADDRESS  compatible with any type requiring one
                word resp. any pointer type; also code insertion
		facilities
c. you know
d. procedure types give some possibilities for exception handling
f. you know about "goto considered harmful"
g. Wirth thinks that the I/O should be a separate package writen for
   every computer specifically, and not part of the compiler
   (I STRONGLY DISAGREE !!!!)


2. Standardization of Modula-2
-------------------------------

Reference manual of Modula-2 is not clear in many points. Result:
existing Modula compilers bahave differenty in many points. But there
are efforts for standardisation of the language (Modula User Association
in USA and Europe, first meeting in September).
Also, the situation with the Pascal compilers is not better, although
the language has been (only in the end 70 ies) standardized, and there
exists a Pascal validation test Suite.

In C the problem is still worse, ie. the portability of Pascal programs
is as bad as that of Modula software, but portability of C software
is a CATASTROPHY !!


3. Availability and quality of existing (or future) Modula-2 compilers
----------------------------------------------------------------------

As far as I know (I don't know about Mike Powell's work at DEC-WRL)
most Modula compilers do only very little for optimization. Only
Tartan produced a Modula compiler (I think for SUN s) which (they
say) produces optimal code comparable to the possibilities in C. But
lots of other people are now trying to develop highly optimizing
Modula-2 compilers.
In our Institute a case study (a scanner written in Modula-2 and in C)
showed, that if you used all possibilities of C (eg. specify to
keep variables in registers) then the code produced was 
by a factor of 3 (time and space) better than that of the Modula
compiler (we have a SMILER running on MC 68000 and UNIX). BUT: all 
these could be also done by a good optimizing compiler by itself
according to already known and used technology.
That means:
If you have a good compiler, you don't win any efficiency by using C!


Chairetismous ki efcharisto,                      Sophia