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