How to sell and not sell a new programming language 2008-05-01


"Everyone" that's geeky enough sooner or later at least toy with the idea of their own language (or like me write several half-assed toy compilers to test concepts - hopefully I'll actually see my latest one all the way through). But what keeps amazing me is how new languages tends to get popular largely by chance. Many good languages have languished because the inventor simply did not "sell" the language right. There are a lot of languages far better suited for Java's niche than Java, for example. But Java was sold right: The right people to target are not other compiler writers. The right people are ordinary programmers that might try out and comment on how your language works in the "real world". Far too many languages are "sold" to other compiler writers or advanced programmers based on features the average programmer might have run across once or twice but probably doesn't even know the formal name of. Here are two examples I stumbled across, from the same language, of how to attract and not attract ordinary programmers. The bad one first. The web page for The Pure Programming Language starts like this:
Pure is a functional programming language based on term rewriting. It has a modern syntax featuring curried function applications, lexical closures and equational definitions with pattern matching, and thus is somewhat similar to languages of the Haskell and ML variety. But Pure is also a very dynamic and reflective language, and is more like Lisp in this respect. The interpreter has an LLVM backend to do JIT compilation, hence programs run blazingly fast and interfacing to C modules is easy.
It got me slightly interested. But I like looking at new languages. It only got even me slightly interested, though. It throws a lot of buzzwords around; good ones. But what it doesn't do it say anything about why you should care. Programmers looking at a new programming language tends to ask why they should use a new language, and what it will give them. The firstThe second example is a file containing lots of small examples of the Pure language. I'm not convinced, but seeing a few of those snippets does a hell of a lot more for me than the paragraph quoted above.. This isn't to put down Pure or it's author. It doesn't look revolutionary, but it looks far more interesting than a lot of other new languages I've seen. It's just that seeing web pages for new programming languages that are not well known without the examples featured as one of the most prominent features is almost as frustrating to me as seeing web pages for desktop applications without a screenshot staring me in the face as soon as the page loads (hint: I'm not going to read through several paragraphs about a new IM client without seeing a screenshot first - most apps are bad and in niches where better apps are dime a dozen, and a screenshot is a good first filter, just as examples are with languages).

blog comments powered by Disqus