Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!nerds-end From: glen herrmannsfeldt Newsgroups: comp.compilers Subject: Re: Have we reached the asymptotic plateau of innovation in programming languages Date: Fri, 8 Jun 2012 22:31:31 +0000 (UTC) Organization: Aioe.org NNTP Server Lines: 45 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-06-020@comp.compilers> References: <12-03-012@comp.compilers> <12-03-014@comp.compilers> <12-06-008@comp.compilers> <12-06-010@comp.compilers> <12-06-013@comp.compilers> <12-06-014@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1339247363 27156 64.57.183.58 (9 Jun 2012 13:09:23 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Sat, 9 Jun 2012 13:09:23 +0000 (UTC) Keywords: design Posted-Date: 09 Jun 2012 09:09:23 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:681 Johann 'Myrkraverk' Oskarsson wrote: (snip) > Another point to make. Why do we assign from right to left? Is it in > any way natural? What's wrong with > a + b --> c "a plus b assigned to c" > instead of > c <-- a + b "c becomes a + b?" Must not be so obvious, as it seems that assemblers I have worked with have done it both ways. That is, LOAD or MOVE instructions that load/move right to left or left to right. > The more I think about it, I believe the former construct is a bit more > natural since we read from left to right. However, I'd want to see or > work on a non-trivial project in such a language to make up my mind. It goes at least back to Fortran, I don't know it farther back than that. In BASIC, at least slightly modelled after Fortran, there is a keyword LET for assignment, but it is optional on all systems that I know of. 10 LET C=A+B There is, on the other hand, the Fortran ASSIGNed GOTO, and the corresponding ASSIGN statement, which traces back all the way to Fortran I, which is left to right. ASSIGN 12 TO I The verilog continuous assignment statement uses the assign keyword, but assigns right to left. Right to left seems at least slightly more convenient when trying to find where a variable is changed you can follow down the left side. > For an Arabic programming language, all bets are off. Then there are the top to bottom asian languages. -- glen