@edwaraco Welcome!
@neumann 👋 Thanks!
@channel I'm curious, what got you interested in functional programming? (Reply in a thread)
I don't think channel works on this server?
womp womp
@corasaurus-hex Yeah, it's metaphorical. 😛
I first learned about it in grad school. It seemed so different from any language I had learned, and I couldn't imagine doing anything interesting in it.
Since my prof was so pumped up about it, I had to go figure out what all the fuss was about.
I learned erlang like 5 years ago, and we started using elixir at work 3 years ago. a friend of mine is doing clojure professionally and convinced me to try it and now I'm hooked. I've done a good amount of work in elixir and I think the actor abstraction is the wrong one for 90% of problems, but clojure is dynamic and not forced into a bad abstraction soooo
@corasaurus-hex Oh boy, I got totally hooked on actors in Scala + Akka. That was, at least, until I had to go back to my 1 year-old code and try to add new features. Yikes!
yeeeaaaahhhhh
@corasaurus-hex Aside from not being forced into actors, what else got you hooked on Clojure?
and it doesn't help that actors are so brittle, since all calls are checked at runtime
make a tiny change and you can get cascading process crashes that are super hard to debug
and all to serve an abstraction that's the wrong abstraction much of the time
if I had to write pure networking services I'd probably use it, for the isolation and soft-realtime guarantees and whatnot, but for a webapp or my maze generator? pass
@corasaurus-hex Yes, debugging actors always felt really difficult to me! Definitely feels like the wrong abstraction for everything but distributed agents that need to coordinate at some level.
did you do something like that with akka? I've heard things about it
good things about it.
good things
lol
Yeah, I wrote a bunch of code in Akka for managing a bunch of websocket "subscribers" and broadcasting state updates out to them. I went with actors all the way down, so to speak.
oh, yeah, that's a good use for actors
we use it for a work orchestration system where actors represent the state of a bunch of things, like the the long-running sagas of work for a given job, the ec2 instances where we perform our work, etc
Cool!
unfortunately people want to eject clojure from the org, there are a bunch of projects using it that people don't want to work with
Why do you think that is? What is it that bugs them?
I think they just don't do FP at all. Brightcove is a large enough org that a lot of different tech is used.
Oh, I see. They haven't made the jump to FP at all. It's not Clojure, per se.
yep
asking a bunch of java guys to occasionally figure out clojure and make changes to the application can understandably make them frustrated
their only experiences with it are confusion and frustration, over and over
Yeah, it's so different than OO. That's why we started the podcast. We really want to help people make the jump into FP. Avoid confusion and frustration.