Settings

Theme

Guide to Starting with Clojure

grison.me

58 points by flaie 6 years ago · 10 comments

Reader

Heliosmaster 6 years ago

I'm fulltime Clojure since 2014, and I can't say enough how happy I am. I find a lot of joy, every day, in my work as working with a LISP really fits with how my brain think.

The community is great and the language leaks through the people: you'll often find very pragmatic (even conservative) approaches.

If you are looking for some more testimonials, look no further than Uncle Bob [0] and Gene Kim [1], but there's several more results online.

Lately, I tried to "modernize" a little bit the Clojure course that I used, many years ago, to start, and you can find it at [2]:

- [0]: https://blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure....

- [1]: https://itrevolution.com/love-letter-to-clojure-part-1/

- [2]: https://heliosmaster.github.io/academy/

flaieOP 6 years ago

Author here:

I recently gave a talk at work to show why Clojure is a good fit and show some of the possibilities and its ecosystem.

People got interested and wanted to try stuff but were overwhelmed with what to choose (lein, deps, boot) which editor to use, what's a REPL, why should I use one, how to use it (from the IDE) and some other stuff like where to learn Clojure.

So I decided to write an introduction regarding all that (covering IntelliJ & VSCode since it's the tooling people use at work). Don't hesitate to give feedback as this surely can be improved.

Note: it doesn't cover ClojureScript but I would be glad to cover it in the same manner in another post.

  • jmiskovic 6 years ago

    The site looks very slick. I like the end-to-end shaded background on code blocks.

    Regarding content, it is very hard to write this kind of introduction because there are so many choices on how to set up the first project and most of those choices would be completely unfamiliar to those comming from other languages. My only recommendation would to set up a repo that would bootstrap the process, or direct people to Maria [0] CLJS notebook so they don't have to deal with compiler, REPL and unfamiliar IDE while also learning language.

    [0] www.maria.cloud

dkmn 6 years ago

Thanks for sharing the nice write-up! It's a bit more in-depth than the "hello world" tutorials out there, and mixing in a few dev tools and workflow hints is a nice touch. I'm still learning Clojure (dipped in and out over the last few years), and found a few gems that weren't covered elsewhere.

Visually- and organizationally well-done, too! The slang for JAR ("Jean-Michel") was a hilarious touch to include...

On related notes:

- (ref. some of the comments and your "next steps" list) Another resource for newcomers is Clojure Koans (https://github.com/functional-koans/clojure-koans). It's very easy to use these to learn and refresh, even a few minutes at a time. During the recent stay-at-home period, I've actually had my kids (12 and 15) do these exercises, and even used it as an opportunity to start teaching them about git, so they can share their work with me in segments.

- (for anyone hankering to write something) I think one thing that is still not well-served for relative newcomers is doing webapps. The examples I found talking about Ring and Compojure were either dated in terms of dependencies or were a bit obscure in that there were both new concepts and syntax introduced at the same time, without a lot of explanation ("it's all in the docs" is not as helpful when you're new to the language, the idioms, and the frameworks all at once).

  • flaieOP 6 years ago

    It was a goal of mine to have up to date knowledge in it, latest deps and so on. I would be glad to write something else on writing web-apps with Clojure.

    Thank you for your great feedback, I've added a clojure koans to the list of resources at the end of the guide and keep on learning and building Jean-Michels :) !

agentbellnorm 6 years ago

I think this guide is great! If we want people to use clojure we can’t impose emacs on them too. This guide introduces clojure from where most developers are at.

twistedpairs 6 years ago

Clojure really needs the equivalent of Portacle; self contained directory with everything in it that's needed to just start coding without faffing about.

defenestration 6 years ago

After you start with Clojure, I can recommend doing the problems on http://www.4clojure.com/. I had a lot of fun doing the problems and learning from solutions from others.

  • flaieOP 6 years ago

    Thank you, I added it in the website list at the end of the guide.

    • defenestration 6 years ago

      Thanks for making the guide. For me Clojure is also not my primary language. As you write: It made me learn a lot, and changed how I program in other languages. There is a subtle beauty in Clojure.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection