
A Brief Beginner's Guide To Clojure - pelle
http://www.unexpected-vortices.com/clojure/brief-beginners-guide/
======
weavejester
The Emacs setup steps are somewhat behind the times. These days it's easier to
use packages to install new modes and themes, and Technomancy's Emacs Starter
Kit should be mentioned for those who are new to Emacs and want sensible
defaults.

It's even easier with Emacs 24, as the starter kit can be installed via a
package as well. Current best practise is to put all the packages you need in
your init.el file, then when you start Emacs, it'll download and install any
packages you're missing.

You have a section "Other Libraries" and a section "Finding the Libraries You
Want", which cover essentially the same ground, but are strangely split up. So
the former mentions the Clojure wiki page, and the latter mentions clojure-
toolbox and other third-party library lists. Maybe they should all be in one
section?

Other things... "lein deps" isn't really necessary anymore, as Leiningen
checks for dependencies before running each command.

I think you also need to mention that you can effectively forgo the group-id
and have [foo "1.0"] (which is the same as [foo/foo "1.0"]).

Pushing to Clojars is easier with the "lein-clojars" plugin. Then it's just a
"lein push" away.

~~~
ludwigvan
>> Current best practise is to put all the packages you need in your init.el
file, then when you start Emacs, it'll download and install any packages
you're missing.

I wasn't aware of that, how does that work? Obviously just `require`'ing the
packages is not sufficient.

~~~
weavejester
Take a look at the Emacs Starter Kit README:

<https://github.com/technomancy/emacs-starter-kit>

Basically it uses a combination of `package-installed-p` to check if the
package is installed, and `package-install` to install said package if it is
not.

Note this is for Emacs 24, which comes with `package.el` preinstalled.

------
codehalo
In "5. The Language", not one mention of the language's real roots - Lisp.

Very unfortunate, IMHO.

~~~
uvtc
Hi. Thanks for the feedback. Please note that the document is a work-in-
progress.

I didn't think to mention its roots on that page, given that it's one of the
first things mentioned on the main clojure.org page.

Added a note about it being a Lisp dialect.

~~~
codehalo
Thanks. Its always good for anyone who has even a passing interest in a
programming language to know the motivation for it given the amount of
programming languages out there.

------
kreek
Nice to see chapter 4 on setting up a dev environment early on, many clojure
tutorials (and even a book I have) leave this out, or until the end. Working
within a project is how you'll write real-world code so you might as well
start with it.

------
ludwigvan
Thanks for this, very useful.

Btw,

    
    
      git config --global core.editor nano
    

This made me smile :)

~~~
Ralith
Why more people don't stick 'emacsclient -t -a ""' in there, I'll never
understand.

------
ineedtosleep
What does the author mean here?

> "If you're using [...] another OS (tsk tsk tsk) [...]"

I develop on Mint and Gentoo, so any joking here is probably passing over me.
Other than a jab at MS (and maybe Apple), does this mean that programming in
Clojure would/could be difficult outside of Linux?

~~~
uvtc
I was joking, and meant "any other OS besides GNU/Linux". Perhaps not
perfectly clear though. Removed unnecessary text.

You should've seen it before though! Had to scale it back from "or another OS
({folds arms} {slowly shakes head} [long sigh] _tsk tsk tsk_ )". ;)

~~~
joshAg
what do you have against freebsd??!

