Although I personally am making an earnest effort to use Nim for what I expect 
to be a large, long-term project, I don't think that's where Nim is right now 
in any broad sense. Rather, I think Nim is a fascinating exploration in 
programming language design. It has lots of great ideas, occasional brilliance 
in how features synergize, lots of half-finished and/or half-documented ideas, 
and some lingering flaws. (And no, I don't claim to know which is which! :-) )

I see nothing wrong with this at all. For me personally, it's a feature not a 
bug, because I have some hope of influencing Nim's direction -- just in the 
margin -- in areas I care about most. But I think it would be dangerous rather 
than helpful to promote Nim more at this stage. One reason is that many 
would-be Nim programmers will still have bad experiences until we harden code 
and improve documentation. Another is that we risk joining the unhappy club of 
languages who get panned by lots of programmers because everyone has heard 
their names and assumes that, if they were any good, they'd be popular by now. 
(D, Haskell, and O'Caml come to mind.) Another is that we simply aren't at 1.0 
-- for most programmers, a language with no backward compatibility guarantee is 
pointless. I am _glad_ we have a low TIOBE rank at this stage!

It seems to me that a strong move toward mainstream acceptance (e.g. breaking 
into top 50 TIOBE with upward momentum) would need the following ingredients:

  * A clear statement that you will have a great experience with Nim if you are 
doing XYZ.
  * A strong hit rate (75%?) that programmers who try XYZ in Nim have a great 
experience. (The broader we make XYZ, the more work required to clear that bar.)
  * Declaring 1.0 on the above basis.
  * At least a subliminal case -- maybe an explicit case -- that if @Araq gets 
tired of this or gets hit by a bus, it doesn't all evaporate.


Reply via email to