How to promote Nim? Well, where does Nim shine?

  * (1) Write a compiler in Nim - for Nim. This is not a pun, because ....
  * (2) Every compiler can be written in Nim, it is by far the most convenient 
language for that particular task. So, with advantage, a compiler for Swift 
could be written in Nim, or a compiler for Haskell , or Haxe, or whatever.
  * (3) Small projects and projects for small systems e.g. microcontrollers.



But that doesn't mean that Nim is already well prepared for aggressive 
marketing. What to do then?

  * "Freeze" Nim now or at a Nim 1.8 level. Remove every unstable thing from 
the language. Even the "*" is problematic and dangerous, it should be possible 
to write Nim modules without the star (anything gets exported). But then, if a 
module does not import a specific module, it should not be able to get (sudden 
and unexpected) field access to non-imported types.
  * Add C++ like module descriptors. They would supercede Nims current 
visibility system and , later , allow for separate compilation



Where Nim does not shine and therefore would require further development

  * Integration in heterogeneous environments. This is a very different thing 
and recent Nim is not expressive enough to handle uncertainty
  * Stackless Nim , Nim functions with state: would end in a "Fortranized" Nim 
and basically break Nims let/var (implicit copy) design forever. It will be the 
same with highly performant data processing


Reply via email to