Clojure for the Brave and True, an online book for beginners

827 views
Skip to first unread message

Daniel Higginbotham

unread,
Sep 2, 2013, 3:35:52 PM9/2/13
to clo...@googlegroups.com
Hi all,

I've been putting together http://www.braveclojure.com/ and would love feedback. I've tried to make it entertaining and super beginner-friendly.

Thanks!
Daniel

Greg

unread,
Sep 4, 2013, 12:42:04 AM9/4/13
to clo...@googlegroups.com
I think it could benefit from more posts on using Clojure with IDE/Editor ___.

Perhaps outsource some of that with links to existing posts on the topic.

I hesitate to recommend this to anyone because I can't recommend Emacs (even though it's my primary terminal editor).

- Greg

--
Please do not email me anything that you are not comfortable also sharing with the NSA.

--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

signature.asc

Jason Lewis

unread,
Sep 4, 2013, 4:17:12 AM9/4/13
to clo...@googlegroups.com

+1 for outsourcing editor infos. Is this on Github? I might be inclined to open a pull request for Vim or LightTable.

Daniel Higginbotham

unread,
Sep 4, 2013, 12:15:50 PM9/4/13
to clo...@googlegroups.com
On Wednesday, September 4, 2013 12:17:12 AM UTC-4, Jason Lewis wrote:

+1 for outsourcing editor infos. Is this on Github? I might be inclined to open a pull request for Vim or LightTable.

On Sep 3, 2013 8:42 PM, "Greg" <gr...@kinostudios.com> wrote:
I think it could benefit from more posts on using Clojure with IDE/Editor ___.

Perhaps outsource some of that with links to existing posts on the topic.

I hesitate to recommend this to anyone because I can't recommend Emacs (even though it's my primary terminal editor).

- Greg


Thanks for the feedback! It is indeed on github: https://github.com/flyingmachine/brave-clojure-web

At the bottom of http://www.braveclojure.com/getting-started/ I link to resources for sublime text 2, vim, and CCW, and I'd definitely appreciate more links :) 

Dima Sabanin

unread,
Sep 4, 2013, 4:24:15 PM9/4/13
to clo...@googlegroups.com
Hi Daniel,

Keep up the great work! I really enjoyed the material and how it's presented.

Thanks,
Dima


--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
Best regards,
Dima Sabanin
http://twitter.com/dimasabanin

Gary Johnson

unread,
Sep 4, 2013, 6:58:54 PM9/4/13
to clo...@googlegroups.com
Looks pretty solid. Great work so far.

Also +1 for the Emacs coverage. Despite the fact that our surveys still show the majority of Clojure users develop in Emacs, this mailing list frequently exhibits an anything-but-Emacs tone. By all means add links to other editors for folks who are already using something else, but I for one think you made a smart choice there. Better to learn Emacs now than to learn it later after trying two or three other editors that don't quite cut it.

Also, just a quick note, your Emacs search keybindings were incorrect in that chapter. C-s and C-r are just regular isearch-forward and isearch-backward. Regexp search keybindings (isearch-forward-regexp and isearch-backward-regexp) are C-M-s and C-M-r respectively.

  Over and out,
    ~Gary

Daniel Higginbotham

unread,
Sep 4, 2013, 10:32:41 PM9/4/13
to clo...@googlegroups.com
Thanks for the feedback, Dima and Gary! It's very encouraging.

With the C-s/C-r keybindings, I think the emacs.d I point has swapped isearch and regexp search. I'll double-check that.

Thanks,
Daniel

Tim Visher

unread,
Sep 5, 2013, 1:25:27 PM9/5/13
to Clojure
On Wed, Sep 4, 2013 at 6:32 PM, Daniel Higginbotham <nonrec...@gmail.com> wrote:
With the C-s/C-r keybindings, I think the emacs.d I point has swapped isearch and regexp search. I'll double-check that.
 
This is an amazing microcosm of _exactly_ why Rich and others seem to be pointing people away from Emacs lately. :)

I think the main point here is that if you want to learn Lisp, you should probably learn Clojure, and if you want to pick up Emacs at the same time, you're learning 2 Lisps, one of which is _significantly_ less disciplined than the other, and also far less obvious as to the power inherent to it.

I've used Emacs for 15 years now and I have never regretted for a second having taken the dive into learning it. I do, however, think it's wise to take a simpler approach to learning new tech. If someone is using an editor/IDE they're already comfortable with, then get them to learn Clojure there until they're comfortable with Clojure. Sometime down the road, after they've groked the power of Lisp, start to give them subtle hints that there's this editor out there that's actually built in large part in Lisp that affords you much of the simplicity, power, and focus you're now used to in your normal programming tool. At that point, they'll actually be more capable of understanding why Emacs is so amazing.

Then they'll start to grumble about Lisp machines and [launch out into the dismal swamp that is the rest of our programming careers][lisp is not an acceptable lisp]. :)


--

In Christ,

Timmy V.

http://five.sentenc.es/ -- Spend less time on mail

Abraham

unread,
Sep 5, 2013, 2:35:08 PM9/5/13
to clo...@googlegroups.com
i liked the emacs chapter . Pl update on how to use emacs with a clojure project structure generated by lein 

Roberto Guerra

unread,
Sep 5, 2013, 6:12:50 PM9/5/13
to clo...@googlegroups.com
I've been wanting to learn clojure for some time. Done some katas here and there, but what has kept me from taking the dive is precisely the attitude in the community that anything but Emacs is wrong. Yes, most clojure devs are already using Emacs, but most newbies are not. And to be honest, I don't want to learn Emacs, I want to learn clojure. So, in the spirit of the book you are writing, get rid of the Emacs chapter. That should probably be in another book. It is like trying to learn to read and write while building a custom typewriter. Just my 2 cents as a complete clojure newbie. 
.

Daniel Higginbotham

unread,
Sep 5, 2013, 7:25:04 PM9/5/13
to clo...@googlegroups.com
Thanks for all the feedback. I didn't expect there to be such polar opposite reactions to the Emacs content!

Roberto - did you notice the links to vim, CCW, and sublime text 2 materials? They are at the bottom of this page: http://www.braveclojure.com/getting-started/ . I'm also curious about your impression that the book implies that anything but Emacs is wrong. My goal is to provide a rationale for using Emacs and offer great instructions on how to use it, not to say that people shouldn't use other editors.

My approach is that I want to reduce barriers to learning Clojure as much as possible. I want people to have an environment where they feel confident about writing and running Clojure. What I'm trying to say is "here are resources for other editors, here is an emacs tutorial, but whatever you do please take the time to set up your environment" - does that come across?

Thanks!
Daniel

Laurent PETIT

unread,
Sep 5, 2013, 7:29:11 PM9/5/13
to clo...@googlegroups.com
2013/9/5 Roberto Guerra <uri...@gmail.com>:
> I've been wanting to learn clojure for some time. Done some katas here and
> there, but what has kept me from taking the dive is precisely the attitude
> in the community that anything but Emacs is wrong. Yes, most clojure devs
> are already using Emacs, but most newbies are not. And to be honest, I don't
> want to learn Emacs, I want to learn clojure. So, in the spirit of the book
> you are writing, get rid of the Emacs chapter. That should probably be in
> another book. It is like trying to learn to read and write while building a
> custom typewriter. Just my 2 cents as a complete clojure newbie.
>

Hello Roberto,

I invite you to give Counterclockwise an honest try. Even if you've
heard bad things about Eclipse in general (nowadays, vocal fanboys are
on IntelliJ's side). Because you might be surprised.

Cheers,

--
Laurent
.
>
> On Thursday, September 5, 2013 8:35:08 AM UTC-6, Abraham wrote:
>>
>> i liked the emacs chapter . Pl update on how to use emacs with a clojure
>> project structure generated by lein
>>
>>
>>
>> On Monday, September 2, 2013 9:05:52 PM UTC+5:30, Daniel Higginbotham
>> wrote:
>>>
>>> Hi all,
>>>
>>> I've been putting together http://www.braveclojure.com/ and would love
>>> feedback. I've tried to make it entertaining and super beginner-friendly.
>>>
>>> Thanks!
>>> Daniel
>

Roberto Guerra

unread,
Sep 5, 2013, 7:32:20 PM9/5/13
to clo...@googlegroups.com
Sorry if my comment came across the wrong way. I wasn't meaning you specifically, just the general clojure community in general. Keep up the good work. BTW, something that confuses me a lot in clojure is 'require' vs 'import'. There seem to be different ways of 'importing' or 'requiring' a package, I never know when to use what or if it even matters.

Laurent PETIT

unread,
Sep 5, 2013, 7:43:52 PM9/5/13
to clo...@googlegroups.com
2013/9/5 Laurent PETIT <lauren...@gmail.com>:
> 2013/9/5 Roberto Guerra <uri...@gmail.com>:
>> I've been wanting to learn clojure for some time. Done some katas here and
>> there, but what has kept me from taking the dive is precisely the attitude
>> in the community that anything but Emacs is wrong. Yes, most clojure devs
>> are already using Emacs, but most newbies are not. And to be honest, I don't
>> want to learn Emacs, I want to learn clojure. So, in the spirit of the book
>> you are writing, get rid of the Emacs chapter. That should probably be in
>> another book. It is like trying to learn to read and write while building a
>> custom typewriter. Just my 2 cents as a complete clojure newbie.
>>
>
> Hello Roberto,
>
> I invite you to give Counterclockwise an honest try. Even if you've
> heard bad things about Eclipse in general (nowadays, vocal fanboys are
> on IntelliJ's side). Because you might be surprised.

With a link, it's even better : you can try the latest beta (pretty
stable) which is available as a standalone product:
- download for your OS from
http://updatesite.ccw-ide.org/branch/master/master-travis000126-gitcd826fde979c1b13a4cb8acce5409ae88c761b81/products/
- unzip in a directory
- click on the executable ( Counterclockwise / Counterclockwise.exe /
Counterclockwise.app depending on your platform )

Yeah, it's that simple, and it embeds Leiningen as well ( File > New
Clojure Project creates leiningen aware projects )

Cheers,

--
Laurent

Bruno Kim Medeiros Cesar

unread,
Sep 5, 2013, 9:39:03 PM9/5/13
to clo...@googlegroups.com
I would like to add to Roberto's request, a thorough treatment of ns would be great. It has its specific syntax that takes some time to understand, but that you don't use enough to imprint in your brain. It differs between the REPL and the file source, and is a showstopper when you want to try something new and get it wrong. The threads some days ago about :use and a proposal to simplify ns may be of interest in detailing their problems.

Paddy Gallagher

unread,
Dec 2, 2013, 12:51:35 AM12/2/13
to clo...@googlegroups.com
Daniel,

I've just finished reading this series and thought it was superb. The Emacs chapters in particular were a massive help. I'm a complete newbie with Emacs and the detail here was pitched just perfectly. It got me exactly what I needed to start to become productive very quickly. 

I highly recommend it as a resource both for the excellent content/philosophy and humour :)

It personally made my introductory Clojure learning experience a very enjoyable one. 

Thanks Daniel and hello from London :)

cheers

Paddy

Daniel Higginbotham

unread,
Dec 2, 2013, 2:25:55 PM12/2/13
to clo...@googlegroups.com
Thanks, Paddy! It's very encouraging to hear such positive feedback :) I'm glad it was useful for you!

Daniel

Paddy Gallagher

unread,
Dec 4, 2013, 2:01:38 PM12/4/13
to clo...@googlegroups.com
It definitely was Daniel. I will be sure to recommend it to anyone I know looking to learn Clojure in London. I look forward to reading more of your blog.

Have a great Christmas and New Year :)

Patrick

Daniel Higginbotham

unread,
Dec 16, 2013, 3:02:36 PM12/16/13
to clo...@googlegroups.com
I've written a chapter on namespaces and ns: http://www.braveclojure.com/organization/. I hope it clears up some of the confusion :)
Reply all
Reply to author
Forward
0 new messages