Path: csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: w.clodius@icloud.com (William Clodius) Newsgroups: comp.compilers Subject: Re: Compiler implementation language preference ? Date: Wed, 23 May 2018 10:14:26 -0600 Organization: A noiseless patient Spider Lines: 25 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <18-05-011@comp.compilers> References: <18-05-009@comp.compilers> Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="41012"; mail-complaints-to="abuse@iecc.com" Keywords: practice, Fortran Posted-Date: 27 May 2018 22:20:14 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2098 Michael Justice wrote: > > [Mostly people use what they're used to, or in languages that are easy > to bootstrap on the machines they want to use. IBM's Fortran H > compiler was famously written in itself, but I wouldn't write a new > compiler in Fortran because it doesn't have great data structuring or > dynamic storage management. (Yes, I know that Fortran 2008 is a lot > different from Fortran 66.) -John] With pointers and allocatable arrays I don't see Fortran lacking in allocatable storage management. With derived types and inheritance I don't see it lacking in data structuring compared to, say, ISO C. Allocatable length character strings has largely eliminated the weaknesses of its character type, though in practice it is probably best to deal with Unicode encodings by mapping them to a standatard encoding using eight bit integers. The ISO_FORTRAN_ENV module allows it to portably deal with multiple sized integers, so that such things as UTF-8 files can be handled. Fortran compatible pre-processors exist, though they are not as well known as the C pre-processor. What it does lack, compared to ISO C, are type casts, and unsigned integers. What it lacks compared to C++ is templates. More importantly it has a user community focussed on numerics, that is relatively unfamiliar with the types of algorithms used in compilers, and is relativly uninterested in such applications.