
The Newbie’s Guide to Learning Clojure - fogus
http://www.elangocheran.com/blog/2012/03/the-newbies-guide-learning-clojure/
======
andrewvc
Well, the site won't load for me, but so long as we're on the topic of clojure
newbie stuff, I just put together a simple project on github to demonstrate
lazy-evaluation for those new to clojure by visualizing elementary cellular
automata. I tried to annotate the source quite heavily to make it clear what's
going on.

It can be found here: <https://github.com/andrewvc/clj-automata>

------
elangoc
Sorry for the site loading so slow. I submitted this a week ago and thought it
got ignored into Hacker News oblivion. Back then, I added a cache plugin, but
I guess that's not enough.

I woke up this morning surprised to see it's on the front page a.t.m. I'm
going to troublehshoot right now.

I also have the dirt-cheap lowest VPS option on Rackspace -- is that the
problem? If anybody has immediate ideas on how to make my server not be so
slow, pass them along (and thanks for reading!)

~~~
octopus
If you want performance on a low end VPS you could use a static website
generator like Jekyll, Hyde, nanoc etc ...

~~~
elangoc
... aaand we're back, with more RAM. Thanks, great suggestions, will try them
out!

------
bgilroy26
[http://webcache.googleusercontent.com/search?hl=en&gl=US...](http://webcache.googleusercontent.com/search?hl=en&gl=US&nomo=1&biw=800&bih=442&q=cache:f9cX8Bnzy6UJ:http://www.elangocheran.com/blog/2012/03/the-
newbies-guide-learning-clojure/+the-newbies-guide-learning-clojure)

I was having trouble getting reception, here is the Google cache if others are
in a similar situation.

~~~
bobobjorn
same here, why dont people just use github or other usefull hosting for their
blogs :-/

~~~
gukjoon
I think the site load time is an allegory for how long it takes for the JVM to
start up.

There are some good links in this blog. If you are a Clojure newbie,
definitely check out the text-only cache of this blog.

I also want to note that "Clojure newbie" has many meanings, depending on
which direction you approach Clojure from. Depending on whether you come from
Java, LISP, Python or nothing, you will start with different tracks. I would
recommend that Java programmers actually start with protocols and reify,
typically billed as advanced subjects, then the concurrency primitives, before
getting into macros and advanced LISP stuff.

~~~
bdunbar
What do you suggest for a 'nothing' category?

By 'nothing' I mean that I'm a sysadmin, knows a smattering of PERL, a little
BASH, a lot of this and that over the years.

~~~
elangoc
In my life, I've learned and used the following languages, in this order:
Logo, Basic, Pascal, C++, Java, Python, Ruby, Clojure. Each time that I
learned the next language, I thought it was a great improvement on the
previous, and I wondered what I had been spending my life doing with the
previous language.

My experience is that with Clojure is a testament to pretty much everything in
"Beating the Averages" (<http://www.paulgraham.com/avg.html>) It's hard to
know for sure, but I have a feeling that I will end up using Clojure far much
longer than the rest of those languages, combined.

If you are contemplating learning a language for one-off commands and sysadmin
scripts, then I kind of prefer Ruby over Python and Perl for expressiveness
and readability. Most Rubyists are of the Rails persuasion, but I still have
never learned Rails.

------
rmanocha
I would also add that a newbie should check out clojure-koans
(<https://github.com/functional-koans/clojure-koans#readme>) and try to solve
some of the Project Euler problems (<http://projecteuler.net/problems>). Both
of these have been great resources for me to get the basics of the language.

