137 karma · joined July 27, 2015
But the core points I make there I can get behind any day of a week. I do think Nim is the best language out there and I'm tired of pretending it isn't (insert the DeNiro-Phoenix-Joker meme here :-)
But as others said already, Nimony (codename for the next Nim iteration) introduces revamped concepts which should be even more convenient.
Can't wait for NimConf, it is way overdue.
> Presumably, your server stores a registry of Device IDs and IPs to route messages?
Not IPs but Push API registration objects.
> What about replacing this with some sort of partitioned DHT to make it decentralized?
I guess this could be done but it's a task I can't tackle at this point.
> Also, the messages flow through your servers?
Yes but I don't store them. My API just dispatches the message to the recipient's push service. Which means the message exists on my server only in the form of an in-memory variable for several microseconds between being received and sent further.
> Would it be possible to set up WebSocket connections between the users instead, and how would that compare from a security model perspective?
This generally can't be done in a PWA. OS won't allow a persistent WebSocket to run in background.
Also, this would disclose too much information about a client to all the other clients. Currently, all I know about other clients is their Device IDs which are just random strings.
It just occurred to me, that sounds a lot like actual development for a customer :-)
Nim has been my language of choice for the past decade and I'm really happy with the new features in Nim 2.0. Some of them are real gamechangers for my projects. For example, default values for objects theoretically allow me to make Norm[1] work with object types along with object instances. And the new overloadable enums is something Karkas [2] wouldn't be possible at all (it's still WIP though).
With Python, I used repl all the time. There's bpython, ptpython, ipython, and probably a couple more great repls because repl is really important for Python development.
Nim's INim is no match for those. But here's the great part: with Nim you don't have to test code snippets all the time. I get all my error messages before they happen. This felt liberating after Python.
The goal was to cool the conflict down to a state that allowed Ukraine to get better at war: collect arms, build defense lines, train soldiers, etc.
So, in other words, she said the war between Russia and Ukraine was inevitable and even expected and the agreements were introduced to give Ukraine advantage.
Even bought one for my son who's four. The book still rocks.
Among frameworks, Prologue is the most actively developed and feature rich.
Style insensitivity has never caused a single problem for me. Honestly, this is the most unimportant language feature, I don't get why it causes such fuss every time Nim is mentioned.
My son is just three and too young to learn programming but when he's older I'm definitely adding Enu to my educational toolset among turtle and Colobot. Thanks!
Nim is surely a very interesting language with some very real perspectives for production use.
I'm one of the authors of this research. Feel free to ask any questions, I'll be happy to tell you more.