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: George Neuner Newsgroups: comp.compilers Subject: Re: language design after Algol 60, was Add nested-function support Date: Mon, 09 Apr 2018 16:51:18 -0400 Organization: A noiseless patient Spider Lines: 48 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <18-04-004@comp.compilers> References: <49854345-f940-e82a-5c35-35078c4189d5@gkc.org.uk> <18-03-103@comp.compilers> <18-03-042@comp.compilers> <18-03-047@comp.compilers> <18-03-075@comp.compilers> <18-03-079@comp.compilers> <18-03-101@comp.compilers> <18-04-002@comp.compilers> <18-04-003@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="42503"; mail-complaints-to="abuse@iecc.com" Keywords: history, design Posted-Date: 09 Apr 2018 16:59:27 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:2034 On Sun, 8 Apr 2018 14:21:48 +0100, "Derek M. Jones" wrote: > Martin Ward wrote: >> Modern popular languages are neither powerful nor easy to learn. > >What evidence do you have for this? I disagree about "easy to learn" - there are plenty of languages that are easy to learn. But as to the question of "power" ... Note that "powerful" and "useful" (for some definition) are not the same thing. There are plenty of semantically restricted languages that can be considered useful for their intended purposes. That said: IMO, the evidence that many popular languages are not "powerful" is that they are either exclusively or primarily OO, but they implement only single inheritance objects. Wherever you stand on OO as a programming paradigm, you can't deny that single inheritance is the weakest variant of it. The addition of "interfaces" and "mix-ins" does not make up for the lack of true multiple inheritence in those situations where it is needed. The necessity to write "Design Patterns" was, IMO, acknowledgement that the average programmer could not figure out how to express their ideas under Java's limited object model. I prefer to use languages that naturally support multiple programming paradigms, and don't put many (or any) limits on what can be done using them. Some solutions are best expressed procedurally, others are more naturally functional, and yet others are best modeled using objects. I relegate to the proverbial junk heap the many languages that force solutions to be shoehorned into a model that they don't naturally fit. There are too many "me too" languages that think a simple object model combined with procedural code is the solution to every problem. YMMV, George