My learning experience with Nim, the language itself, is exceptionally pleasing 
and intuitive. I am able to program useful and fairly complex data analysis 
algorithms in short time. An area where Nim can be more helpful for me is 
communicating the various levels of maturity of the individual modules that I 
import. I want to way to understand their usability before I embark on 
programming at a deeper level and investing time. In many cases we do see the 
notice indicating Beta or Expreimental or that something might significantly 
change in the future. As a user, I would love to hear other hints on the 
use-ability of a module that is put out there (regardless of the phase in its 
development cycle) and let me explain this further below.

As an example, the postgresql module is a work-horse for me. From my first 
exposure to it everything just worked and kept working. For mongodb driver I 
cannot say the same thing. The examples cited in its documentation are very 
pleasing but to get it work in reality takes longer time than what I am able to 
invest in. I wish I had known this before I embarked.

I salute the work when a volunteer developer contributes to a module and we all 
know that it takes time to harden a product. I realize that in voluntary 
development work the implementer has limited time and money to put into their 
project. So on one hand we want to encourage all kinds of development work to 
happen without any hindrances or imposing our "expectations". Nevertheless a 
product is put out there for people to pickup and the programmer got to know 
something about the time and effort to deploy it as per the specification 
advertised. One suggestion is to have a end-user rating system (zero star to 
five starts) on usability in the module documentation perhaps. That is, whether 
(1) an end-user is actually using the module in something that is fairly 
interesting and (2) how pleasing the user interface 
(completeness/bugs/confusion with an api, etc).

Just some thoughts, adding here another data point to this conversation.

Reply via email to