beginners

Getting started with Clojure/ClojureScript? Welcome! Also try: https://ask.clojure.org. Check out resources at https://gist.github.com/yogthos/be323be0361c589570a6da4ccc85f58f.
pavlosmelissinos 2020-12-27T14:01:35.027300Z

Re: reading email Are you using a clojure library or do you prefer to interop directly with something like https://eclipse-ee4j.github.io/mail/? The features I'm mostly interested in are server-side email filtering/search and unicode support. I tried out https://github.com/owainlewis/clojure-mail but it doesn't work well with unicode strings and the library does not seem to be active, so I'm also considering different directions. I found out https://stackoverflow.com/questions/26308559/how-can-i-read-my-emails-with-clojure from 2014 that suggests interop with apache commons IMAP. Is this still considered idiomatic?

Norman Ziebal 2020-12-27T15:21:26.030Z

I am very new to clojure and I am wondering if it is worth learning it. I was already browsing around but eg on SO I didn’t find much related to clojure.

clyfe 2020-12-27T15:24:29.030100Z

Clojure in 5 pages: https://clojure.org/guides/learn/syntax

dgb23 2020-12-27T15:58:07.034900Z

I never heard of anyone regret learning it. The most common complaint is: I learned it and use it for my personal projects and now I dislike my day-to-day language. As for the community: It is a niche language but attracts a certain type of people. Usually they experienced problems with main stream languages. They want to tap into mainstream ecosystems but write in a more expressive and sane language (subjective). It is a stable community and there are a ton of smart people doing very productive things in Clojure.

dgb23 2020-12-27T16:00:26.035100Z

You’re not getting an unbiased answer here. But learning the fundamentals and trying it out will benefit you in some way regardless whether you use it in the long term.

2020-12-27T16:37:43.044600Z

There are two reasons why there's not a huge list of Clojure questions on SO. First, for whatever reason, a lot of folks come here, to this Slack group, with their Clojure questions, which is good as far as quick responses and not so good when it comes to building a permanent archive of Clojure Q&A stuff. The second is that, once you get past the basic learning curve of writing code in Clojure and (if necessary) switching your mindset from imperative programming to functional programming, a lot of the technical issues have more to do with specific libraries you're trying to work with and/or the underlying Java stuff, so if you've got a question, you might be less likely to phrase it as "this is a question about Clojure." Also Clojure is a very elegant language that generally does what you want and stays out of your way. I know I'm a lot less likely to go searching for answers on SO since I started using Clojure full time, and usually when I do it's because I'm looking for a refresher on the quirks of java time conversions or some such. Bottom line, I'd say Clojure is an excellent language to learn, and it has definitely renewed my enthusiasm for programming. Even before I got a full-time Clojure position, just knowing the language and how to use functional programming principles, I was able to right better/more reliable code in PHP or Java or whatever I was using.

💯 1
➕ 1
Norman Ziebal 2020-12-27T16:47:09.045500Z

Thank you very much for all your inputs. Greatly appreciated :)

seancorfield 2020-12-27T19:25:50.049Z

@norman.ziebal As another data point, I've used a lot of different languages over the decades, and taken a lot of systems into production. I picked up Clojure just over ten years ago and I enjoy it more than any other language I've ever used. We have around 108K lines of Clojure at work, managed by a team of just two developers, that we've built up over a decade. It's a great language -- but it's definitely a niche language so finding jobs doing it can be tricky: there are a lot more people who love Clojure than there are available jobs!

Norman Ziebal 2020-12-27T19:27:40.050200Z

Very cool, I will definitely continue my journey with clojure.

dgb23 2020-12-27T20:52:46.055300Z

To add to the last sentence: there are ways you can leverage Clojure without having a Clojure job, depending on the type of work you do. I almost constantly have a REPL open and use it for stuff I don’t ship. For example parsing spreadsheets or JSON etc. also babashka is useful for repeated tasks.

seancorfield 2020-12-27T21:17:56.055500Z

Good point. Yes, you can use Clojure as "just" a support tool without it actually being a core part of how your company builds stuff. And of course, sometimes you can introduce Clojure into a company (which is what happened for me: we had a thorny problem that had previously not gotten solved well in a variety of tech and I tried Scala first and then tried Clojure... and Clojure "stuck" and started to be used for more and more stuff, and it gradually took over as our primary language).

👍 2
2020-12-27T22:14:24.055900Z

Yeah, I got my current FT Clojure job in part because at my previous (Java) job, I wrote an app in Clojure to manage our localization files and as far as I know the company is still using it. It was just automating a manual process, but Clojure made it much easier to turn into a full-blown app, and since I was using it mainly to assist myself I didn't even need to get management buy-in. Turns out management loved it once it was up and running, so I did get buy-in anyway, but it was nice to have the freedom up front.

👍 2