I just saw that thread:
https://www.reddit.com/r/Python/comments/6gwv4a/a_glance_at_the_pythonlookalike_nim_programming/
Seems to be started by Mr Libman. I have only skimmed it, but it seems to contain some unjustified critics. Libman, I hope you will come back to the thread and correct false critics? Dom already does it very well, but I guess he has to do more important stuff.
From that thread
If so, that's a good thing. What if I define a function in my code that has the same name as one in the unit I imported though?
Dom replied:
"You'll also get an error. What other alternative is there? Nim randomly choosing the function for you? I'm guessing Python will give an error in this case too, except it will be at runtime which is far worse.
Edit: I just tested this. It seems that Python doesn't even give an error for this case, but just overwrites the definition (only tested in the REPL, maybe the behaviour is different in a source file), but damn that seems pretty bad."
I had always the feeling that I CAN overwrite procs in my own code:
import unicode
import strutils
proc isUpper(c: char): bool =
echo "isUpper() called"
echo isUpper('A')
#echo isUpper("A")
$ ./qu
isUpper() called
false
Seems to work fine, and it is what I had expected.
It's unfortunate that the post degenerated in to a go-lang argument pretty quickly and there wasn't much well informed discussion of Nim (E.g. people not thinking there were concurrency/parallel available).
Hopefully once Nim gets stable a lot of work can go in to documentation to make it really obvious what the capabilities are for outsiders.
I went in and did my best to correct some misconceptions I saw in the thread.
It was baffling to me that there was a single user who was spouting off a bunch of incorrect nonsense about Nim as if they knew what they were talking about. Luckily, Dom corrected that user pretty quickly. I dropped my two cents there as well.
I think threads like the linked thread are definitely a good way to see what direction nim should be heading in for the most part. However, there seems to be a strange rivalry between Rust, Go, and Nim that I'm seeing develop.
I can see why Rust and Go developers would think that Nim is trying to steal their market share. Considering that Go and Rust aren't even really competitors, I think that it's impressive that Nim can stand up to both in terms of productivity, performance, and feature set.
People will always fear what they don't understand I guess.
Libman, I hope you will come back to the thread and correct false critics? Dom already does it very well, but I guess he has to do more important stuff.
Yeah, I didn't return there fast enough, and dom96 has already made all the important points. But I did add my own rant or two (ex). ;)
Is there anything specific you'd like me to further address?