Really excited to see Nim here on top of HN. I wish it would gain more traction. I like the pythonic syntax and easy 'fast code'.
If that doesn't bother you, Nim is really neat.
51–60 of 238 posts
Really excited to see Nim here on top of HN. I wish it would gain more traction. I like the pythonic syntax and easy 'fast code'.
If that doesn't bother you, Nim is really neat.
Earlier quoted context omitted.
This might sound strange but Nim is good for everything. From writing backend services to creating web apps running on the client side. I've built emulators, CLI apps, a full blown forum and much more in it. It's particularly great for systems programming tasks that require high performance and zero dependencies. For example, Status is currently writing an Ethereum 2.0 sharding client for resource-restricted devices[…
What are Nim’s main weaknesses?
Another interesting upcoming language ist JAI: https://inductive.no/jai/ Its purpose is to become a better C++ for game development (high performance, simplicity).
Can anyone explain what "designed for good programmers" means?
It means "programmers who agree with Jonathan Blow and his opinions on what good programming is."
Really excited to see Nim here on top of HN. I wish it would gain more traction. I like the pythonic syntax and easy 'fast code'.
I like the concept of Nim, as in: fast, statically typed, inferred, compiled etc. but I do not enjoy whitespace-sensitive languages, so am keeping an eye on Crystal more than Nim. If that doesn't bother you, Nim is really neat.
So the question is: why do folks completely avoid a language for a single relatively bland syntactic feature? Is there some cost I'm not aware of, or is it just stylistic/aesthetic?
Earlier quoted context omitted.
This might sound strange but Nim is good for everything. From writing backend services to creating web apps running on the client side. I've built emulators, CLI apps, a full blown forum and much more in it. It's particularly great for systems programming tasks that require high performance and zero dependencies. For example, Status is currently writing an Ethereum 2.0 sharding client for resource-restricted devices[…
What are Nim’s main weaknesses?
- js doesn't have source maps (kinda of a big deal to me)
- some error messages are head scratchers (seem to remember trying to add things to an immutable array not being clear)
- docs could use love (eg seeing more examples of macros in action)
- devel (their nightly compiler) can be rough (e.g. i found the "strings cannot be null" cutover a bit rocky -- my own damn fault, i can't go back to 0.18 after being on 0.18.1)
- the big one I think, however, is adoption. I keep hearing "i'll just use rust or go". That's legit as they're also awesome.
nim's stdlib is massive (too big?) and there's tonnes of high quality packages out there. You won't be left thinking... well, crap, looks like I need to talk to roll this redis layer myself.
EDIT: Formatting. How does it even work?
Another interesting upcoming language ist JAI: https://inductive.no/jai/ Its purpose is to become a better C++ for game development (high performance, simplicity).
Can anyone explain what "designed for good programmers" means?
JAI doesn't implement abstractions (like objects or a GC) that might get in your way. JAI supports gradual refactoring and you can change your mind about the way memory is layed out ("AOS" (structs of arrays), delegates), and still use the same code. Want to shoot yourself in the foot with uninitialized variables? Fine!
In general, if you know what you are doing, JAI will allow it. JAI is similar to C in spirit, but C is a rather poor implementation in comparison.
I read the article. Still no idea what Nim is good for and why it's better than some other language.. and for which use cases?
I've tried it out and read the Nim book, but I'm not using it for any larger project right now. So here is a biased opinion. Pros: Nim is about as easy to program as Python, has the same speed as C, a working FFI, and all the usual bells and whistles of modern "battery included" languages like a package manager with lots of packages. It is garbage collected, which is good -- about this, some will disagree, of course.…
Why is this a con?
I read the article. Still no idea what Nim is good for and why it's better than some other language.. and for which use cases?
I've tried it out and read the Nim book, but I'm not using it for any larger project right now. So here is a biased opinion. Pros: Nim is about as easy to program as Python, has the same speed as C, a working FFI, and all the usual bells and whistles of modern "battery included" languages like a package manager with lots of packages. It is garbage collected, which is good -- about this, some will disagree, of course.…
The interpreter currently relies on refcounting for simplicity and to provide deterministic latency behaviour. It's (currently) a simple s-expression interpreter partially because (at least at first) I want to use it to interoperate with another Scheme system via sending s-expressions forth and back, and then that's the lowest latency option. I've got various ideas in the areas of debugging and typing that I'll try to implement, and if I succeed on that path and start wanting to use it as the main Scheme system then I'll certainly move on to compiling to byte code or use a JIT.
I just started a month ago, and have to nail down licensing with my employer, when that's settled I'll publish the code.
Really excited to see Nim here on top of HN. I wish it would gain more traction. I like the pythonic syntax and easy 'fast code'.
I like the concept of Nim, as in: fast, statically typed, inferred, compiled etc. but I do not enjoy whitespace-sensitive languages, so am keeping an eye on Crystal more than Nim. If that doesn't bother you, Nim is really neat.
Out of curiosity, why? What’s wrong with using whitespace to organize things?