Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #3542
| From | Thomas Koenig <tkoenig@netcologne.de> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: Which comes first, languages or compilers? |
| Date | 2023-11-02 07:20 +0000 |
| Organization | Compilers Central |
| Message-ID | <23-11-001@comp.compilers> (permalink) |
| References | <23-10-008@comp.compilers> <23-10-011@comp.compilers> <23-10-012@comp.compilers> <23-10-014@comp.compilers> |
Luke A. Guest <laguest@archeia.com> schrieb: > On 30/10/2023 03:26, Hans-Peter Diettrich wrote: >> On 10/27/23 5:57 PM, Luke A. Guest wrote: >> >>> I don't really consider any of Wirth's languages to be designed as >>> they would not have the gaping big holes they have. >> >> The *languages* are all well designed, > > That's not what the Oakwood guidelines say. What do they say? > system *libraries* are incomplete >> or missing. > > Yes. There is actually a problem with language design - how to handle I/O. Kernighan discusses briefly this in "UNIX: A History and a Memoir". You can make I/O part of the language, as FORTRAN first did with FORMAT (which was an excellent idea). You can leave it unspecified (which has been shown to be a bad idea). Or you can leave it to libraries, like C or Modula-2 do. If you leave it to libraries, the question is how to make up complex format strings. You can use C's varargs, which make for easy use (but somewhat difficult error checking), or you can use the Modula-2 approach where each type has its own library function, which makes I/O a pain to use. And varargs certainly has issues for compilers, especially in ABI definition when arguments are usually passed in registers. Lenient ABIs which allow you to call a normal functions with a varargs argument list without crashing are certainly a source of errors, even now. > [I'd prefer not to refight 30 year old arguments about language design details here. > At this point Oberon is purely of historical interest and Pascal is close to dead. -John] A Pascal descendant, Delphi, is still being sold. And Modula-2 has just gained a gcc front end, so not all of Wirth's languages are dead. [The line between language I/O and library I/O is quite blurry. The C standard makes includes the stdio library as a mandatory part of the language so compilers often do static compatibility checks of printf strings and arguments at compile time. Sure, you can build the format at runtime but it's almost always a static string. And, Fortran lets you build the FORMAT statement in a runtime string, too. -John]
Back to comp.compilers | Previous | Next — Previous in thread | Find similar
Which comes first, languages or compilers? gah4 <gah4@u.washington.edu> - 2023-10-25 12:39 -0700
Re: Which comes first, languages or compilers? Kaz Kylheku <864-117-4973@kylheku.com> - 2023-10-26 21:46 +0000
Re: Which comes first, languages or compilers? "minf...@arcor.de" <minforth@arcor.de> - 2023-10-27 03:19 -0700
Re: Which comes first, languages or compilers? "Luke A. Guest" <laguest@archeia.com> - 2023-10-27 16:57 +0100
Re: Which comes first, languages or compilers? Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-10-30 04:26 +0100
Re: Which comes first, languages or compilers? OrangeFish9737 <OrangeFish9737@invalid.invalid> - 2023-10-30 10:02 -0400
Re: Which comes first, languages or compilers? "Luke A. Guest" <laguest@archeia.com> - 2023-10-30 20:35 +0000
Re: Which comes first, languages or compilers? Thomas Koenig <tkoenig@netcologne.de> - 2023-11-02 07:20 +0000
csiph-web