Shoggoth
kiwifarms.net
- Joined
- Aug 9, 2019
Just use whichever tool you're comfortable with. Emacs has OG vibes but you're not obligated to waste brain cycles on it.
The Clojure talks are great. 4clojure has been revived on 4ever clojure.
To get started, there are several examples of real world applications flying around, start with Sean Corefield's user manager example if you want to deal with backend/webdev, or look at cljfx if you like UI and personal computing software.
In terms of books, there are a couple written by Alex Miller, besides which I wouldn't bother with other books at the time, as they're not essential. Use the official cheatsheet, it's a godsend, use apropors and use find-doc. Learn to work with the REPL.
Do join the clojurians slack. That's where most discussion and support are.
Closing words - some "anti patterns", or just stuff you will forget and get wrong at the beginning
- don't do side effects in lazy contexts
- `for` is a list comprehension, not a for loop
- `for` is lazy, don't do side effects in it
- same goes for `pmap`
- you know what, just figure it out without `for`, for now
- you don't need refs
- you really don't need refs
- you probably don't need an atom, unless you want to share data between multiple threads
- immutability will trip you. You will write something like (assoc m k v) and not use the return value, and be surprised the map doesn't contain the key you expected
- don't count on transients to change in-place. Always work with return values from functions.
Some positive advice
- use the fucking REPL
- use clj-kondo
- use something to format your code like zprint because it will probably look like ass before you have a sense of style
- go over the cheat sheet and the style guide (thanks Bozhidar!)
- it doesn't really matter if you start with lein or cli tools, chill
- drink some Cider, it's good for you
The Clojure talks are great. 4clojure has been revived on 4ever clojure.
To get started, there are several examples of real world applications flying around, start with Sean Corefield's user manager example if you want to deal with backend/webdev, or look at cljfx if you like UI and personal computing software.
In terms of books, there are a couple written by Alex Miller, besides which I wouldn't bother with other books at the time, as they're not essential. Use the official cheatsheet, it's a godsend, use apropors and use find-doc. Learn to work with the REPL.
Do join the clojurians slack. That's where most discussion and support are.
Closing words - some "anti patterns", or just stuff you will forget and get wrong at the beginning
- don't do side effects in lazy contexts
- `for` is a list comprehension, not a for loop
- `for` is lazy, don't do side effects in it
- same goes for `pmap`
- you know what, just figure it out without `for`, for now
- you don't need refs
- you really don't need refs
- you probably don't need an atom, unless you want to share data between multiple threads
- immutability will trip you. You will write something like (assoc m k v) and not use the return value, and be surprised the map doesn't contain the key you expected
- don't count on transients to change in-place. Always work with return values from functions.
Some positive advice
- use the fucking REPL
- use clj-kondo
- use something to format your code like zprint because it will probably look like ass before you have a sense of style
- go over the cheat sheet and the style guide (thanks Bozhidar!)
- it doesn't really matter if you start with lein or cli tools, chill
- drink some Cider, it's good for you