2 ms·
Thanks for your response. Most of my professional work is in Perl, except for frontend stuff in JS, although we are increasingly using Go for more things. I'm
by muraiki 11y ago
Thanks for your response. Most of my professional work is in Perl, except for frontend stuff in JS, although we are increasingly using Go for more things.
I'm lucky in that our Perl codebase is very well structured and clean, despite having parts up to 20 years old. It relies very little on objects, generally passing around hashes of information. For error handling we even use something akin to the Either type, instead of using exceptions. But yeah, you could go into another Perl codebase and see a completely different story. I guess that I really lucked out!
Anyway, when I walked into this Perl codebase I generally didn't feel too far away from Clojure in terms of its basic setup, creating lots of small functions that accept and produce basic data structures. But where I do feel pain is in safely refactoring that code, getting insight into where things are used, and understanding what might happen to be in this plain old hash being passed around. It's at this point that I miss having good tooling, in the sense of the tooling I've experienced in Go or Scala. The only dynamic language I've used with comparable tooling is Smalltalk, but unfortunately that's not really viable professionally at this time. :(
I've heard good things about Cursive Clojure, so perhaps I should give it a try and see what fancy features it has.