Looking at The Futures of Text I feel Clojure is positioned well with Lisp being deeply nested in the history and current research of AI. Though Elixir fits very well with the chat domain with its SPEED (microsecond response times) and FAULT TOLERANCE letting processes crash instead of trying to handle n possible errors. They've tested the Pheonix framework and it managed to handle 2 million concurrent connections on a single server. I was actually starting to learn Elixir because of all of this but in the end decided I prefer the thought put into Clojure, how much cleaner it feels to write and the ecosystem of smart people and libraries it has. On a side note to this. Has anyone heard of the Pulsar library?
Is that the agent thingie - Pulsar?
Yea it is the actor concurrency model. Something to do with each process having a copy of everything and having a 'supervisor' watching it and deciding how to handle errors when it occurs. Eg kill process, restart process, restart all children.
When doing integrations with other services the benefits of it will shine through. With BEAM (Erlang/Elixir) it provides the same benefits of Microservices without the upfront necessity to create them and the extra work it requires to create/maintain them. I'm not sure how Pulsar and JVM compares to OTP (the library they use) and BEAM. From what I have read the key benefits are the process isolation (which is 100%, they have a share nothing approach) and the garbage collection per process which is provided by the underlying VM (BEAM). Pulsar uses bytecode instrumentation and the guys are working to have things implemented in the next Java/JVM? version.
Whether the same performance and fault tolerance the BEAM provides can be achieved by the JVM is something we have to wait and see.
@grounded_sage: I know there was talk about Pulsar a month or two ago, but nothing lately. Not sure what's happening with it from the Clojure side of things. Not everyone is satisfied with the CSP approach of core.async so they keep looking for alternatives.
There are actually two talks about Actor systems. Wunderlist uses Clojure and Scala with the Akka library and Braintree uses Pulsar. Wunderlist - https://skillsmatter.com/skillscasts/7238-actor-systems-in-clojure-what-are-your-options Braintree - https://www.youtube.com/watch?v=6xlyWjqFDWs&feature=youtu.be
It seems like core.async and Pulsar (wrapper of Quasar) was in development at the same time. Both seem to have different tradeoffs. If you read the docs of Pulsar they have really focused on making it easy to use from Java, Kotlin and Clojure. This is in the docs of Pulsar. "Because core.async provides a subset of Pulsar’s capability, Pulsar provides an optional API that’s compatible with core.async which some people may prefer. The original core.async test suite has been ported as well in order to ensure API-level compatibility."
I remember Branch being very similar to what we are doing with Braid. Tried to dig up some information on it. Seems like it has been mostly deleted from history since it was acquired by Facebook. This is the best article I can find on it. https://pando.com/2012/08/20/obvious-corp-wants-its-startups-to-build-the-next-wikipedia-not-zynga/
For those TLDR the last 2 paragraphs are the juicy bit.
Actually there is a bit on it. Will add it into a list on the hackpad. Sorry I'm probably cramming up this channel with a lot of chatter 😛
@grounded_sage: Not at all, Wade. You're "chatter" is great. Keep it coming. :simple_smile:
welcome @farenzer_house
never heard of Branch, too bad they shuttered, information can be pieced together from various news sites: https://www.crunchbase.com/organization/branch/press
@rafd: I found pages which had parts of their UI and explained how it worked. So will piece it all together as best I can