Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #2847
| Path | csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end |
|---|---|
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
| Newsgroups | comp.compilers |
| Subject | Re: Are compiler developers light-years ahead of other software development? |
| Date | Wed, 19 Jan 2022 21:33:57 GMT |
| Organization | Institut fuer Computersprachen, Technische Universitaet Wien |
| Lines | 74 |
| Sender | news@iecc.com |
| Approved | comp.compilers@iecc.com |
| Message-ID | <22-01-074@comp.compilers> (permalink) |
| References | <22-01-059@comp.compilers> |
| Injection-Info | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="75489"; mail-complaints-to="abuse@iecc.com" |
| Keywords | theory, comment |
| Posted-Date | 19 Jan 2022 18:42:28 EST |
| 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:2847 |
Show key headers only | View raw
Roger L Costello <costello@mitre.org> writes: >I am learning the algorithms and theory underlying parsing. Wow! I am >discovering that parsing has such a rich theoretical foundation: grammars, LL, >LR, first() function, following() function, parsing tables, etc. > >In all the software that I have written, I am lucky if I can use one or two >algorithms that have a theoretical foundation. Mostly, the software is one-off >code. ... >Are compiler developers light-years ahead of other software development? There are multiple facets to this question: 1) Compilers are decades ahead of much other software development: If you look at early CS curricula (I have looked at one from IIRC 1965), you see compilers and a few other topics, but many of the topics that now fill the curricula did not even exist then. E.g., BNF was invented before Algol 60 was published in 1960, while the relational model for data bases is from 1970, the concept of NP-completeness is from 1971, and RISC architectures (in the form of the IBM 801) were invented in the mid-1970s. And if you look at currently hot topics like deep learning, cloud computing and IoT, their practical relevance is much younger (although I guess you can point to 1960s work for each of them that points in that direction). 2) As I have written some time ago: |Compilers are ideal software projects: You have relatively stable and |well-defined, partly even formal specifications for the input and the |output, and lots of interesting subproblems in between. | |In particular, the scanning part of compilers has been formalized |using regular languages and is expressed in regular expressions, which |have become not only popular for scanning programming languages, but |for many other tasks as well. The parsing part has been formalized |with context-free grammars in (extended) BNF and that has led to the |development of parser generators that are quite popular in language |implementations. There is also similar formalization in instruction selection (although my impression is that generators are not as widely used there as in the front end). However, in between things are more like more common programming, even though people have tried to propagate the formalization success in these areas, too. And I think that points to why we don't see that much of that kind of formalization in most other areas: context-free grammars are something that most programming language designers want to use, so developing methods for parsing such languages and putting them in parser generators has a significant payoff, while a formal semantics becomes so inflexible that most programming language designers prefer to stick to more or less informal semantics (in some cases with some parts formalized), and then of course you implement the semantics with a less formal approach, too. And for most other software, it's similar. 3) The love of formal stuff can lead you astray. E.g., the first Fortran compiler did not report syntax errors. Of course, mistakes also happen in less formalized software; my point is that if you focus your attention on the nice formal stuff, you can easily overlook that your software has other aspects, too, that you need to cover. - anton -- M. Anton Ertl anton@mips.complang.tuwien.ac.at http://www.complang.tuwien.ac.at/anton/ [I am reasonably sure the original Fortran compiler reported syntax errors. A 1957 paper at bitsavers says it did: http://bitsavers.org/pdf/ibm/704/FORTRAN_paper_1957.pdf -John]
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
Are compiler developers light-years ahead of other software development? Roger L Costello <costello@mitre.org> - 2022-01-16 14:36 +0000
Re: Are compiler developers light-years ahead of other software development? Philipp Klaus Krause <pkk@spth.de> - 2022-01-16 22:13 +0100
Re: Are compiler developers light-years ahead of other software development? gah4 <gah4@u.washington.edu> - 2022-01-17 07:14 -0800
Re: Are compiler developers light-years ahead of other software development? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2022-01-19 21:33 +0000
Re: Are compiler developers light-years ahead of other software development? Kaz Kylheku <480-992-1380@kylheku.com> - 2022-01-22 03:01 +0000
Re: Are compiler developers light-years ahead of other software development? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2022-01-22 10:43 +0000
Re: Are compiler developers light-years ahead of other software development? Kaz Kylheku <480-992-1380@kylheku.com> - 2022-01-22 21:38 +0000
Re: Are compiler developers light-years ahead of other software development? Roger L Costello <costello@mitre.org> - 2022-01-22 12:50 +0000
Re: Are compiler developers light-years ahead of other software development? Kaz Kylheku <480-992-1380@kylheku.com> - 2022-01-22 21:22 +0000
Re: Are compiler developers light-years ahead of other software development? Ian Lance Taylor <ianlancetaylor@gmail.com> - 2022-01-22 15:40 -0800
Re: Are compiler developers light-years ahead of other software development? Kaz Kylheku <480-992-1380@kylheku.com> - 2022-01-23 06:17 +0000
csiph-web