4 ms·
The positivity in the comments here makes me want to learn Clojure. Apparently it makes you happy.
by __MatrixMan__ 4y ago
The positivity in the comments here makes me want to learn Clojure. Apparently it makes you happy.
- capableweb 4y agoIt absolutely makes you happy. Be beware, finding a language that makes you too happy, can lead to you not wanting to program in anything else anymore. You're better off being in the middle of grumpy and happy, like a normal programmer.
- eyelidlessness 4y agoDon’t worry, folks! Clojure will make you happy, but even with fast perf you may find yourself wanting static types or even just dynamic runtime result/option types. Of course it’s a lisp with macros, and a general purpose language, so you can have all of that too. But there’s no shortage of green in other pastures ;)
- fud101 4y agothis is why i avoid common lisp now. for years i hated programming until i finally decided CL was dead to me. Now i happily write Python for a living and don't care it sucks relative to CL.
- lordgroff 4y agoDon't learn a Lisp. For one, you'll end up in endless arguments whether your Lisp is a proper Lisp, and two, everything else will look ludicrously constraining for no good reason.
- yladiz 4y agoLisp-1s are bastard children of the true Lisp-2s /s
- fud101 4y agothis is good advice. its a trap. you live in a world where lisp isn't going to be accepted, for better or worse, lisp isn't going to happen.
- sjamaan 4y agoFWIW, I work fulltime on a Clojure codebase. There are other companies who also use it (for a more well-known example Metabase). Somehow Clojure is a business-friendly Lisp, probably because of the JVM and all the enterprisey stuff that's available for it.
- petre 4y agoYup, the JVM is the number one reason why I avoid it like the plague. Which is too bad because the language is super slick, I like it better than Racket and the other schemes.
- capableweb 4y agoHave you ever worked/tried to work with a lisp professionally? I don't think what you're saying is true, at least today. I've worked with many Clojure companies for the last years, for them lisp has already happen and is still happening. Main drawback of using a lisp for professional development is that it's really hard to go back to anything else afterwards. "Why use Assembly if you have C?" (unless you have a really good use case for it, of course), that's a bit the feeling you get.
- sokoloff 4y agoI'm doing Advent of Code in clojure for the second year. It's frustrating in some ways (learning the string-parsing to process the inputs takes longer to learn in clojure than to simply execute in C++, C#, or JS, but that's because I know those other languages much better). But the pleasure of iterating towards the solution and building and quickly testing each of the constituents is joy-inducing.
- wry_discontent 4y agoThat's funny because I've found the exact opposite. Most everything seems to use roughly the same utilities, but Clojure lets me move more quickly in getting the inputs parsed correctly. For example, I often start with something like `(slurp "inputs/day-2")` and keep wrapping that until I get a structure I'm happy with. Then I split it into a few fns so I can keep testing with the smaller input
- sokoloff 4y agoI'm at the stage of using clojure for a total of perhaps 50 hours, 40 of which has been in AoC 2021 or 2022 and no prior JVM experience to draw on the java library ecosystem fluidly (which is a massive strength of clojure, but one that I'm poorly equipped to use). My solution times so far have scaled pretty heavily with "how long did I futz around with parsing the input?" I did well on days 3, 4, and 6, because the parsing was so trivial and it was just a quick function composition. Day 5 I spend entirely too much time parsing the input (In retrospect, I probably should have just edited it into an initial data structure in emacs.)
- yladiz 4y agoHonestly, I think a good chunk of the challenge with a lot of Advent of Code puzzles comes from parsing the input. That’s where I end up spending a lot of my time too, especially when it needs something more than parsing each line individually or reducing by lines.