I'm curious if anyone has spicy thoughts on this R...
# general
l
I'm curious if anyone has spicy thoughts on this Rama thing that was released, claiming you can build any scalable application with 100x less code: https://redplanetlabs.com/ Bryan Cantrill, for one, is not a fan: https://twitter.com/bcantrill/status/1689356278865313792
Too me it seems too good to be true. And also absolutely nothing in this world is going to get me to ever write a JVM based language again 😂
😂 1
💯 1
The more I'm reading into their programming model, the more it just sounds like event sourcing packaged up into a single Java API
b
Thanks for sharing.. Like him or not, Bryan voices his opinions strongly and he's right a lot of times. I can see why he isn't a fan. The claim is bold and I don't see enough substantiation of the claim. Will explore more.. Off topic: I'm curious about why you don't ever want to write JVM based language again? We can take that in separate thread 🙂
l
I strongly dislike the tooling of the Java ecosystem, as well as many of the "enterprise" design patterns that tend to be found in large Java codebases
g
@Ram had a few, I saw a comment on Twitter
Personally, I switch off whenever it looks like someone is trying to get me to use a new language.
😂 1
@Buchi Reddy Busi Reddy I'm a bit curious: What sort of substantiation would convince you some someone actually delivered 100x productivity gain?
Curious because in my experience, most of the stuff that improved my productivity is around things I no longer need to do, solve or worry about. But "stuff I don't do" is naturally very hard to point to and measure...
l
I just spent an inordinate amount of time reading through Rama's programming model as well as Nathan Marz's old blog, and I am convinced that this is basically event sourcing packaged up as an entire application development framework & infrastructure. Similar to Hadoop, Rama expects you to deploy infrastructure and then code using the Rama API & submit your applications to that infrastructure. On the one hand, the ideas behind event sourcing are interesting because they do try to solve problems that are fundamental to the classic web architecture with mutable state in SQL databases. If there were better tooling around event sourcing such that it wouldn't take a ridiculous amount of time to build equivalent functionality to your standard CRUD stack, I do think that would change how we program quite a bit. However, the way Rama seems to be trying to achieve this feels all wrong - closed source, only available in Java, and still requires you to manage infrastructure that no one has experience managing. I appreciate the endeavor & boldness of the idea, because the problems described are pretty real once you reach scale. But the execution seems all wrong. Not enough to get me to even consider for one second writing Java 😂
g
I’m trying to make the mental leap from what I’ve seen in Rama’s documentation and “solving fundamental problems in web applications with mutable state “ and I’m kinda failing. Where do you figure out the problems they are solving?
l
I think they're trying to solve complexity & scale at the same time - the underlying assertion is that web dev has become really complicated (which I would agree with), and the current paradigm doesn't scale (SQL with CRUD) - so you just should build everything with Rama. I think you could definitely argue against both of those assertions, but I can see where the author is coming from because software is more complicated nowadays and hyper-scaling your traditional relational database does have its challenges - it is "easier" to scale events rather than tables, but it involves a ton more work in other places. There is also some merit to the idea that stitching together separately built components that each focus on a single scope (databases, queues, backends, etc) into a whole system limits your potential, whereas if you try to build all the components together with each other in mind, you might end up with something better; similar to the approach Hashi tried to take with Nomad/Consul/Vault as opposed to Kubernetes. Where I think the authors totally miss the mark is that very few people actually need hyper scale - our current paradigm exists directly because of this. I don't doubt that Nathan Marz knows what he's talking about given his experience scaling real-time infrastructure at Twitter and other places, but it's just exactly that; very few people actually have the problems Twitter has. And if you're a responsible founder, you're going to do things that don't scale anyway to move faster. So if you want to change the paradigm of software development, you have to cater to the long tail of most people that don't need scale & just want to move fast. And asking these people to think in a totally new paradigm with foreign concepts that aren't really defined anywhere else (there are similar ideas in event sourcing but the terminology Rama uses is totally idiosyncratic) on a closed source, vertically integrated system that you can only interact with through a Java API seems like the absolute worst possible way to gain users
So after all that, I can definitely see why Bryan Cantrill might think this entire project is arrogant, because it doesn't seem like the authors have taken a moment to step out of their own headspace to understand what problems people are really having. That they spent 10 years building this before releasing it also signals a major red flag to me; that just seems irresponsible to do in any context
g
Thanks for the in-depth explanation.. you do a better job explaining this than Nathan does!
😂 1
I definitely ran into the terminology barrier that you mentioned