If it were done in pure C, perhaps. Though I never found linked lists all that difficult to comprehend.
Generally object polling is implemented with higher level abstractions on top of the same concept. In Java it was usually ConcurrentLinkedQueue<>(). Your interface to the ugliness is merely a borrow and release method. Just had to be sure you reset the objects in the release method not the borrow to help tame even more side effects.
It merely forces you to be a better programmer. I prefered side effects and thousands of users over no side effects and a handful of users complaining on my forums about 30 second lockups.
From first hand experience with scaling apps on VM’s whenever I see the world ‘immutable’ this image pops into my head.
I made a subtle reference to the topic at the bottom of this thread. It seems most people using Meteor will horizontally scale long before the GC catches on fire.
As far as Erlang/Elixlr pattern matching, I looked into again after a few years from your reference to Phoenix. Still makes my eyes spin around in the sockets. I’m not going to start with recursion instead of flow control. That makes me cry, and I have 3+ decades experience. ![]()
I will never catch on with the “Can’t I just meteor add” crowd.
