> Yes, sometimes Nim is (still) a bit dumb. When I for example assign 5 to a 
> uint16 var it feels a bit strange to still have to write 5.uint16.

Latest Nim is not that dumb for literals:
    
    
    var a: uint16
    a = 5
    echo a
    
    var x: float
    x = 10
    x = x / 2
    echo x
    
    import math
    echo sqrt(2.0)
    
    
    Run

Works fine, even the x / 2! Only sqrt(2) does not work, but that is not a big 
problem. The fact that Nim does not do that many automatic type conversions is 
good for safety and performance -- I recently ported some Ruby code to Nim and 
noted how many hidden type conversions where included in the Ruby code. And as 
Dom said, lenientOps exists now, but I think I will generally not need it.

For point 4, why do you not point him to the nice experiments of Mr Felsing:

[https://hookrace.net/blog/nim-binary-size](https://hookrace.net/blog/nim-binary-size)/

So we can drastically reduce executable code size if really needed.

@MarkL Note that a tiny part of your message is wrong:

> become a superb language once you sort those issues out.

Your 4 points are not really Nim Issues. Nim just can not be the optimal 
language for everyone. For experienced C++ developers it may be OK to continue 
using C++, and for pure hobby programmers without interest in language 
design/development and without a minimal CS background, it may be better to use 
languages like Python with a much larger community and many cookbook example 
codes.

Reply via email to