Compilers and languages (Was: Help reading a 9 track tape

Fred Cisin cisin at xenosoft.com
Mon Aug 2 18:07:46 CDT 2021


>>> Some might argue with you about that.  PL/M was done in Fortran IV.
>> A REAL programmer can write a FORTRAN program in any language.
>> A REAL programmer can write any program in FORTRAN.  (although, it is 
>> often the wrong tool for the job, possibly resulting in too much work and 
>> poorer performance.)

On Mon, 2 Aug 2021, Bill Gunshannon wrote:
> I don't remember if it was Ryan-McFarland or an early MicroFocus but
> "back in the day" there was a COBOL compiler written in COBOL.

Not surprising.

One of the rites of passage (not necessarily the only one) in "computer 
science" education is that every grad student invents a new language, and 
writes a compiler.  The compiler is not considered finished until the 
current iteration of that compiler was written in that language and 
compiled by that iteration of the compiler.

One of my heresies is that I believe that each language has some things 
that it does well, and some not so well.
   Certainly it is usually, and should be, possible with a "general purpose" 
language, but it would seem that it would make sense to use a language 
appropriate for the task.

IS the specialty of the language WRITING COMPILERS?  If not, it would seem 
that a better compiler for that language would be written in a language 
best suited for writing compilers (strong string/text handling and 
parsing, suitable tree structures, pattern matching, and optimization,for 
example).  But, it seems that the specialties of languages and compilers 
are compromised for the sake of writing a compiler for writing compilers.

"The language/compiler that I created is SO versatile that the compiler is 
written in that language and compiled with that compiler."  Good.  But 
does that mean that the language was optimized for THAT, instead of the 
specialty for which it was intended?

--
Grumpy Ol' Fred     		cisin at xenosoft.com


More information about the cctech mailing list