Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: "BartC" Newsgroups: comp.compilers Subject: Re: Writing A Plain English Compiler Date: Fri, 7 Nov 2014 11:39:51 -0000 Organization: virginmedia.com Lines: 49 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <14-11-008@comp.compilers> References: <14-11-004@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 1415384457 34471 2001:470:1f07:1126:0:676f:7373:6970 (7 Nov 2014 18:20:57 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Fri, 7 Nov 2014 18:20:57 +0000 (UTC) Keywords: design, comment Posted-Date: 07 Nov 2014 13:20:57 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:1416 "Gerry Rzeppa" wrote in message > Having worked with a wide variety of traditional languages, and having > written a number of compilers together, we knew that a practical > procedural > programming language could be concocted with just five types of > statements: > > 1. Type definitions; > 2. Global Variable definitions; > 3. Routine Headers; > 4. Conditional Commands; and > 5. Unconditional Commands. > And that, I think, is enough for now. Questions? Comments? Anyone? Anyone? > Bueller? I have problems with the whole approach. For a start, anyone considering using such a language probably wouldn't be concerned with type definitions. If it is meant to make programming simple and accessible, then dynamic typing is expected (or more likely, someone won't even think about that aspect; it should just work). But then, even with a more informal language, there's only so much that can be done, because to create sizeable programs that work reliably, I think you need to use a more stylised and disciplined way of writing instructions. Any free-format English would get in the way of that. (I assume this syntax would just be a front-end to a conventional language and conventional compiler, as your list suggests, and is not some super-advanced AI project that can understand anything.) Using syntax that looks like written English sounds attractive, and might be suitable for some kinds of command-line interaction ('kill dwarf with axe'), but I'm not sure it would be taken seriously for real programming. Maybe, a tool can be used to translate conventional syntax into the English style you propose, which would be fun, but I don't know if it warrants creating a whole new language. Not if it doesn't otherwise do anything new. -- Bartc [Back in the 1970s there was a vogue for extensible languages, in which you could add new syntax on the fly, by adding new BNF to the underlying grammar. They all disappeared, because what happened was that no two programs were written in the same langauge and nobody could read them. Now we have OOP, where the syntax doesn't change, but you can add lots of new types and semantics to go with them. -John]