I'm a lousy marketing or sales guy but one thing even I understood and keep in 
mind is this: the result of communication is _not_ what has been said but what 
has been heard. As promoting a language (and arguably even building one meant 
not only for oneself) is a "use case" of communication it seems logical to me 
that the relevant part (in the context of promotion or even just introduction) 
is _not us_ but rather the target audience.

I agree with your definitions - but: the relevant question is -> what do the 
people think and want and understand to whom one tries to promote Nim? Plus: 
will they, looking closer, find their perception and our "promise" confirmed?

One point that keeps me thinking is this -> versatility != jack of all trades 
without clear contour.

That's why I talked of "the core". What is Nim meant to be at its core? If it 
servers well in other fields/beyond its core _in addition_ that's great. Right 
now I feel that Nim's contours are somewhat vage; at times it almost seems that 
Nim is defined by whatever some of its developers feel to be important at any 
point in time.

Another point I feel to be of importance is the well established rule that most 
people don't care a lot _how_ something is achieved. They care about _what_ is 
achieved. Similarly they don't care a lot about mechanisms but about results. 
At least at first and most.

Python, for instance, was/is promoted as (and indeed is) "easy, everywhere, 
versatile, lots of batteries" and Guido van Rossum evidently wasn't just a 
benevolent dictator but also one who made sure that Python always had a clear 
core definition and contours and delivered on that and its "promise".

What is Nim's core and "promise"? To promote Nim we need an answer to that and 
one that is clear cut, understandable, binding, and consistently observable.

I'll end with a personal view: I looked at many languages and tried quite some. 
I was drawn to Nim by my impression (largely based on material on Nim's web 
site) that Nim covers what C covers but with a sharp eye on safety and 
consistency as well as with a more modern feature set (e.g. UFC). In the next 
step I verified that Nim _really_ cares for safety and really covers the field 
at least to a large degree. Only then did I actually download and try it.

Frankly, if my need (for certain features) were a bit less urgent I would have 
left quite soon due to some shortcomings - "funnily" largely not in Nim but 
around it (editor, debugging, docs). Another point that makes me unhappy is 
that it sometimes seems (apologies in advance if I'm simply mistaken) that some 
core developers seem to not consistently pull through and do so clearly focused 
on a well established definition of what Nim is meant to be but rather "jump 
around" with an ever changing interest in this or that new feature. Inter alia 
two Nim IDEs seem to be symptoms of that. And 1.0 still seems to move and move 
and move into the future.

So, what are we to promote?

Reply via email to