I've browsed a bit online, read some of the wikibook articles, and
Mark Volkmann's excellent summary, but I'd like to dig a bit deeper
(as I say, particularly around libraries and environment, less on how
to program in a lisp-like language). Ideally, in a form that I can
read offline (printable/PDF documents, or books) as I've got limited
free time I can spend in front of a computer screen. I've got a sample
program I have tried porting from Python - the experience was
interesting, but limited (the core of the relatively complex
multithreaded database monitoring process converted to 47 lines of
Clojure...!!!)
Has anybody got any good suggestions as to where I should go next?
I've considered getting one of the Manning books (The Joy of Clojure
or Clojure in Action) but I'm not sure which would be better for me -
they seem broadly similar, with Clojure in Action looking like a
slightly better fit for my needs, but I'd appreciate any
comments/recommendations). Also, I wonder whether there's some
Java-based documentation that would be worth my while investigating. I
suspect that it'd be very easy to get sucked into a huge amount of
detail which is only tangentially related at best, but I'm sure an
overview would help.
Thanks for any suggestions,
Paul.
So, where should you get started? I can think of a couple good things
to do to start.
1. Pick an IDE and stick with it. I'd recommend ClojureBox if you're
interested in Clojure only, or NetBeans + Enclojure if you want to
learn some about Java too. In fact, NetBeans is probably a better
place to start.
2. If you're looking for a dead tree reference, Halloway's book
Programming Clojure is a great start. I'd recommend it to anyone not
named Rich Hickey. Also, I strongly recommend Core Java Volumes I &
II from Horstmann & Cornell to get started with Java.
3. Once you start to play around with the examples in a REPL, take a
look at some of the material here:
http://news.ycombinator.com/item?id=1033503
4. Find a project & start playing. The best way to learn is by
doing, after all :)
Sean
I am also a newbie, but have been approaching thsi for the other
direction - knowing Java and not knowing Lisp or any other FP
language.
What I have found is that I really strive to spend most of my time in
Clojure, not Java. Hence I only really use java when I *have* to.
And even then, all I ever do is instantiate a class or 2 and call a
method.
I do not use swing (java GUI package) and have not (so far) found the
need for much else. I would go online and read an intro tutorial or
two for Java just to familiarize yourself with the basic constructs.
I would also browse the java API at http://java.sun.com/javase/6/docs/api/
. I think that you will find that you can learn the java you need on
the fly.
Regarding Clojure I got Stuart Halloway's book Programming Clojure
( http://pragprog.com/titles/shcloj/programming-clojure ) and it was
fantastic because it gave me a strong intro really quickly. What I
didn't expect is how many times I have fond myself going back to the
book. It has more advanced concepts (at least for me... !) that I
didn't pick up on when I first was starting. This has been a real
bonus for me.
Also, I spend a *lot* of time on this site and ask a lot of really
dumb questions. Clojure has the best group support by far of any
language I have ever seen. The people on this board are truly
amazingly helpful and patient - even with us newbies :)
The hardest part for me was getting things configured. It is really
confusing - particularly if you have no background to java. Most of
the users here use emacs for their IDE. If you know emacs you can
certainly try that. There is Clojure in a Box that is a self
contained package If you do not use emacs ( I do not - it is too damn
confusing for me) then i recommend using and IDE that has clojure
support. There is one for Netbeans called Enclojure. I use Eclipse
and a plugin called CounterClockwise. I really like it.
Stu Halloway has a great starting tutorial with instructions on how to
get up to speed and has a series of tutorials via a web server
(integrated into the app). It is located at:
http://github.com/relevance/labrepl
This is where I would start. It has helped me out immensely.
Cheers
Base
On May 27, 6:53 am, Paul Moore <p.f.mo...@gmail.com> wrote:
2010/5/27 Base <basse...@gmail.com>:
> --
> 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
Thanks!
> 1. Pick an IDE and stick with it. I'd recommend ClojureBox if you're
> interested in Clojure only, or NetBeans + Enclojure if you want to
> learn some about Java too. In fact, NetBeans is probably a better
> place to start.
I don't really like IDEs, I'm a text editor sort of person, I'm
afraid. I'll be using Vim to write my code, unless someone gives me
very strong reasons to do otherwise. And to be honest, if I can't code
in clojure using Vim, I'd be assuming clojure isn't for me, I'm
afraid.
> 2. If you're looking for a dead tree reference, Halloway's book
> Programming Clojure is a great start. I'd recommend it to anyone not
> named Rich Hickey. Also, I strongly recommend Core Java Volumes I &
> II from Horstmann & Cornell to get started with Java.
Thanks for the references. I'd been under the impression that
Programming Clojure was more a language tutorial. Looks like I was
wrong - I'll check it out!
While the Java books look good, I'm not sure how useful they will be.
I have (a fairly old copy of) "Java in a Nutshell" and a couple of
other ones, and I'm really not a fan of Java the language - so I don't
want to invest too heavily in Java books unless they are going to be
useful from a clojure point of view. I'll keep them in mind, though.
(Basically, I'd rather get Java background from something downloadable
for free).
> 3. Once you start to play around with the examples in a REPL, take a
> look at some of the material here:
>
> http://news.ycombinator.com/item?id=1033503
Nice link, thanks!
> 4. Find a project & start playing. The best way to learn is by
> doing, after all :)
Absolutely - I'm planning on building up my database monitoring app as
a starter. I also have a couple of other testbed applications I'd like
to try. On that note, are there good (java|clojure) libraries I should
look at for:
- command line argument handling (getopt style option handling)
- simple parsing (suitable for something like a small expression parser)
Thanks again,
Paul.
Another recommendation! Looks like that's definite then :-) Thanks.
> Also, I spend a *lot* of time on this site and ask a lot of really
> dumb questions. Clojure has the best group support by far of any
> language I have ever seen. The people on this board are truly
> amazingly helpful and patient - even with us newbies :)
Reassuring to know. As I suspect my dumb questions will be heavily
JVM-biased ("What's a classpath?") I'll probably need all the patience
people can muster!
Actually here's a JVM sort of question to start off with. To run my
little database monitor script on Windows, I use a command line
java -cp clojure.jar;clojure-contrib.jar;D:\Oracle\product\10.2.0\client_1\jdbc\lib\classes12.jar
clojure.main db.clj
That's a pretty hairy command line, just to run a script with no
parameters! What's the best way to tidy this up (on the Windows
command line)? I'd prefer not to wrap it in a batch file for a couple
of reasons - two files to maintain, and batch files have some
irritating properties on Windows.
For the script, I can associate "java -cp clojure.jar clojure.main %*"
with the .clj extension and that's OK, But is there a way of adding
the references to the other jars from within the script, so I don't
need to specify the classpath on the command line?
> The hardest part for me was getting things configured. It is really
> confusing - particularly if you have no background to java. Most of
> the users here use emacs for their IDE. If you know emacs you can
> certainly try that. There is Clojure in a Box that is a self
> contained package If you do not use emacs ( I do not - it is too damn
> confusing for me) then i recommend using and IDE that has clojure
> support. There is one for Netbeans called Enclojure. I use Eclipse
> and a plugin called CounterClockwise. I really like it.
As a non-Java user, I'm strongly averse to the various IDEs.
Personally, I'm a Vim user and I like to do my compiling from the
command line. Hopefully, the "bare metal" approach won't get me into
too much trouble!
> Stu Halloway has a great starting tutorial with instructions on how to
> get up to speed and has a series of tutorials via a web server
> (integrated into the app). It is located at:
>
> http://github.com/relevance/labrepl
>
> This is where I would start. It has helped me out immensely.
That looks like a great resource! Thanks!
Paul.
Ta. Any way of downloading these to watch on my iPod? As I say, I have
limited opportunities to sit in front of a PC to read/watch training
stuff.
Paul.
I make them available CC BY-NC-SA, so download away. You'll need a
vimeo account (free) to download them, though.
Sean
On Thu, May 27, 2010 at 05:09:23PM +0100, Paul Moore wrote:
> I don't really like IDEs, I'm a text editor sort of person, I'm
> afraid. I'll be using Vim to write my code, unless someone gives me
> very strong reasons to do otherwise. And to be honest, if I can't code
> in clojure using Vim, I'd be assuming clojure isn't for me, I'm
> afraid.
There is VimClojure:
http://www.vim.org/scripts/script.php?script_id=2501
I suggest to stay away from the nailgun server for the beginning.
<C-n> completion, syntax highlighting and indenting work very well
without it.
There is a separate group for it:
http://groups.google.com/group/vimclojure
In case of problems, you can drop me an email or try to catch
me on IRC (kotarak on #clojure).
Sincerely
Meikel
What real helped me to start thinking in "The Clojure Way" are the
Talks that Rich gave. You can find some of them here
http://clojure.blip.tv/posts?view=archive&nsfw=dc
I think you should check out the "Clojure for Lisp Porgrammers Part 1
and 2". In talks he goes deeper because he does not have to explain al
the Basics of Lisp (like he head to in "Clojure for Java Programmer")
The others like "Clojure Sequences", "Clojure Data Structures" or
"Clojure Concurrency" and the really interesting too.
Then there are a couple of talks online on InfoQ. Here some links I
looked up but there is more.
http://www.infoq.com/interviews/hickey-clojure
http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey
regards
> --
> 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
--
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.
http://www.dpawson.co.uk
Ah, I hadn't realised that signing up got a download option. Thanks!
Paul.
Dave Pawson at "Thu, 27 May 2010 20:08:53 +0100" wrote:
DP> Is there a wiki where all these info sources could be collected please?
DP> Sounds really quite useful to the newbie.
Just FYI - I have special page (http://alexott.net/en/clojure/video.html)
with links to video lectures/screencasts about Clojure
--
With best wishes, Alex Ott, MBA
http://alexott.blogspot.com/ http://alexott.net
http://alexott-ru.blogspot.com/
Thanks Alex.
How to link to it from the clojure setup?
regards
Dave Pawson at "Fri, 28 May 2010 08:56:40 +0100" wrote:
DP> On 28 May 2010 08:30, Alex Ott <ale...@gmail.com> wrote:
>> Re all
>>
>> Dave Pawson at "Thu, 27 May 2010 20:08:53 +0100" wrote:
>> DP> Is there a wiki where all these info sources could be collected please?
>> DP> Sounds really quite useful to the newbie.
>>
>> Just FYI - I have special page (http://alexott.net/en/clojure/video.html)
>> with links to video lectures/screencasts about Clojure
DP> Thanks Alex.
DP> How to link to it from the clojure setup?
I don't know - we could ask Rich (or somebody else) to add link to this page