Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Martin Ward Newsgroups: comp.compilers Subject: Re: language design after Algol 60, was Add nested-function support Date: Tue, 10 Apr 2018 16:11:29 +0100 Organization: Compilers Central Lines: 44 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <18-04-029@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="59879"; mail-complaints-to="abuse@iecc.com" Keywords: design, history Posted-Date: 10 Apr 2018 11:38:48 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:2048 On 08/04/18 14:21, Derek M. Jones wrote: >> Modern popular languages are neither powerful nor easy to learn. > > What evidence do you have for this? The C standard is over 700 pages: not exactly an easy read. C has 199 different cases of undefined behaviour that the programmer has to memorise and avoid using if they want to write conformant and compatible code. C++ is even more popular than C but adds layers more complexity on top of the complexity of C: "If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor, and when was the last time you needed one?" (Tom Cargill, C++ Journal, Fall 1990). An iostream-based "hello, world" program requires the GNU C++ compiler to parse 718K bytes. See also: http://yosefk.com/c++fqa/defective.html Yet, for all that complexity, "C combines the power of assembly language with the flexibility of assembley language"! To do anything useful in C or C++ one needs to use large numbers of functions from various libraries. The GNU C library, which contains basic low-level functions such as string handling, I/O, memory allocation etc, has a manual which is 1,174 pages long. On the other hand, the Revised^4 Report on the Algorithmic Language Scheme ("Dedicated to the Memory of ALGOL 60") is only a 55 page manual but it includes the full syntax and semantics of the language. -- Martin Dr Martin Ward | Email: martin@gkc.org.uk | http://www.gkc.org.uk G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4 [In fairness, a lot of the 700 pages of the C standard are about the library. In my copy of C99, pages 9-163 are about the language, pages 164-401 are about the library, and then there's about 150 pages of appendices. But it's certainly a lot bigger than the language that K&R wrote about in the 1970s. -John]