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: Johann 'Myrkraverk' Oskarsson Newsgroups: comp.compilers Subject: Re: Have we reached the asymptotic plateau of innovation in programming languages Date: Wed, 06 Jun 2012 17:38:17 +0000 Organization: A noiseless patient Spider Lines: 57 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-06-008@comp.compilers> References: <12-03-012@comp.compilers> <12-03-014@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1339018324 3285 64.57.183.58 (6 Jun 2012 21:32:04 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Wed, 6 Jun 2012 21:32:04 +0000 (UTC) Keywords: design Posted-Date: 06 Jun 2012 17:32:04 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:669 >>Personally, I'd say there's been precious little new in programming >>languages since Simula gave us OOP in the late 1960s. The ASCII character set has been a limiting factor for programming language design for decades. Here I'm talking about the interface that faces the programmer, not "language features" that enable buzzword compliant programming. Another limiting factor, not readily apparent to North Americans: the English language. Most, if not all, programming languages applied world wide are based on English, with keywords in English. Different vocabulary and different (natural language) grammar rules make some things hard to express and sometimes impossible. English is one of the most (if not *the* most) verbose languages I know. It needs a lot of "small words in between" to make sentences comprehensible while in other languages it's often enough to change a vowel. If people are going to *research* programming languages, they should also be researching the human factor, not brand new buzzword compliant features. Some questions I might want to see answered by a language researcher are: What happens when you're no longer restricted by the ASCII character set? Expand that to: What happens when you're no longer restricted by Unicode and can invent your own notation and symbols at will? What happens when you get to define your own keyboard layout? Put the new symbols anywhere you want. What happens if you borrow word alterations from other natural languages to your keywords? Does it makes anything more obvious? Harder to read? Did you manage to invent something "new" like the ? : operator from C that enables common patterns to be expressed more compactly? Also, explore literate programming. Some applications, such as scientific papers on algorithms are meant for human to human communication and only incidentally for computers to run too. When that is built in a language from the ground up and not crafted on afterwards with tools like noweb you just might find something to surprise you. And while you're at it, develop an interface with automatic indentation, code completion and if possible, refactoring. Try to make that interface independent to the compiler. Does it help this tool if you add metadata to your object files beyond the regular debugging symbols? -- Johann Oskarsson http://www.2ndquadrant.com/ |[] PostgreSQL Development, 24x7 Support, Training and Services --+-- | Blog: http://my.opera.com/myrkraverk/blog/ [If you think English is wordy, you must not know any French, Spanish, or Italian, all of which are far wordier. For people who like larger character sets, you know where to find APL if you want it. -John]