I've read this article several times and I cannot seem to understand what this library is for. The author is a smart guy who has a lot of experience, but the way the article is written, it seems to be solving a problem without first stating the problem. Does anyone else have experience with this type of code?
Marco Alka
Software Engineer, Technical Consultant & Mentor
Overall this looks to me like it is replicating functionality that already exists in the language, but his overuse -- and misuse -- of technical terms makes for a very confusing read.
I mean, what he's calling "receptors" I would be calling "event handlers"; as evidenced by his heartbeat example, where again I'm not seeing anything being done that warrants the presence of or even uses a library! I mean, I'm not the C#'est programmer out there as i consider .NET a technological dead end.
What he calls accumulated carriers I know as a FIFO message stack. What he's doing with multiple "receptors" I learned as multi-recipient messaging.
... all things I was doing three and a half decades ago in assembler and didn't need some goofy library to make happen. That his code examples on their own seem to be as large as I'd have without the library makes me question just what it is he's doing; much less why such lofty techno-babble is being thrown at it.
I could swear I've seen this before, or something very much like it where the guy abused the word "semantic" in reference to something that had absolutely nothing to do with semantics, to the point the word semantic was semantically used so many semantic times on his semantic page it was semantically ridiculous.
Oh hey, this guy does talk about "semantic meaning", and again in a situation where there are no predefined meanings so the terminology doesn't even apply. There's a reason I don't refer to how I use classes and ID's as being "semantic" even if it follows the same philosophy of saying what things are, not what I want them to look like. The UA has no clue what any of it means as there's no predefined spec for it to follow on them.
Reading the whole thing, I cannot quite fathom what the point of it is either, apart from taking something simple and making it as hard as possible to accomplish. In that way, I'd be more tempted to call whatever this is a "framework" instead of a "library" since that's usually the distinction. Libraries are just sets of helpful functions. Frameworks take the simple, make it LOOK simpler whilst making the actual task harder to accomplish resulting in more work.
Wow. That's another one of those articles (and documentations), which requires you to be immersed deeply (part of some cult?) in order to just understand the first thing. Not a good way to get new developers into using your framework. Also, they seem to value 1:1 (hidden) conversation over public discussions. Well. I skipped the article and went to the GitHub repo. There it reads that
So I think that it's just an abstraction over a finite state machine, which you can scale on distributed systems. It uses a lot of fancy terms, and seems overly complicated for just that, so I personally wouldn't touch it.
I may be completely wrong though. Hard to say. You might want to try writing an issue asking them to explain what HOPE does "like I was 5". It's a question they need to come back to Earth, imho :)