Earlier quoted context omitted.
A lot of people have this reaction, but I am still yet to find a single person that gave Nim a proper try only to decide that it is not for them because of style insensitivity. It's definitely weird and I personally could take it or leave it. But don't let it dissuade you from trying the language. The idea behind this feature is to let you choose which style you want to write code in.
This sounds like Python's significant whitespace: weird, off-putting for newcomers, but not actually a problem in practice.
Ask HN: Does anyone use Nim language in production?
51–60 of 86 posts
Re: Ask HN: Does anyone use Nim language in production?
#52I've just started writing a few scripts I'd normally use Python for (no production) and have been impressed with the speed and binary sizes. Nim in Action (book) is really good and what is missing to get the beginner started. I'd like to see a PyCharm like IDE for Nim as well, but Vim seems to work well.
For those interested in "Nim in Action", its publisher, Manning has a 50% off all e-books sale going through midnight today (27-May). Use code `wm052717lt`. Usually when they have this sort of sale on a holiday weekend, they spin up some new 50% off sale the following day, so check in again Sunday if you missed it today.
Also here is my referral link (helps me when you buy via this link :) ) https://www.manning.com/books/nim-in-action?a_aid=niminactio...
Re: Ask HN: Does anyone use Nim language in production?
#53Judging by the upvotes there is a lot of interest in hearing answers to this question and yet there are few comments so far. I will share my thoughts but keep in mind that I am (extremely) biased as I am one of the core Nim devs. > How has your experience been compared to your previous tech? Previous to using Nim I was primarily using Python. This was a few years ago now, but recently I was working on a project in Py…
I love the simple and clean syntax of Nim. The first time I was very impressed with vim was when I used a wikipedia xml dump parser. What would have literally taken days to complete in Python (atleast on my machine, and god forbid if it had crashed somewhere in the middle) was done in a few mins by nim (again on the same machine). I was blown away! The one thing that concerns me a bit is that identifiers are partial…
It has almost never been an issue for me and I don't use any case-insensitive refactoring tool. Just write variables in a consistent style and let completion help you stay consistent.
Re: Ask HN: Does anyone use Nim language in production?
#54Re: Ask HN: Does anyone use Nim language in production?
#55Earlier quoted context omitted.
Happy to hear that you found my answer balanced :) > What would you say are the advantages of Nim over a language like Go? I see a lot of similar "value add" statements. In all fairness I haven't given Go a proper try. But my main problems with it, based on what I've seen of it, are the following: * Lack of generics * Lack of exceptions * I prefer the Python-like syntax of Nim * Metaprogramming in Nim is fun and powe…
> Lack of exceptions Go does support multiple return values, commonly (T, error). If you think about it for a while, you will realize a exception is just a type of return value. Regarding generics, the more I used golang, the less I had a need for generics. Also, there is solutions if you insist, such as https://github.com/cheekybits/genny
Re: Ask HN: Does anyone use Nim language in production?
#56For those using Nim: how is the compile speed?
Re: Ask HN: Does anyone use Nim language in production?
#57For those using Nim: how is the compile speed?
Very fast. I can bootstrap the compiler in under a minute. Compilation times are further reduced while developing thanks to incremental compilation.
Re: Ask HN: Does anyone use Nim language in production?
#58Earlier quoted context omitted.
Seconded. Being able to insert an underscore and have the code still compile sounds like a strange design choice to me. dom96, could you write more on this?
A lot of people have this reaction, but I am still yet to find a single person that gave Nim a proper try only to decide that it is not for them because of style insensitivity. It's definitely weird and I personally could take it or leave it. But don't let it dissuade you from trying the language. The idea behind this feature is to let you choose which style you want to write code in.
Re: Ask HN: Does anyone use Nim language in production?
#59Earlier quoted context omitted.
* Lack of generics * Lack of exceptions I don't see these items as being shortcomings. Go is simple and simplicity is elegance, and simplicity is something that cannot be found in most modern languages. Just look what happened to C++, It has become more like C# and Java. Regarding Nim, I believe it's a nice language and I have done a few small projects using it but just like what I mentioned there are 10000 ways to d…
> Go is simple and simplicity is elegance Can we please let go of this meme? Many polyglot developers complain about the lack of generics, and how Go code ends up being more verbose and less expressive than languages like Python. Things like interfaces and pointers to interfaces, structs vs slies and maps are not consistent.
Yeah, and inconsistencies are one of the things that make for a more complex language, not a simpler one. In fact, Go has generics, but they only work for magic, built-in types. I would argue that's less simple than just supporting generics, and building your standard library out of language features.
Re: Ask HN: Does anyone use Nim language in production?
#60Earlier quoted context omitted.
I love the simple and clean syntax of Nim. The first time I was very impressed with vim was when I used a wikipedia xml dump parser. What would have literally taken days to complete in Python (atleast on my machine, and god forbid if it had crashed somewhere in the middle) was done in a few mins by nim (again on the same machine). I was blown away! The one thing that concerns me a bit is that identifiers are partial…
Identifiers are "style-insensitive", so case changes and single underscore insertions don't actually change the identifier. There is exhaustive tooling such as nimgrep and ide support built into the compiler (such as find symbol at point equivalents) for helping when a convention is different. It is a strong philosophical position, but it does allow style consistency across a code base even when dealing with foreign…
Every language seems to have a bizarro decision that kind of breaks it for many people. This is Nim's. It could be worse, it could be "Who need's Generics? They're costly anyway", like Go's...