Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-out.readnews.com!news-xxxfer.readnews.com!news.misty.com!news.iecc.com!nerds-end From: Ian Lance Taylor Newsgroups: comp.compilers Subject: Re: Have we reached the asymptotic plateau of innovation in programming language design? Date: Thu, 08 Mar 2012 17:02:28 -0800 Organization: Compilers Central Lines: 41 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-03-017@comp.compilers> References: <12-03-012@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1331262899 8597 64.57.183.58 (9 Mar 2012 03:14:59 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Fri, 9 Mar 2012 03:14:59 +0000 (UTC) Keywords: history, design Posted-Date: 08 Mar 2012 22:14:59 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:484 Rui Maciel writes: > - And here's the first itchy point: there appears to be no correlation > between the success of a programming language and its emergence in the form > of someone's doctoral or post-doctoral work. This bothers me a lot, as an > academic. It appears that deep thoughts, consistency, rigor and all other > things we value as scientists aren't that important for mass adoption of > programming languages. As a non-academic, I agree. None of those things matter very much to me when it comes to actually getting stuff done. They are not bad things to have, but they are not the things that matter. > - So one pertinent question is: given that not much seems to have emerged > since 1979 (that's 30+ years!), is there still anything to innovate in > programming languages? Or have we reached the asymptotic plateau of > innovation in this area? As others have mentioned, there may be some good ideas to come in the area of safer and more efficient parallel programming. I like the CSP model, but perhaps there is something better. I personally think the model of threads, mutexes and condition variables has so far proven too difficult to use correctly for most programmers. That goes double for the atomic operations and barrier model. And functional and dataflow programming languages do not appear to have gotten much adoption in practice. I also think there is more room for thought about programming in the large. Many software shops these days are huge, producing programs that are far too large for anybody to keep in their heads. As a side-effect, many programmers spent a lot of time performing maintenance of various sorts. What can languages do to help? Refactoring is just the most obvious example in this space, and even there it is clear that some languages support refactoring far better than others. Other areas related to language are speed of development, dependency management, ease of debugging, modularity, ease of performance analysis, no doubt many more. Ian