Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1424
| Path | csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!enother.net!enother.net!peer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end |
|---|---|
| From | "Gerry Rzeppa" <gerry.rzeppa@pobox.com> |
| Newsgroups | comp.compilers |
| Subject | Re: Writing A Plain English Compiler |
| Date | Sat, 8 Nov 2014 03:46:18 -0600 |
| Organization | Compilers Central |
| Lines | 136 |
| Sender | news@iecc.com |
| Approved | comp.compilers@iecc.com |
| Message-ID | <14-11-016@comp.compilers> (permalink) |
| References | <14-11-004@comp.compilers> <14-11-005@comp.compilers> <14-11-007@comp.compilers> <14-11-014@comp.compilers> |
| NNTP-Posting-Host | news.iecc.com |
| Mime-Version | 1.0 |
| Content-Type | text/plain; format=flowed; charset="iso-8859-1"; reply-type=original |
| Content-Transfer-Encoding | 8bit |
| X-Trace | miucha.iecc.com 1415455701 76825 2001:470:1f07:1126:0:676f:7373:6970 (8 Nov 2014 14:08:21 GMT) |
| X-Complaints-To | abuse@iecc.com |
| NNTP-Posting-Date | Sat, 8 Nov 2014 14:08:21 +0000 (UTC) |
| Keywords | design |
| Posted-Date | 08 Nov 2014 09:08:21 EST |
| X-submission-address | compilers@iecc.com |
| X-moderator-address | compilers-request@iecc.com |
| X-FAQ-and-archives | http://compilers.iecc.com |
| X-Received-Bytes | 7685 |
| X-Received-Body-CRC | 1326313716 |
| Xref | csiph.com comp.compilers:1424 |
Show key headers only | View raw
Joshua_Cranmer: You want to design a language model that allows people to express their thoughts in the most natural way possible. Gerry: Yes. And it seems to us that the method of expression that is both most frequently used and that has survived the test of time is that which is pictured and described in our Hybrid Programming project: https://www.indiegogo.com/projects/the-hybrid-programming-language/x/8950932 A natural language framework, with other modes of expression (formulas, graphics, etc) inserted where appropriate. You can see examples of it in human-to-human communication everywhere: web pages, encyclopedias, white papers, and this very forum. It's the natural way humans communicate ideas. All we want to do is extend that paradigm to include human-to-computer communications. Joshua_Cranmer: Yet at the same time, you limit the expressibility of the programming model because, well, you personally don't think naturally in alternative models and thus you don't see why other people might. Gerry: It's true, I prefer a procedural approach for solution descriptions; and I think most of the people on the planet, by far, do as well. But that doesn't mean that I would be against someone inserting a snippet of event-driven code, or an object or two, or whatever, in the middle of a Hybrid program. Joshua_Cranmer: When I tried to point out examples of alternative paradigms, your reply was fixated on trying to prove that you could express them in your procedural paradigm. That's not the point. The point was that having to do these paradigm translations is as much a programmer burden as, say, having to translate from "I need to solve this equation" to writing the code to solve that equation. Gerry: Yes, but I believe that most systems are procedural at bottom; and that most people naturally think procedurally. (Think of the billions of instruction manuals, repair manuals, how-to books and even recipe cards that have been written on any and every imaginable topic.) I further believe that most problems, when fully understood, can be most easily described and understood and solved procedurally. But Hybrid programming allows for the specialists among us, as above; and rightly so. Joshua_Cranmer: But those two statements are not semantically equivalent. The example you give requires the program to continually check in a busy-wait loop; the example I gave does not. Gerry: And in a Hybrid program you would be able to specify either solution. Joshua_Cranmer: After reading the thread you posted, it became clear to me that you are (were?) under the impression that having a self-hosting compiler was rare for a new proposed language. On the contrary, it is (to my knowledge) standard rigor to present a new language by having its self-hosted compiler be the largest application written in said language. I've even heard it opined that this tends to cause people to optimize their language design for writing compilers to the detriment of other kinds of applications. Gerry: I don't think it's at all rare for a new language to be "written in itself". (Though many of today's most popular languages are not: Javascript, for example.) It is somewhat more rare to have a complete development environment written in the new language; and quite rare for a compiler-writer to "prove" his language by writing a wysiwyg page-layout facility in his new language and then use that facility to produce the documentation for the language. And extremely rare for the whole thing to be written in English-language sentences. Point me to some English-sentence compilers (or even interpreters) written in English: SIRI? No. Alpha? No. Inform? No. Joshua_Cranmer: Your comments about "subset of English" are misleading, when taken in context of your stated goal of making a "natural language" compiler. That term, in the eyes of most, would imply that you could, say, build a compiler that inputs the ISO C++11 specification and outputs a working C++11 compiler. Gerry: A program that could "input the ISO C++ specification and output a working C++ compiler" would not be a compiler, to my way of thinking, but a (non-human) analyst and programmer; a thing capable of analyzing a specification, devising an appropriate design, and then implementing that design. A compiler is much more like a translator in my mind. Now if the "specification" in question was a step-by-step procedural description of exactly how to convert C++ code into machine language, then I would call a program that actually accomplished the feat a compiler. Joshua_Cranmer: Programming came so naturally to me that I disclaim any ability to properly evaluate programming 101. But the responses you have given, both in this newsgroup and the AnandTech forum thread, suggest to me that you are aware of the issues in writing large, complex software: you appear to value minimalism in a language (rather than in client code) very highly, and you appear to be very dismissive of "new" paradigms. Gerry: Yes, I value minimalism in everything very highly, and I am dismissive of "new" paradigms that have obvious flaws or limitations that are not recognized by their proponents. Joshua_Cranmer: A mild example of that tendency is present in the statement I quoted: you list compilers as the "more complex" endpoint, yet compilers are relatively simple affairs--which is why compiler courses tend to assign "build a compiler" as an ongoing project in the course. Gerry: I see compilers as unique. A program that cannot be used to produce better versions of itself is derivative at best, sterile at worst. I also believe that there is no such thing as easy or hard problems: that any well-understood solution to anything, taken one proper step at a time, can be understood by nearly anyone. Some such problems are certainly larger than others, and some more tedious; but that doesn't make them hard; just big or boring. Joshua_Cranmer: The sorts of projects I associate with production languages tend to start considering themselves large only when they get a few million lines of code. Gerry: Yeah, I don't think any problem deserves a million lines of code. Compare, say, Windows (50 million lines) to Oberon (25,000); somebody needs to start deleting. But let's say Plain English or the Hybrid Programming Language that we're proposing never got past 25,000-line systems; surely they would still be a useful things.
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-04 15:50 -0600
Re: Writing A Plain English Compiler Joshua Cranmer 🐧 <Pidgeot18@verizon.net> - 2014-11-05 00:54 -0600
Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-06 18:52 -0600
Re: Writing A Plain English Compiler Joshua Cranmer 🐧 <Pidgeot18@verizon.net> - 2014-11-07 22:54 -0600
Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-08 02:41 -0600
Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-08 03:46 -0600
Re: Writing A Plain English Compiler "BartC" <bc@freeuk.com> - 2014-11-09 01:16 +0000
Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-10 14:37 -0600
Re: self-hosting, was Writing A Plain English Compiler Richard Hable <portempa@aon.at> - 2014-11-11 19:50 +0100
Re: self-hosting, was Writing A Plain English Compiler "BartC" <bc@freeuk.com> - 2014-11-11 23:33 +0000
Re: self-hosting, was Writing A Plain English Compiler anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-11-12 08:46 +0000
Re: self-hosting, was Writing A Plain English Compiler "BartC" <bc@freeuk.com> - 2014-11-12 11:15 +0000
Re: self-hosting, was Writing A Plain English Compiler anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-11-12 08:40 +0000
Re: Writing A Plain English Compiler "BartC" <bcas@freeuk.com> - 2014-11-07 11:36 +0000
Re: Writing A Plain English Compiler George Neuner <gneuner2@comcast.net> - 2014-11-07 16:23 -0500
Re: Writing A Plain English Compiler Richard Hable <portempa@aon.at> - 2014-11-08 17:22 +0100
Re: Writing A Plain English Compiler Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2014-11-08 10:48 -0600
Re: language design models, was Writing A Plain English Compiler George Neuner <gneuner2@comcast.net> - 2014-11-09 14:30 -0500
Re: language design models, was Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-10 03:29 -0600
Re: Writing A Plain English Compiler Tomasz Kowaltowski <tk@ic.unicamp.br> - 2014-11-10 09:13 -0200
Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-10 17:19 -0600
Re: matching tasks to languages, was Writing A Plain English Compiler Gene Wirchenko <genew@telus.net> - 2014-11-10 15:37 -0800
Re: Writing A Plain English Compiler Martin Ward <martin@gkc.org.uk> - 2014-11-10 22:56 +0000
Re: Writing A Plain English Compiler "BartC" <bcas@freeuk.com> - 2014-11-07 11:39 +0000
Re: Writing A Plain English Compiler "BartC" <bc@freeuk.com> - 2014-11-08 00:35 +0000
Fundamentals for a Compiler and Language (was: Writing A Plain English Compiler) federation2005@netzero.com - 2014-12-29 13:30 -0800
csiph-web