Re: Clojure's n00b attraction problem

2010-07-06 Thread Gregg Williams
This thread has prompted me to accelerate my work on a wiki for
Clojure beginners. It's now up, with a discussion forum, a way for you
to contribute articles, and a link to my delicious.com Clojure links
(over 160!). Please check it out at

   - http://www.gettingclojure.com

Please check it out. I want to help create the beginner's site I never
had! (More content coming from me, but slowly)

--Gregg Williams

On Jun 27, 2:58 pm, Greg  wrote:
> This weekend I've been diving head-first into Clojure, and I've documented a 
> lot of the sticking points that I've run into as a n00b.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-07-01 Thread Alessio Stalla
On Jun 30, 10:41 pm, Phil Hagelberg  wrote:
> I wasn't complaining about what you said; I was just glad someone else
> was recognizing that talk is cheap and effort is not.

Ok, sorry, I misinterpreted your words.

Peace,
Alessio

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-07-01 Thread Greg
> For the time being, you could use nailgun.  My clj script uses nailgun
> and for a warm start I can run clj -e "(System/exit 0)" in 20
> milliseconds.

Nice idea! I've incorporated it into my clj script as well:

http://www.taoeffect.com/other/clj.lsp.html

Run it with clj -ng and it will start the server for you if it's not already 
running, and then it will run clojure using the 'ng' command.

Even without the -ng flag, it will check if the server is already running and 
will use it if it is (unless you specify -nng, or "no-nailgun").

On Jun 30, 2010, at 4:42 PM, Brian Goslinga wrote:

> On Jun 30, 12:50 pm, David Nolen  wrote:
>> On Wed, Jun 30, 2010 at 1:42 PM, cageface  wrote:
>>> I don't know what the implementation plans are exactly for clojure-in-
>>> clojure but abandoning the JVM would be extremely unwise.
>> 
>> Clojure-in-Clojure isn't about abandoning the JVM. It's about implementing
>> more of Clojure in itself. This has several benefits, *one* of which is
>> making it easier to port Clojure to other platforms.
>> 
>> For example, I would love to see some portion of Clojure run on a platform
>> that has much faster boot times so I can use Clojure for one-off shell
>> scripts.
>> 
>> David
> For the time being, you could use nailgun.  My clj script uses nailgun
> and for a warm start I can run clj -e "(System/exit 0)" in 20
> milliseconds.
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-07-01 Thread Heinz N. Gies
Okay my 2 cent, just because I like long threads:

Clojure as 2 'noob attraction problems'

1) it has no simple setup that just works (I wonder if I can say 'just works' 
too often but I doubt it). Neither EMACS, nor Eclips, nor Netbeans, nor 
IntelliJ just work all have their quirks and most of them I personally found 
rather annoying especially if you just want to learn

2) It is not actually a clojure problem, but the noobs are not actually noobs, 
they are 'posioned' by a Java and C# world where they are told to make objects 
instead of anonymous functions and that you can't do Integer + int but need to 
wrap it in ugly type casts (I know that ain't true any more but show me one IT 
teacher at highschools who actually knows what is up to date and does not teach 
with rather prehistoric methods - I had IT with Modula (I doubt many of you 
even know what this is) and that isn't that long ago!). Don't get me wrong many 
of the things people learn are still good but,  big BUT, clojure is a lisp and 
that makes it different and for many simple minded individuals different is 
bad. I claim if you start to teach someone programming (who hasn't seen Java, 
C#, Ruby, Perl or whatever before) with Clojure there isn't that big of a noob 
problem. Our noob problem is that this sneaky people aren't as nooby as they 
claim, they are semi noobs! We should shoot them all, okay just kidding here :) 
no they are more then welcome just it is a different set of problem in my eyes.

Regards,
Heinz

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread cageface
On Jun 30, 5:15 pm, Chas Emerick  wrote:
> An oldie-but-goodie post from Chouser talking about what clojure-in-
> clojure is and why it matters:
>
> http://blog.n01se.net/?p=41

To quote:
"But a more fascinating benefit is that porting Clojure to non-JVM
targets will be much easier. The majority of the effort so far put
into ClojureCLR and ClojureScript has been rewriting the data
structures for the target platform. This has required a lot of hand-
written C# and JavaScript (respectively) all of which can become
quickly obsolete as changes are made to the primary Java versions."

... stuff about running on Parrot etc...

Presumably over time we'll have more pure clojure-layers over the ugly
java libs. Having to maintain a port version of each of these wrappers
for C# and JS and any other target sounds like a lot of unpleasant
grunt work to me. I've been working on wrapping the JNDI stuff up in a
less retarded interface, for example, but I'm definitely not going to
take the time to port it to C# and JS is obviously out so that's at
least one tiny step towards a fractured clojure world.

I sure don't have fond memories of dropping #+sbcl and #+cmu and #
+allegro readers all over my CL code to make all the different CL
implementations happy and I don't anticipate much joy in a similarly
balkanized clojure world. A clojure written mostly in clojure but
still exclusively a jvm lang makes sense but the rest of this just
sounds like idle hackery for its own sake. Far be it from me to
condemn consenting adults for the ways they choose to spend their
spare time though.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Chas Emerick
That's a great first start.  My only initial comment would be that  
Clojure is a lisp, or maybe a Lisp, but it's definitely not a LISP. ;-)


- Chas

On Jun 30, 2010, at 8:11 PM, Mike Meyer wrote:


Ok, my turn to contribute something more than just messages. Still
just talking, though.

http://www.mired.org/home/mwm/papers/simple-clojure.html

is a writeup on how to get as much out of clojure as possible with a
minimal amount of Java infrastructure knowledge. It's still a WIP, so
feedback, corrections, etc. are welcome.

  http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more  
information.


O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Chas Emerick
Not one person has ever said *anything* about Clojure not  
interoperating smoothly with Java, or abandoning the JVM.  Suggesting,  
implying, or speculating about anything otherwise, bluntly or not, is  
sort of laughable given how much work Rich has been putting into 1.2  
(and later, with the equiv/prim/etc stuff) getting *closer* to the JVM  
(with e.g. deftype/record/interface), and therefore clojure-in-clojure.


An oldie-but-goodie post from Chouser talking about what clojure-in- 
clojure is and why it matters:


http://blog.n01se.net/?p=41

And, if writing data structures and such in Clojure that have perf  
characteristics identical to those written in Java isn't "getting  
anything done", I need a drink. :-P


- chas

On Jun 30, 2010, at 1:42 PM, cageface wrote:


To put it more bluntly - the day that clojure no longer interoperates
smoothly with java is the day it becomes useless to me. I'm all for
hiding the guts from beginners but it's going to be a good long while
before you can actually get anything done with clojure without
directly interfacing with java.

I don't know what the implementation plans are exactly for clojure-in-
clojure but abandoning the JVM would be extremely unwise.


--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Mike Meyer
Ok, my turn to contribute something more than just messages. Still
just talking, though.

http://www.mired.org/home/mwm/papers/simple-clojure.html

is a writeup on how to get as much out of clojure as possible with a
minimal amount of Java infrastructure knowledge. It's still a WIP, so
feedback, corrections, etc. are welcome.

 http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Greg
> Point is, I'd rather just use Clojure.


Ah, well in that case, have you tried using Nailgun?

http://martiansoftware.com/nailgun/index.html

On Jun 30, 2010, at 3:34 PM, David Nolen wrote:

> On Wed, Jun 30, 2010 at 1:55 PM, Greg  wrote:
>> For example, I would love to see some portion of Clojure run on a platform 
>> that has much faster boot times so I can use Clojure for one-off shell 
>> scripts.
> 
> I've mentioned this before, but I can't help myself as I see lots of people 
> who want to use Clojure for scripting but complain about its boot times (no 
> duh :-p), but there's an awesome Lisp-based scripting language called newLISP 
> you might want to check out:
> 
> http://www.newlisp.org
> 
> I don't need to use Clojure for shell scripting. I mostly use it for long 
> running processes. But it would be nice. 
> 
> Sure I could use newLISP, but I could also just as well use PLT Scheme / 
> Racket. 
> 
> Point is, I'd rather just use Clojure.
> 
> David 
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-30 Thread Kevin Downey
won't someone please think of the children?

On Wed, Jun 30, 2010 at 1:42 PM, Brian Goslinga
 wrote:
> On Jun 30, 12:50 pm, David Nolen  wrote:
>> On Wed, Jun 30, 2010 at 1:42 PM, cageface  wrote:
>> > I don't know what the implementation plans are exactly for clojure-in-
>> > clojure but abandoning the JVM would be extremely unwise.
>>
>> Clojure-in-Clojure isn't about abandoning the JVM. It's about implementing
>> more of Clojure in itself. This has several benefits, *one* of which is
>> making it easier to port Clojure to other platforms.
>>
>> For example, I would love to see some portion of Clojure run on a platform
>> that has much faster boot times so I can use Clojure for one-off shell
>> scripts.
>>
>> David
> For the time being, you could use nailgun.  My clj script uses nailgun
> and for a warm start I can run clj -e "(System/exit 0)" in 20
> milliseconds.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en



-- 
And what is good, Phaedrus,
And what is not good—
Need we ask anyone to tell us these things?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Brian Goslinga
On Jun 30, 12:50 pm, David Nolen  wrote:
> On Wed, Jun 30, 2010 at 1:42 PM, cageface  wrote:
> > I don't know what the implementation plans are exactly for clojure-in-
> > clojure but abandoning the JVM would be extremely unwise.
>
> Clojure-in-Clojure isn't about abandoning the JVM. It's about implementing
> more of Clojure in itself. This has several benefits, *one* of which is
> making it easier to port Clojure to other platforms.
>
> For example, I would love to see some portion of Clojure run on a platform
> that has much faster boot times so I can use Clojure for one-off shell
> scripts.
>
> David
For the time being, you could use nailgun.  My clj script uses nailgun
and for a warm start I can run clj -e "(System/exit 0)" in 20
milliseconds.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Phil Hagelberg
>> > Thank you. I'm hearing a lot of "somebody should do $X" in this thread
>> > and precious little "I'm going to help by doing $X".
>>
>> > The former is useless; please stop it.
>>
>> Or rather to be less harsh: the former has been discussed to death by
>> this point and is no longer helpful.
>
> I'm not sure I get your point. I didn't mean to say "somebody should
> do X, but not me"; I mean that if nobody does X, it's because
> ultimately nobody is sufficiently interested in X to do it himself or
> pay someone else to do it. It's easy to complain if X is missing, it's
> a bit harder to work towards making X exist.

I wasn't complaining about what you said; I was just glad someone else
was recognizing that talk is cheap and effort is not.

-Phil

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread David Nolen
On Wed, Jun 30, 2010 at 1:55 PM, Greg  wrote:

> For example, I would love to see some portion of Clojure run on a platform
> that has much faster boot times so I can use Clojure for one-off shell
> scripts.
>
>
> I've mentioned this before, but I can't help myself as I see lots of people
> who want to use Clojure for scripting but complain about its boot times (no
> duh :-p), but there's an awesome Lisp-based scripting language called
> newLISP you might want to check out:
>
> http://www.newlisp.org
>

I don't need to use Clojure for shell scripting. I mostly use it for long
running processes. But it would be nice.

Sure I could use newLISP, but I could also just as well use PLT Scheme /
Racket.

Point is, I'd rather just use Clojure.

David

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-30 Thread Alessio Stalla


On 30 Giu, 18:35, Phil Hagelberg  wrote:
> On Wed, Jun 30, 2010 at 9:27 AM, Phil Hagelberg  wrote:
> > On Wed, Jun 30, 2010 at 12:24 AM, Alessio Stalla
> >  wrote:
> >> That doesn't mean that a one-
> >> click-install for a Lisp with an IDE and some popular libraries
> >> preinstalled wouldn't be useful - it would be great! But who is going
> >> to maintain it? If you pay me well enough, I'll do it, I promise :)
> >> but until then, no one will do it unless he is so interested in having
> >> a newbie-friendly Lisp that he'll spend part of his free time for
> >> that. Are you that individual?
>
> > Thank you. I'm hearing a lot of "somebody should do $X" in this thread
> > and precious little "I'm going to help by doing $X".
>
> > The former is useless; please stop it.
>
> Or rather to be less harsh: the former has been discussed to death by
> this point and is no longer helpful.

I'm not sure I get your point. I didn't mean to say "somebody should
do X, but not me"; I mean that if nobody does X, it's because
ultimately nobody is sufficiently interested in X to do it himself or
pay someone else to do it. It's easy to complain if X is missing, it's
a bit harder to work towards making X exist.

Cheers,
Alessio

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Greg
> For example, I would love to see some portion of Clojure run on a platform 
> that has much faster boot times so I can use Clojure for one-off shell 
> scripts.

I've mentioned this before, but I can't help myself as I see lots of people who 
want to use Clojure for scripting but complain about its boot times (no duh 
:-p), but there's an awesome Lisp-based scripting language called newLISP you 
might want to check out:

http://www.newlisp.org

On Jun 30, 2010, at 1:50 PM, David Nolen wrote:

> On Wed, Jun 30, 2010 at 1:42 PM, cageface  wrote:
> I don't know what the implementation plans are exactly for clojure-in-
> clojure but abandoning the JVM would be extremely unwise.
> 
> Clojure-in-Clojure isn't about abandoning the JVM. It's about implementing 
> more of Clojure in itself. This has several benefits, *one* of which is 
> making it easier to port Clojure to other platforms.
> 
> For example, I would love to see some portion of Clojure run on a platform 
> that has much faster boot times so I can use Clojure for one-off shell 
> scripts.
> 
> David 
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-30 Thread RobertLJ
Well said Phil. I would like to volunteer to help.  It just so happen
that I have some time to help work on  a solution.  I am going to take
a few days to do some research before starting. Any help that the
clojure community can give me would gladly be apreciated

Robert

On Jun 30, 12:35 pm, Phil Hagelberg  wrote:
> On Wed, Jun 30, 2010 at 9:27 AM, Phil Hagelberg  wrote:
> > On Wed, Jun 30, 2010 at 12:24 AM, Alessio Stalla
> >  wrote:
> >> That doesn't mean that a one-
> >> click-install for a Lisp with an IDE and some popular libraries
> >> preinstalled wouldn't be useful - it would be great! But who is going
> >> to maintain it? If you pay me well enough, I'll do it, I promise :)
> >> but until then, no one will do it unless he is so interested in having
> >> a newbie-friendly Lisp that he'll spend part of his free time for
> >> that. Are you that individual?
>
> > Thank you. I'm hearing a lot of "somebody should do $X" in this thread
> > and precious little "I'm going to help by doing $X".
>
> > The former is useless; please stop it.
>
> Or rather to be less harsh: the former has been discussed to death by
> this point and is no longer helpful.
>
> -Phil

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Avram
 > Javascript is a nice thought too.

I haven't tried it but there is a library for generating javascript
from clojure forms...
http://github.com/arohner/scriptjure#readme

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Nicolas Oury
On Wed, Jun 30, 2010 at 6:42 PM, cageface  wrote:

>
> To put it more bluntly - the day that clojure no longer interoperates
> smoothly with java is the day it becomes useless to me. I'm all for
> hiding the guts from beginners but it's going to be a good long while
> before you can actually get anything done with clojure without
> directly interfacing with java.
>

Nobody thinks about that. It's just about allowing lower level (at the
object level and not the abstract sequences level) code to be written
without having to use Java.

One of the many benefits is more portability, for those that are interested.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-30 Thread David Nolen
On Wed, Jun 30, 2010 at 1:42 PM, cageface  wrote:

> I don't know what the implementation plans are exactly for clojure-in-
> clojure but abandoning the JVM would be extremely unwise.


Clojure-in-Clojure isn't about abandoning the JVM. It's about implementing
more of Clojure in itself. This has several benefits, *one* of which is
making it easier to port Clojure to other platforms.

For example, I would love to see some portion of Clojure run on a platform
that has much faster boot times so I can use Clojure for one-off shell
scripts.

David

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-30 Thread cageface
On Jun 30, 10:17 am, Sean Allen  wrote:
> The larger the clojure community gets, the more you should be prepared
> for those dogs then.

To put it more bluntly - the day that clojure no longer interoperates
smoothly with java is the day it becomes useless to me. I'm all for
hiding the guts from beginners but it's going to be a good long while
before you can actually get anything done with clojure without
directly interfacing with java.

For example, I'm using clojure for two things at work: replicating
data between a sybase and oracle DB and syncing data from ldap to an
xml-rpc client and a proprietary calendaring solution with it's own
java api. I can defend my use of clojure here because it's actually
better than python at this - faster and with more mature drivers and
able to invoke java apis directly. My code is full of direct calls to
various java methods, invocations of java constructors etc. Without
clojure's excellent java support it would be off the table as an
option for this project and without decent knowledge of java I
wouldn't be able to use it. I suspect most of the non-trival tasks for
which other people are using clojure rely on a number of java
libraries for which no clojure wrapper exists and I don't think is
likely to change soon or even that we *should* wrap everything.

I don't know what the implementation plans are exactly for clojure-in-
clojure but abandoning the JVM would be extremely unwise.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Sean Allen
On Wed, Jun 30, 2010 at 12:56 PM, cageface  wrote:
> On Jun 29, 10:50 pm, Sean Allen  wrote:
>> So those who left Java behind years ago but like Lisps in general and Clojure
>> in particular and want to minimize their contact with Java, where do
>> they fit in your view?
>> Enemies of the proper use of Clojure? Destroyers of the future?
>
> Dogs barking up the wrong tree.
>

The larger the clojure community gets, the more you should be prepared
for those dogs then.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread cageface
On Jun 29, 10:50 pm, Sean Allen  wrote:
> So those who left Java behind years ago but like Lisps in general and Clojure
> in particular and want to minimize their contact with Java, where do
> they fit in your view?
> Enemies of the proper use of Clojure? Destroyers of the future?

Dogs barking up the wrong tree.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Phil Hagelberg
On Wed, Jun 30, 2010 at 9:27 AM, Phil Hagelberg  wrote:
> On Wed, Jun 30, 2010 at 12:24 AM, Alessio Stalla
>  wrote:
>> That doesn't mean that a one-
>> click-install for a Lisp with an IDE and some popular libraries
>> preinstalled wouldn't be useful - it would be great! But who is going
>> to maintain it? If you pay me well enough, I'll do it, I promise :)
>> but until then, no one will do it unless he is so interested in having
>> a newbie-friendly Lisp that he'll spend part of his free time for
>> that. Are you that individual?
>
> Thank you. I'm hearing a lot of "somebody should do $X" in this thread
> and precious little "I'm going to help by doing $X".
>
> The former is useless; please stop it.

Or rather to be less harsh: the former has been discussed to death by
this point and is no longer helpful.

-Phil

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Phil Hagelberg
On Wed, Jun 30, 2010 at 12:24 AM, Alessio Stalla
 wrote:
> That doesn't mean that a one-
> click-install for a Lisp with an IDE and some popular libraries
> preinstalled wouldn't be useful - it would be great! But who is going
> to maintain it? If you pay me well enough, I'll do it, I promise :)
> but until then, no one will do it unless he is so interested in having
> a newbie-friendly Lisp that he'll spend part of his free time for
> that. Are you that individual?

Thank you. I'm hearing a lot of "somebody should do $X" in this thread
and precious little "I'm going to help by doing $X".

The former is useless; please stop it.

-Phil

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Nicolas Oury
On Wed, Jun 30, 2010 at 4:35 AM, Greg  wrote:

>
> As far as I understand, Clojure will be able to interop with Java even when
> Clojure-in-Clojure happens, so there's nothing to worry about.
>
> I'm quite excited about Clojure-in-Clojure. The possibilities that will
> offer are awesome. I'm looking forward to the day when it runs on LLVM. If
> that happens. :-)


Javascript is a nice thought too.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-30 Thread Chas Emerick


On Jun 30, 2010, at 4:09 AM, Paul Moore wrote:


Based on this comment, maybe I could ask an alternative question - can
you suggest where I should go to read some tutorials which would give
me a fast start on "just enough" Java infrastructure to get
comfortable in Clojure? Most of the Java tutorials I've seen tend to
assume I want to learn Java - I know enough Java to read code samples,
and that'll do for what I want.


Off the top of my head, the only "must have" piece of knowledge is how  
namespaces and source files relate to the classpath, which is  
described here:


http://clojure.org/libs

If you're not clear on what the classpath is: in rough terms, it's the  
same as PATH or PYTHONPATH, but can include .jar and .zip files as  
additional search roots, and all JVM resources are loaded from it.   
Classes (and namespaces) are loaded using a path corresponding to  
their full name, with each name segment corresponding to a path segment.


In short, put all your source files in directories corresponding to  
their namespace segments within a 'src' directory, make sure that  
'src' directory is on your classpath (java -cp src:clojure.jar  
clojure.main, for example), and you're good to go; require and use  
will work as they should.


Beyond that, you need to know about the underlying host to the extent  
that you use its facilities and libraries.  In that arena, the basics  
are:


(.methodName instance arg1 arg2 ...)
(ClassName/staticMethodName arg1 arg2 ...)
(ClassName. ctor-arg1 ctor-arg2 ...)

Other handy (and sometimes necessary, depending on what specific  
libraries, etc you're using) bits are described here:


http://clojure.org/java_interop

Cheers,

- Chas

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Paul Moore
On 29 June 2010 23:31, Sean Corfield  wrote:
> FWIW, I blogged a short step-by-step post on getting up and running
> with Leiningen to show some Clojure at the repl, run as a script and
> compiled to a JAR and run via java:
>
> http://corfield.org/blog/post.cfm/getting-started-with-clojure
>
> Bear in mind my blog audience is folks with some familiarity with Java...

That's nice! I never noticed lein repl before...

One thing I've found is that the experience (as described) is a lot
simpler on Unix/Linux/Mac than my experience on Windows. Part of the
reason may be that lein self-install doesn't work on Windows. I may
look into that.

I wonder - would a Windows installer package that installed clojure,
clojure-contrib and leiningen, and set up some basic paths and start
menu shortcuts be of use? I'm not a great fan of installers myself,
but I suspect that once I get a "clean" working environment set up for
myself, it wouldn't be a big step to package that up in an installer
so that others could use it.

Paul.

PS What are the standards for jar naming conventions? I have seen some
people use "clojure.jar" and others use "clojure-1.1.0.jar". Should I
have version numbers in my jar filenames? Is there a "Java best
practice" I should be referring to for things like this?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Paul Moore
On 30 June 2010 04:02, Jason Smith  wrote:
> So I'll say it again, it's just not that simple.  Unless you already
> know Java, and the only learning curve you face is the new features in
> Clojure.  Then it's not bad. But it does give you new ways to cut your
> foot off more quickly. :-)

An interesting alternative "not that simple" point of view, that it's
not Clojure's Lisp-like features that are the hard bit, but the Java
integration :-)

Based on this comment, maybe I could ask an alternative question - can
you suggest where I should go to read some tutorials which would give
me a fast start on "just enough" Java infrastructure to get
comfortable in Clojure? Most of the Java tutorials I've seen tend to
assume I want to learn Java - I know enough Java to read code samples,
and that'll do for what I want.

Paul.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Alessio Stalla
On Jun 30, 5:19 am, Michael Richter  wrote:
> On 30 June 2010 11:15, cageface  wrote:
>
> > On Jun 29, 6:25 pm, Michael Richter  wrote:
> > > Are you *trying* to evoke the "Smug Lisp Weenie" vibe, cageface, or is
> > this
> > > just a natural byproduct of being a burgeoning Smug Clojure Weenie?
>
> > How many times do I have to say I'm in favor of making things as easy
> > as possible for beginners before I'm exempt from this charge?
>
> You're exempt from this "charge" (I view it more as a "trivially obvious
> observation" myself) when you stop talking like a Smug Lisp Weenie.
>
> Hint: you're not coming across as a Smug Lisp Weenie because of the "make it
> as easy as possible for beginners" portion of your posts.

I'm a CLer, and I've been following Clojure's development for a while,
though I haven't used it yet. I agree that the answers you get from
experienced CLers sometimes contain a fair amount of smugness;
however, I suspect that the questions also play a role here... how
often are Java, C#, C++ people asked "why is Java/C#/C++ so hard for
newbies"? How do you think they'll answer the nth time that question
is made?
I also follow comp.lang.java.programmer for example: if you look at
there, most newbie questions are like "why doesn't such-and-such
work?" and are routinely answered along the lines of "first, sit down
and code a self-contained example of the problem, then post it here,
then, and only then, maybe someone will answer" - and no one
complains. Oh, and no one asks why Java is so hard, either. And Java
*is* hard, no matter what people think.
I suspect that's because most people who learn Java do so as part of
their job, they accept it's hard and spend a fair amount of time in
learning it. People who learn Lisp often do so in their free time, and
aren't prepared to spend time studying. That doesn't mean that a one-
click-install for a Lisp with an IDE and some popular libraries
preinstalled wouldn't be useful - it would be great! But who is going
to maintain it? If you pay me well enough, I'll do it, I promise :)
but until then, no one will do it unless he is so interested in having
a newbie-friendly Lisp that he'll spend part of his free time for
that. Are you that individual?

Cheers,
Alessio

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Sean Allen
>
> Tying the fortunes of Clojure to Java was a brilliant move and one
> that I've advocated for years but the trend I've seen lately to try to
> paper over the Java underpinnings of the language worries me, as does
> talk of making Clojure-in-Clojure. There's a small but viable market
> for people doing difficult things in a Java-flavored Lisp (Runa,
> Flightcaster, BackType etc), but this is where the future of Clojure
> lies - as a power tool for heavy lifting on the Java platform.
>

So those who left Java behind years ago but like Lisps in general and Clojure
in particular and want to minimize their contact with Java, where do
they fit in your view?
Enemies of the proper use of Clojure? Destroyers of the future?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Greg
> Tying the fortunes of Clojure to Java was a brilliant move and one
> that I've advocated for years but the trend I've seen lately to try to
> paper over the Java underpinnings of the language worries me, as does
> talk of making Clojure-in-Clojure. There's a small but viable market
> for people doing difficult things in a Java-flavored Lisp (Runa,
> Flightcaster, BackType etc), but this is where the future of Clojure
> lies - as a power tool for heavy lifting on the Java platform.

Worries you???

As far as I understand, Clojure will be able to interop with Java even when 
Clojure-in-Clojure happens, so there's nothing to worry about.

I'm quite excited about Clojure-in-Clojure. The possibilities that will offer 
are awesome. I'm looking forward to the day when it runs on LLVM. If that 
happens. :-)

- Greg

On Jun 29, 2010, at 11:15 PM, cageface wrote:

> On Jun 29, 6:25 pm, Michael Richter  wrote:
>> Are you *trying* to evoke the "Smug Lisp Weenie" vibe, cageface, or is this
>> just a natural byproduct of being a burgeoning Smug Clojure Weenie?
> 
> How many times do I have to say I'm in favor of making things as easy
> as possible for beginners before I'm exempt from this charge? How many
> decades does Lisp have to spend on the sidelines before Lispers admit
> that maybe, just maybe, it's not for everybody?
> 
> Tying the fortunes of Clojure to Java was a brilliant move and one
> that I've advocated for years but the trend I've seen lately to try to
> paper over the Java underpinnings of the language worries me, as does
> talk of making Clojure-in-Clojure. There's a small but viable market
> for people doing difficult things in a Java-flavored Lisp (Runa,
> Flightcaster, BackType etc), but this is where the future of Clojure
> lies - as a power tool for heavy lifting on the Java platform.
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread cageface
On Jun 29, 8:17 pm, Michael Richter  wrote:
> A good salesman also doesn't come across as smugly self-satisfied and
> projecting a sense of superiority.

I did a moderate amount of CL hacking in 2003-4 and I've been dipping
my toes back in lately with Clojure but I hardly count as a "lisp
weenie". I say Lisp and FP are hard not because I have mastered them
but because I am still learning and *I* have found them hard. From
what I've observed in other programmers I'm far from alone in this.

Honestly I think it's noobs like me that are going to make the most
difference in the near-term success of Clojure. We're the experienced
Python and Java and Ruby programmers in Chas' survey that are looking
for a better way to solve the problems we face in our work. We
recognize that languages like Clojure might be the answer, but also
that they require a new, different, and initially painful way of
thinking. We're motivated enough to get over hurdles like classpaths,
java installs, IDEs etc. and those of us that do have the
determination and ability to stick with it will be the ones that build
the killer app that puts Clojure in the spotlight. The reality is that
a lot of us are going to fall by the wayside. I was comfortable in
Ruby after a few weekends. I still struggle with FP & Lisp after 10
years of study. If you're one of those people to whom s-expr syntax,
recursion, immutability etc seem simple & natural and logical
congratulate yourself but also show some humility. You're the
exception, not the norm.

So, what do noobs like me need from Clojure? Honestly not much. The
tools are there to get real work done and because of Clojure I'm more
optimistic about Lisp than I've ever been. More extensive
documentation, a single blessed build tool, some tutorials on
protocols etc would all be welcome but the lack of these things isn't
stopping anybody that wouldn't have been stopped anyway.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Laurent PETIT
Hi,

2010/6/30 Michał Marczyk :
> [...]
> Then again, given that CCW has paredit built-in, I'm not going to
> claim Emacs is likely to be much better. (I actually find it simpler,
> but if the students in question have Java classes ahead of them / in
> parallel, they'll likely need an IDE anyway, so...) I wonder how much
> hassle it would be to provide Enclojure with an implementation too;
> perhaps I'll into this in the future.

I hope this will be possible in the future. I've done everything I
could think about to make it possible. paredit.clj is totally
decoupled from eclipse, and only depends on clojure and contrib (and
in its next version, from another clojure library which only depends
on clojure).

But I would suggest waiting a little bit more before digging into it,
because the new version will be far superior in terms of API and
implementation (not in term of features, in this release) to the
current one. If everything goes well, I'll eventually publish it to
clojars, of course.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-30 Thread Meikel Brandmeyer
Hi,

On Jun 30, 3:25 am, Michael Richter  wrote:

> I swear, step by step Clojure is falling into the Common Lisp death spiral.
>  As usual, too, it's the community at fault, not the creator.

Please keep the church in the town. The Clojure community is one of
the best and friendliest I had ever the honor of being part of. While
with increasing community size smugness creeps in, this is a) only
happening with singular persons (I'm guilty, myself) and b) not
exhibited by the "core" community - the gurus being around since the
first announcement.

As you might have noticed: from the "old guard" eg. Laurent and Chas
chimed in. And their answers were helpful and free of smugness. The
community is product of its members - "old" and "new" ones. So while
you are right: clojure *might* fall into the CL trap, and if so it's
the community's fault. But that is certainly far from what's happening
at the moment.

Sincerely
Meikel

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Mike Meyer
On Tue, 29 Jun 2010 20:02:14 -0700 (PDT)
Jason Smith  wrote:

> If you want to get the length of a String in Clojure, you have to read
> JavaDoc.

Huh?

bhuda% clj
Clojure 1.1.0
user=> (count "abcd")
4
user=> (count "ab")
2
user=> 

If that's your view of clojure, no wonder you think it can't be used
usefully without having to swallow Java.

http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

On Jun 29, 2010, at 11:02 PM, Jason Smith wrote:
> If you want to get the length of a String in Clojure, you have to read
> JavaDoc.  

user=> (count "abc")
3

user=> (doc count)
-
clojure.core/count
([coll])
  Returns the number of items in the collection. (count nil) returns
  0.  Also works on strings, arrays, and Java Collections and Maps
nil
user=> 

Or am I missing what you mean here? 

 -Lee

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Michał Marczyk
...and interfertilisation will bring us all Great Good.

M.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Michał Marczyk
On 30 June 2010 05:02, Jason Smith  wrote:
> So look, I think the actual CompSci guys (looking to teach) are asking
> for simplicity, and the Java guys are saying it's not that simple.

I think both sides have points valid *within the context in which they operate*.

> If you want to get the length of a String in Clojure, you have to read
> JavaDoc.  There are plugins for all the major IDEs that, more or less,
> work well enough for beginners.

(count "Huh?")

> One of the great strengths of Clojure, and what is going to make it
> hard for students who aren't already comfortable with Java, is that it
> not only integrates with Java, it depends on that integration.  So you
> have to know a lot about Java just to get started.

For certain kinds of "enterprisey" tasks, sure. For implementing a
bunch of interpreters to investigate various models of evaluation or
perhaps a genetic algorithms framework &c. -- not at all.

Let me QFT David's message:

On 30 June 2010 05:23, David Nolen  wrote:
> I dunno I find Clojure pretty simple and that generally you pay
> (cognitively) only for what you use.

Sincerely,
Michał

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread David Nolen
On Tue, Jun 29, 2010 at 11:04 PM, cageface  wrote:

> A language advocate is a salesman. A good salesman knows his product
> and his audience. Many here seem to have some extremely naive ideas
> about this. Push Clojure as a Python/Ruby/blub replacement and you'll
> get a inbox full of this kind of thing:
>
> http://www.benrady.com/2010/06/a-bit-of-heresy-functional-languages-are-overrated.html


Again the problem is Clojure's audience is quite diverse. Everyone from PL
hobbyists/enthusiasts, to web hackers, to people writing enterprise
software.

There are many Clojure advocates with many, equally valid diverse viewpoints
including your own.

I think a PHP hacker looking to replace his blub could just as easily enjoy
Clojure as easily as a Haskeller looking for something pragmatic that
interoperates well with the JVM.

David

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-29 Thread cageface
Let's rephrase this slightly. I completely agree with the spirit of
this article:
http://programmingzen.com/2008/10/26/what-arc-should-learn-from-ruby/

i.e. - That the tipping point for any language into wide use occurs
when it makes it significantly easier to solve a common, but painful
problem. For Ruby this was clearly Rails and webapps. What do you
think this might be for Clojure? In what application domain(s) will
the benefits outweigh the downsides of a new language? What kinds of
people will be working in those domains?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread David Nolen
On Tue, Jun 29, 2010 at 11:02 PM, Jason Smith  wrote:

> One of the great strengths of Clojure, and what is going to make it
> hard for students who aren't already comfortable with Java, is that it
> not only integrates with Java, it depends on that integration.  So you
> have to know a lot about Java just to get started.
>

I hardly know any Java and I've been using Clojure for my own small projects
for 2 years now.


> THEN you start adding in immutability, macros, concurrency, STM, etc.
> You may not have to cover the harder things right away, but you have
> to cover some of it, and this is in addition to the things that
> Clojure the language assumes you already know about Java.
>

I've hardly touched the concurrency features in any of my own projects. I've
used atoms and agents and rarely bother with the STM. I've only recently
begun to understand the benefits of immutability in pratice.  You don't need
to know how to write a macro to reap their benefits.

As far as Java you *used to* need to know something about the basic JVM
flags and the classpath. With lein, clj, and to some degree, IDEs, you can
mostly pretend they don't exist.


> So I'll say it again, it's just not that simple.  Unless you already
> know Java, and the only learning curve you face is the new features in
> Clojure.  Then it's not bad. But it does give you new ways to cut your
> foot off more quickly. :-)
>

I dunno I find Clojure pretty simple and that generally you pay
(cognitively) only for what you use.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-29 Thread Michael Richter
On 30 June 2010 11:15, cageface  wrote:

> On Jun 29, 6:25 pm, Michael Richter  wrote:
> > Are you *trying* to evoke the "Smug Lisp Weenie" vibe, cageface, or is
> this
> > just a natural byproduct of being a burgeoning Smug Clojure Weenie?
>


> How many times do I have to say I'm in favor of making things as easy
> as possible for beginners before I'm exempt from this charge?


You're exempt from this "charge" (I view it more as a "trivially obvious
observation" myself) when you stop talking like a Smug Lisp Weenie.

Hint: you're not coming across as a Smug Lisp Weenie because of the "make it
as easy as possible for beginners" portion of your posts.

-- 
"Perhaps people don't believe this, but throughout all of the discussions of
entering China our focus has really been what's best for the Chinese people.
It's not been about our revenue or profit or whatnot."
--Sergey Brin, demonstrating the emptiness of the "don't be evil" mantra.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-29 Thread Michael Richter
On 30 June 2010 11:04, cageface  wrote:

> A language advocate is a salesman. A good salesman knows his product
> and his audience.


A good salesman also doesn't come across as smugly self-satisfied and
projecting a sense of superiority.

Maybe you need a job in sales for a while.

-- 
"Perhaps people don't believe this, but throughout all of the discussions of
entering China our focus has really been what's best for the Chinese people.
It's not been about our revenue or profit or whatnot."
--Sergey Brin, demonstrating the emptiness of the "don't be evil" mantra.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-29 Thread cageface
On Jun 29, 6:25 pm, Michael Richter  wrote:
> Are you *trying* to evoke the "Smug Lisp Weenie" vibe, cageface, or is this
> just a natural byproduct of being a burgeoning Smug Clojure Weenie?

How many times do I have to say I'm in favor of making things as easy
as possible for beginners before I'm exempt from this charge? How many
decades does Lisp have to spend on the sidelines before Lispers admit
that maybe, just maybe, it's not for everybody?

Tying the fortunes of Clojure to Java was a brilliant move and one
that I've advocated for years but the trend I've seen lately to try to
paper over the Java underpinnings of the language worries me, as does
talk of making Clojure-in-Clojure. There's a small but viable market
for people doing difficult things in a Java-flavored Lisp (Runa,
Flightcaster, BackType etc), but this is where the future of Clojure
lies - as a power tool for heavy lifting on the Java platform.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread cageface
On Jun 29, 7:24 pm, Chas Emerick  wrote:
> More talking up the complexity of Clojure, to its detriment.  Stop  
> it.  Familiarity is not a metric that anyone is aiming at, least of  
> all the language principals -- capability in various axes is, and  
> that's what's attracting people from all sides.

A language advocate is a salesman. A good salesman knows his product
and his audience. Many here seem to have some extremely naive ideas
about this. Push Clojure as a Python/Ruby/blub replacement and you'll
get a inbox full of this kind of thing:
http://www.benrady.com/2010/06/a-bit-of-heresy-functional-languages-are-overrated.html

This *is* mostly tangential to the OP though. I don't think anybody is
arguing that there's anything wrong with making the initial user
experience as pain-free and rewarding as possible. Questions about the
scope of Clojure's audience will be answered in time.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Jason Smith
So look, I think the actual CompSci guys (looking to teach) are asking
for simplicity, and the Java guys are saying it's not that simple.

>From my perspective, I am steeped in Java, and I am looking for new
tools for my toolbelt. I can work with Eclipse or NetBeans, and I can
roll Clojure into existing programs where I need it.  It rolls right
into existing Maven and Ant.

If you want to get the length of a String in Clojure, you have to read
JavaDoc.  There are plugins for all the major IDEs that, more or less,
work well enough for beginners.

One of the great strengths of Clojure, and what is going to make it
hard for students who aren't already comfortable with Java, is that it
not only integrates with Java, it depends on that integration.  So you
have to know a lot about Java just to get started.

THEN you start adding in immutability, macros, concurrency, STM, etc.
You may not have to cover the harder things right away, but you have
to cover some of it, and this is in addition to the things that
Clojure the language assumes you already know about Java.

So I'll say it again, it's just not that simple.  Unless you already
know Java, and the only learning curve you face is the new features in
Clojure.  Then it's not bad. But it does give you new ways to cut your
foot off more quickly. :-)

On Jun 29, 8:24 pm, Chas Emerick  wrote:
> On Jun 29, 2010, at 6:30 PM, cageface wrote:
>
>
>
>
>
> > On Jun 29, 1:22 pm, Chas Emerick  wrote:
> >> Any talk about how Clojure might be "too much" for some, for whatever
> >> reason, is out of bounds IMO.  Clojure, as a language, is *simpler*
> >> than just about all of the popular alternatives out there, and the
> >> language is eminently approachable and practical for programmers from
> >> varying domains and with varying levels of experience.
>
> > It just isn't. Recursion, s-expr syntax, non-mutability, macros and
> > the difference between compilation and evaluation etc etc are just
> > *harder* for most people to understand than simple infix imperative
> > code. Even MIT has thrown in the towel in this battle and switched to
> > Python for the SICP courses. I remember having discussions with Peter
> > Siebel about this while he was working on his Lisp book. Like a lot of
> > Lisp lovers, he seemed to think that making Lisp popular was just a
> > matter of making people see how eminently logical and simple and
> > practical it is. It's not that easy.
>
> More talking up the complexity of Clojure, to its detriment.  Stop  
> it.  Familiarity is not a metric that anyone is aiming at, least of  
> all the language principals -- capability in various axes is, and  
> that's what's attracting people from all sides.
>
> FWIW, I was in the room at the 2009 ILC when Prof. Sussman addressed  
> the scheme -> python switch, and I spoke with him afterwards about it  
> as well:
>
> http://muckandbrass.com/web/x/zAAq
>
> The switch had nothing to do with language complexity.  This is all  
> totally besides the point.
>
> > Look at the results of your own usage poll. The top languages people
> > would use if Clojure were unavailable to them are:
> > 1. scala
> > 2. common lisp
> > 3. haskell
> > 4. scheme
>
> > These people just *aren't* the median. To insist otherwise is to live
> > in denial.
>
> Of course, participants in that survey were self-selected, and you  
> fail to mention that the majority of respondents had "come from" Java  
> (by a factor of 2 over the next most common response).  This is backed  
> up by my experience in talking with Clojure programmers more broadly,  
> including scads of people from "enterprisey" Java environments that  
> are looking at a lisp for the first time as providing a compelling  
> solutions to some of their problems.
>
> Are they the "elite" of the Java universe, simply because they came to  
> Clojure?  No, they're just early adopters, using a patchwork of  
> technologies to get their job done, and Clojure happens to hit a sweet  
> spot for them.  To insist otherwise is to aggrandize those that are  
> "in the club" at the detriment of all those that might come to join us  
> out of reasonable self-interest.
>
> - Chas

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Brian Schlining
>
>
> I swear, step by step Clojure is falling into the Common Lisp death spiral.
>  As usual, too, it's the community at fault, not the creator.
>
> Are you *trying* to evoke the "Smug Lisp Weenie" vibe, cageface, or is
> this just a natural byproduct of being a burgeoning Smug Clojure Weenie?
>

This seems like the proper time to refer folks to the programmer hierarchy
...
http://blog.linux-lancers.com/images/articles/2008/10/28/programmerhierarchy.jpg...
just in case you forget your proper place. ;-)

DISCLAIMER: I'm mostly a Java programmer, which puts me just above 'People
who insist on calling HTML a programming language.'

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-29 Thread Chas Emerick


On Jun 29, 2010, at 6:30 PM, cageface wrote:


On Jun 29, 1:22 pm, Chas Emerick  wrote:

Any talk about how Clojure might be "too much" for some, for whatever
reason, is out of bounds IMO.  Clojure, as a language, is *simpler*
than just about all of the popular alternatives out there, and the
language is eminently approachable and practical for programmers from
varying domains and with varying levels of experience.


It just isn't. Recursion, s-expr syntax, non-mutability, macros and
the difference between compilation and evaluation etc etc are just
*harder* for most people to understand than simple infix imperative
code. Even MIT has thrown in the towel in this battle and switched to
Python for the SICP courses. I remember having discussions with Peter
Siebel about this while he was working on his Lisp book. Like a lot of
Lisp lovers, he seemed to think that making Lisp popular was just a
matter of making people see how eminently logical and simple and
practical it is. It's not that easy.


More talking up the complexity of Clojure, to its detriment.  Stop  
it.  Familiarity is not a metric that anyone is aiming at, least of  
all the language principals -- capability in various axes is, and  
that's what's attracting people from all sides.


FWIW, I was in the room at the 2009 ILC when Prof. Sussman addressed  
the scheme -> python switch, and I spoke with him afterwards about it  
as well:


http://muckandbrass.com/web/x/zAAq

The switch had nothing to do with language complexity.  This is all  
totally besides the point.



Look at the results of your own usage poll. The top languages people
would use if Clojure were unavailable to them are:
1. scala
2. common lisp
3. haskell
4. scheme

These people just *aren't* the median. To insist otherwise is to live
in denial.


Of course, participants in that survey were self-selected, and you  
fail to mention that the majority of respondents had "come from" Java  
(by a factor of 2 over the next most common response).  This is backed  
up by my experience in talking with Clojure programmers more broadly,  
including scads of people from "enterprisey" Java environments that  
are looking at a lisp for the first time as providing a compelling  
solutions to some of their problems.


Are they the "elite" of the Java universe, simply because they came to  
Clojure?  No, they're just early adopters, using a patchwork of  
technologies to get their job done, and Clojure happens to hit a sweet  
spot for them.  To insist otherwise is to aggrandize those that are  
"in the club" at the detriment of all those that might come to join us  
out of reasonable self-interest.


- Chas

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Greg
I want to take your class! :-D

BTW, just one more nudge for IntelliJ. I don't know if you noticed this as 
well, but another thing that made me a real fan of it is its startup time 
compared to NetBeans and Eclipse. Is it me or is it a *lot* faster?

On Jun 29, 2010, at 8:58 PM, Lee Spector wrote:

> 
> On Jun 29, 2010, at 8:19 PM, Michał Marczyk wrote:
>> I think that an Edwin-like experience with Emacs would be perfectly
>> fine for newcomers to programming. [etc.]
> 
>> 
>> You could even spend some time (or have your TAs spend it) on a Q&A
>> session to address any Emacs configuration issues after, say, the
>> first week.
> 
> 
> I agree. It wouldn't be terrible (assuming clojure-mode), particularly for a 
> course in which everyone has some programming experience.
> 
> But an editor that obeys OS-standard-ish interface conventions (with at least 
> minimal language-awareness re: paren-matching & indentation), and that 
> doesn't require any special attention, would quite a bit better.
> 
> I'm happy because it's looking like there are a couple of options for this 
> that also provide a lot more (IDE features) and are also getting simpler to 
> set up and grok. Some (all?) of these do have a few more setup steps than I'd 
> like, for setting up the system in the first place and/or for setting up a 
> new project, and/or they require one to understand a few more Java project 
> organization concepts than I would like just to get started, but on balance I 
> think these IDEs are now looking better to me than an emacs-based approach.
> 
> I still have to re-evaluate the current versions of the IDEs to decide which 
> to use in the fall, and if the recent past is prologue they may get even 
> better before the semester starts.
> 
> -Lee
> 
> --
> Lee Spector, Professor of Computer Science
> School of Cognitive Science, Hampshire College
> 893 West Street, Amherst, MA 01002-3359
> lspec...@hampshire.edu, http://hampshire.edu/lspector/
> Phone: 413-559-5352, Fax: 413-559-5438
> 
> Check out Genetic Programming and Evolvable Machines:
> http://www.springer.com/10710 - http://gpemjournal.blogspot.com/
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Chas Emerick
We're safely into the weeds now.  I'm of two minds about continuing to  
participate in the thread since it's gone so far off the tracks, but  
here goes.


No language changes have been suggested or discussed -- everything's  
been in the realm of tooling, documentation, release process, etc. etc.


There's nothing to be gained from talking up the complexity of  
Clojure, real or imagined, no matter how good it might make you feel.   
Presumably you don't think your characterization could be taken as  
insulting by any number of people, and unfair to some I know  
personally that have impeccable technical capabilities but still have  
struggled getting started with Clojure.


The original blog post talked about the "big 3" IDEs (not Notepad),  
and I've used at least one of them daily for over 10 years now;  
perhaps I should upgrade from my zip-file-based version control as well?


No one would ask *you* to use documentation, tools, or other  
affordances in order to make using Clojure easier, but don't begrudge  
those that wish and ask for such things.


- Chas

On Jun 29, 2010, at 5:03 PM, Brian Hurt wrote:




On Tue, Jun 29, 2010 at 4:22 PM, Chas Emerick  
 wrote:


The discussion about newcomers is *not* about what one needs to know  
or should know in order to build über-complicated applications for  
deployment in "production" -- it's about what the learning curve  
looks and feels like to various constituencies.



No.  This discussion is/was about (non-specific) changes being  
proposed to Clojure.  And the making the word "constituencies"  
plural implies "more than one", when only one constituency has been  
advocated for in the entire discussion- the constituency of  
programmers whose heads explode if they are introduced to editors  
more complicated than notepad, version control more complicated than  
backing up floppy (USB keychain nowadays, I'd guess), build  
environments more complicated than "click run", and more than one  
choice in any of the above.


And before you get on me about my characterization here, these  
aren't the assumptions I'm making, these are assumptions other  
people in this thread (including the original blog post) are  
making.  They're just not phrased quite so bluntly.


Any talk about how Clojure might be "too much" for some, for  
whatever reason, is out of bounds IMO.  Clojure, as a language, is  
*simpler* than just about all of the popular alternatives out there,  
and the language is eminently approachable and practical for  
programmers from varying domains and with varying levels of  
experience.


Ignoring the Java side of things, and for a specific definition of  
"simple", this may be correct.  But you can't ignore the Java side  
of things when measuring complexity.  Even relatively simple things,  
like opening up a network socket, require you to interact with Java.


Ever seen the cockpit of a 747?

Brian


--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-29 Thread Michał Marczyk
On 30 June 2010 03:29, Lee Spector  wrote:
> I hadn't seen that and it's cute, but I also meant menus etc., which work for 
> people coming from any platform without learning key commands etc. The IDEs 
> seem to have this, as do the environments that have been mentioned for 
> beginners in other languages.

In a continuation of my effort to make Emacs look viable ;-), Emacs
does have a GUI with menus, scrollbars and a toolbar with buttons to
accomplish the basics, and in fact I have used menus as a "major mode
discovery" tool for a while. They're on by default too.

Then again, given that CCW has paredit built-in, I'm not going to
claim Emacs is likely to be much better. (I actually find it simpler,
but if the students in question have Java classes ahead of them / in
parallel, they'll likely need an IDE anyway, so...) I wonder how much
hassle it would be to provide Enclojure with an implementation too;
perhaps I'll into this in the future.

>> As a side note, I also hope that you'll post to the ggroup re: your
>> teaching experience at some point. :-)
>
> I plan to.

Great! Looking forward to it. :-)

Sincerely,
Michał

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Mike Meyer
On Wed, 30 Jun 2010 02:34:31 +0200
Michał Marczyk  wrote:
> On 29 June 2010 06:14, Michael Richter  wrote:
> > Ah.  The Clojure community has already started down the road to Common
> > Lisp-style, smugness-generated obscurity and disdain.  Bravo!  Well-played!
> Not at all. While we're discussing general beliefs regarding the
> possible target audience for Clojure (nb. put this way, this does seem
> kind of pointless, no?), all sorts of newcomers' questions are being
> answered -- here, on #clojure, on SO &c.

I've seen good results from this thread here: some new getting started
guides being written, some better options for editors for a class
turned up, etc.

I'm about half-way through my "getting started in clojure without
Java" writeup.

 http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

On Jun 29, 2010, at 9:10 PM, Michał Marczyk wrote:

> On 30 June 2010 02:58, Lee Spector  wrote:
>> But an editor that obeys OS-standard-ish interface conventions [etc.]
> 
> Would CuaMode [1] help?

I hadn't seen that and it's cute, but I also meant menus etc., which work for 
people coming from any platform without learning key commands etc. The IDEs 
seem to have this, as do the environments that have been mentioned for 
beginners in other languages.

> As a side note, I also hope that you'll post to the ggroup re: your
> teaching experience at some point. :-)

I plan to. 

Thanks!

 -Lee

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Michael Richter
On 30 June 2010 06:33, cageface  wrote:

> On Jun 29, 12:54 pm, Chas Emerick  wrote:
> > Indeed, there are many nontrivial personas that actively wish for a
> > smaller (or at least not maximally large), more exclusive community.
>
> Only a fool would actively wish for a smaller community. Some of just
> recognize that selling a sports car to grandma might not be in her or
> our best interests.
>
> Make Clojure as easy as possible for the beginner as long as you don't
> make it less useful for the expert in the process.


I swear, step by step Clojure is falling into the Common Lisp death spiral.
 As usual, too, it's the community at fault, not the creator.

Are you *trying* to evoke the "Smug Lisp Weenie" vibe, cageface, or is this
just a natural byproduct of being a burgeoning Smug Clojure Weenie?

-- 
"Perhaps people don't believe this, but throughout all of the discussions of
entering China our focus has really been what's best for the Chinese people.
It's not been about our revenue or profit or whatnot."
--Sergey Brin, demonstrating the emptiness of the "don't be evil" mantra.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-29 Thread Wilson MacGyver
> I still have to re-evaluate the current versions of the IDEs to decide which 
> to use in the fall, and if the recent past is prologue they may get even 
> better before the semester starts.

Just want to point out that intellij's la clojure plugin works just fine with 
the free opensource community edition.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Michał Marczyk
On 30 June 2010 02:58, Lee Spector  wrote:
> But an editor that obeys OS-standard-ish interface conventions (with at least 
> minimal language-awareness re: paren-matching & indentation), and that 
> doesn't require any special attention, would quite a bit better.

Would CuaMode [1] help?

> [...] but on balance I think these IDEs are now looking better to me than an 
> emacs-based approach.
>
> I still have to re-evaluate the current versions of the IDEs to decide which 
> to use in the fall, and if the recent past is prologue they may get even 
> better before the semester starts.

That's a valid approach too, of course, and I hope all the options
continue to evolve.

As a side note, I also hope that you'll post to the ggroup re: your
teaching experience at some point. :-)

Sincerely,
Michał

[1] http://www.emacswiki.org/CuaMode

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

On Jun 29, 2010, at 8:19 PM, Michał Marczyk wrote:
> I think that an Edwin-like experience with Emacs would be perfectly
> fine for newcomers to programming. [etc.]

> 
> You could even spend some time (or have your TAs spend it) on a Q&A
> session to address any Emacs configuration issues after, say, the
> first week.


I agree. It wouldn't be terrible (assuming clojure-mode), particularly for a 
course in which everyone has some programming experience.

But an editor that obeys OS-standard-ish interface conventions (with at least 
minimal language-awareness re: paren-matching & indentation), and that doesn't 
require any special attention, would quite a bit better.

I'm happy because it's looking like there are a couple of options for this that 
also provide a lot more (IDE features) and are also getting simpler to set up 
and grok. Some (all?) of these do have a few more setup steps than I'd like, 
for setting up the system in the first place and/or for setting up a new 
project, and/or they require one to understand a few more Java project 
organization concepts than I would like just to get started, but on balance I 
think these IDEs are now looking better to me than an emacs-based approach.

I still have to re-evaluate the current versions of the IDEs to decide which to 
use in the fall, and if the recent past is prologue they may get even better 
before the semester starts.

 -Lee

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Michał Marczyk
On 29 June 2010 06:14, Michael Richter  wrote:
> Ah.  The Clojure community has already started down the road to Common
> Lisp-style, smugness-generated obscurity and disdain.  Bravo!  Well-played!

Not at all. While we're discussing general beliefs regarding the
possible target audience for Clojure (nb. put this way, this does seem
kind of pointless, no?), all sorts of newcomers' questions are being
answered -- here, on #clojure, on SO &c.

I won't go and dig around for examples of such questions being
answered by the "elitist" contributors to this thread, but I find it
quite probable that such a search would not be in vain (nor would it
necessarily be particularly difficult).

I'm sure that some time from now, Clojure will have a nice ecosystem
of newcomer-friendly startup scripts, improved development experience
(including the setup part) &c. while having continued to be useful to
those always on the lookout for new concepts, more expressive power
etc. Then the non-believers in the friendly newbie experience will
have ceased to grumble, because no harm will have been done to their
purposes either. ;-)

The only reason I felt compelled to contradict some of the opinions
presented here is that I'd rather not see efforts towards improving
the newcomer experience being chilled by unwarranted grumpiness.
There's no point in overstating the actual scale of said grumpiness...

Sincerely,
Michał

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Michał Marczyk
On 29 June 2010 17:15, Lee Spector  wrote:
> Well I had trouble with this and I think I posted about it and that others 
> did too. But in any event emacs isn't what I'm looking for.

Just throwing out an opinion:

I think that an Edwin-like experience with Emacs would be perfectly
fine for newcomers to programming. That might be achievable at the
cost of preparing a default configuration before the course starts and
maybe packaging it with a default version of Emacs that everyone could
use. It shouldn't be too much of an effort to prepare one if you're
willing to keep it very basic (as you probably will be, if I
understand your goals correctly).

You could even spend some time (or have your TAs spend it) on a Q&A
session to address any Emacs configuration issues after, say, the
first week.

The key here is that SLIME -- should it prove too hard to maintain a
reliable cross-platform configuration -- is not necessary;
inferior-lisp will probably do.

Once again, just my €.02; and I'd absolutely wish to see easier setup
experience across the board, in all major IDEs & editors.

Sincerely,
Michał

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Michał Marczyk
On 29 June 2010 23:03, Brian Hurt  wrote:
> No.  This discussion is/was about (non-specific) changes being proposed to
> Clojure.

Care to quote any message from this thread where any changes to
Clojure were being proposed...? I have to say I cannot find one.

I will take this opportunity to note that while I have no problem with
someone not caring to make the Clojure setup experience -- I repeat,
"Clojure setup experience", not "Clojure-the-language experience" --
easier for those new to the JVM (and possibly other elements of the
setting-up-Clojure puzzle), I cannot fathom why anyone would take
issue with others feeling differently. Nobody is forcing anybody to
provide easier-to-use tooling; if you feel no desire to help, that is
fine. The probability of any of the other goals behind Clojure
suffering because of someone providing a simple Clojure-in-a-box
package seems extremely diminutive to me. So -- what is the actual
problem...?

On 29 June 2010 08:19, Tim Daly  wrote:
> Nothing about lisp is particularly difficult.
> Pandoric macros, closures, continuations,
> reader tables, circular structures, lexical
> vs dynamic scoping, indefinite lifetimes,
> quasiquoted expressions, or any of the other
> simple ideas.

I happen to have learned most of the above concepts from SICP, which
provided an absolutely fantastic learning experience. Not knowing
about many of those concepts (and knowing little about the others), to
me, simply meant that I was in a good position to *start learning
about them*.

Oh, by the way, I used GNU/MIT Scheme & Edwin while going through the
book, with no setup problems that I can recall *at all*, which I still
think was great; and the fact that the language being used had just
about no syntax and could basically be picked up from its use was a
great boon to me. I won't argue one way or the other about my lack of
preconceptions from 10y+ of Java experience playing a part here...

(Well, strictly speaking, I used Vim as the main editor most of the
time, but I liked REPLing and applying minor corrections in Edwin and
could have done fine with just Edwin with just the amount of prior
Emacs experience that is afforded by going through the tutorial once,
out of curiosity, a while earlier; Edwin includes the same tutorial
and there is really no REPL setup involved.)

It occurs to me that the following quote from "Essential pre-reading
for life with LFS" [1] will be appropriate in this context:

> You need to be fluent in using bash, this is a good tutorial:
>
>http://tldp.org/LDP/abs/html/index.html
>
> (Yes, I know it says 'Advanced', but read it anyway, do you want
> to be a newbie forever?)

Not everyone wants to be a CS newbie forever and for those who do not,
abstracting away some of the tedium of setting up build / editing /
whatever tools could be helpful (not necessarily because it makes
things *easier*, but rather because it makes it possible to focus on
the exciting new body of knowledge and not the mundane configuration
minutiae providing about the same sense of accomplishment as setting
the clock on a VCR).

Note that all of the above applies to (more or less) experienced
programmers who want to try out new concepts through Clojure; perhaps
they will need an open mind to succeed, but displaying that is up to
them, while possibly making the initial experience manageable would be
up to us. If you don't want to help, that's fine, but please let go of
the astonishing claim that there is no point.

...as you can see, I am firmly in the "Lisp is great for education" camp. :-)

All the best,
Michał

[1] http://lfs.phayoune.org/hints/downloads/files/OLD/prereading.txt

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread cageface
On Jun 29, 12:54 pm, Chas Emerick  wrote:
> Indeed, there are many nontrivial personas that actively wish for a  
> smaller (or at least not maximally large), more exclusive community.  

Only a fool would actively wish for a smaller community. Some of just
recognize that selling a sports car to grandma might not be in her or
our best interests.

Make Clojure as easy as possible for the beginner as long as you don't
make it less useful for the expert in the process.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Sean Corfield
FWIW, I blogged a short step-by-step post on getting up and running
with Leiningen to show some Clojure at the repl, run as a script and
compiled to a JAR and run via java:

http://corfield.org/blog/post.cfm/getting-started-with-clojure

Bear in mind my blog audience is folks with some familiarity with Java...

On Mon, Jun 28, 2010 at 8:50 PM, Sean Corfield  wrote:
> If folks find the Java stack intimidating, maybe Clojure isn't for
> them? Lots of language run on the JVM and they all require some basic
> knowledge of classpaths, build tools and existing IDEs such as
> Ecliper, NetBeans, IntelliJ etc. If folks are new to all that, I don't
> think it's Clojure's job to teach them - there's plenty of literature
> out there about the JVM environment and tools.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread cageface
On Jun 29, 1:22 pm, Chas Emerick  wrote:
> Any talk about how Clojure might be "too much" for some, for whatever  
> reason, is out of bounds IMO.  Clojure, as a language, is *simpler*  
> than just about all of the popular alternatives out there, and the  
> language is eminently approachable and practical for programmers from  
> varying domains and with varying levels of experience.

It just isn't. Recursion, s-expr syntax, non-mutability, macros and
the difference between compilation and evaluation etc etc are just
*harder* for most people to understand than simple infix imperative
code. Even MIT has thrown in the towel in this battle and switched to
Python for the SICP courses. I remember having discussions with Peter
Siebel about this while he was working on his Lisp book. Like a lot of
Lisp lovers, he seemed to think that making Lisp popular was just a
matter of making people see how eminently logical and simple and
practical it is. It's not that easy.

Look at the results of your own usage poll. The top languages people
would use if Clojure were unavailable to them are:
1. scala
2. common lisp
3. haskell
4. scheme

These people just *aren't* the median. To insist otherwise is to live
in denial.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

Greg -- this was *really* helpful. Answered a lot of questions that I had and I 
see that IntelliJ has a lot of nice features (and some non-obvious setup steps, 
but now I think I'll be able to get a handle on them).

Thanks, -Lee

On Jun 29, 2010, at 4:40 PM, Greg wrote:

> Hey Lee,
> 
> I made a quick getting started video for IntelliJ and La Clojure that covers 
> all the steps:
> 
> http://gregslepak.posterous.com/clojure-development-with-intellijs-la-clojure
> 
> Hope it's helpful!
> 
> - Greg
> 

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Greg
Hey Lee,

I made a quick getting started video for IntelliJ and La Clojure that covers 
all the steps:

http://gregslepak.posterous.com/clojure-development-with-intellijs-la-clojure

Hope it's helpful!

- Greg

On Jun 29, 2010, at 8:28 AM, Lee Spector wrote:

> 
> On Jun 28, 2010, at 5:31 PM, Greg wrote:
>> Have you tried IntelliJ with the La Clojure plugin? I tried all 3 IDEs and I 
>> was most impressed with IntelliJ IDEA. It's not too difficult to setup, and 
>> once you do it's really nice and has I think all of the stuff you asked 
>> about (syntax coloring, auto-completion, doc access, etc.).
> 
> 
> Thanks for the recommendation. Somehow I had overlooked this one previously.
> 
> I just downloaded and installed it, installed the Plugin (a little weird that 
> there's no "Download and Install" button when you select the plugin, and you 
> have to know to right-click, but the assembla instructions told me I'd have 
> to right click it was okay), but then what?
> 
> The assembla instructions 
> (http://www.assembla.com/wiki/show/clojure/Getting_Started_with_Idea_and_La_Clojure)
>  have a section for "To checkout a project from git" and a section for "To 
> open an existing maven-based project", but I don't want to do either. I want 
> to write and run some Clojure code from scratch. I'd like a REPL and an 
> editor buffer or two...
> 
> Starting from Create New Project I clicked through a bunch of dialogs that I 
> didn't understand, said okay to a warning about not assigning a JDK (because 
> I didn't know what else to do there), and eventually got what looks like a 
> project window but not (as far as I see) an editor buffer or a REPL. 
> 
> Returning to the assembla instructions I saw (both in the git section and in 
> the maven section) "Choose Tools|Clojure REPL|Add new Clojure REPL to launch 
> a REPL on your project." So I tried this but got "Can't creat REPL. Clojure 
> home path is not configured correctly!"
> 
> It's possible that this is the environment that I'm looking for, but my new 
> user experience is not going very well at this point.
> 
> Any pointers would be appreciated. 
> 
> Thanks,
> 
> -Lee
> 
> --
> Lee Spector, Professor of Computer Science
> School of Cognitive Science, Hampshire College
> 893 West Street, Amherst, MA 01002-3359
> lspec...@hampshire.edu, http://hampshire.edu/lspector/
> Phone: 413-559-5352, Fax: 413-559-5438
> 
> Check out Genetic Programming and Evolvable Machines:
> http://www.springer.com/10710 - http://gpemjournal.blogspot.com/
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Brian Hurt
On Tue, Jun 29, 2010 at 4:22 PM, Chas Emerick  wrote:

>
> The discussion about newcomers is *not* about what one needs to know or
> should know in order to build über-complicated applications for deployment
> in "production" -- it's about what the learning curve looks and feels like
> to various constituencies.
>
>
No.  This discussion is/was about (non-specific) changes being proposed to
Clojure.  And the making the word "constituencies" plural implies "more than
one", when only one constituency has been advocated for in the entire
discussion- the constituency of programmers whose heads explode if they are
introduced to editors more complicated than notepad, version control more
complicated than backing up floppy (USB keychain nowadays, I'd guess), build
environments more complicated than "click run", and more than one choice in
any of the above.

And before you get on me about my characterization here, these aren't the
assumptions I'm making, these are assumptions other people in this thread
(including the original blog post) are making.  They're just not phrased
quite so bluntly.


> Any talk about how Clojure might be "too much" for some, for whatever
> reason, is out of bounds IMO.  Clojure, as a language, is *simpler* than
> just about all of the popular alternatives out there, and the language is
> eminently approachable and practical for programmers from varying domains
> and with varying levels of experience.
>

Ignoring the Java side of things, and for a specific definition of "simple",
this may be correct.  But you can't ignore the Java side of things when
measuring complexity.  Even relatively simple things, like opening up a
network socket, require you to interact with Java.

Ever seen the cockpit of a 747?

Brian

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure's n00b attraction problem

2010-06-29 Thread Sean Corfield
On Mon, Jun 28, 2010 at 8:14 PM, Greg  wrote:
> Just because you found it easy to get started, does not mean others do, and 
> judging from the reaction to my post, I'm by no means the only person to feel 
> this way.
>
> You went to a bootcamp to learn clojure, you found some Clojure-MacOSX 
> package, and you're perfectly fine with using a Terminal and TextMate. Others 
> do not come from your point of view.

Right, and I wasn't trying to invalidate those other points of view. I
was just saying that I don't think Clojure itself - language and
environment - is *unusually* difficult to get up and running. I
actually agree with all the comments in the thread about the base
level of Java / JVM complexity that acts as a barrier to entry for
those not coming from a Java / JVM background. It afflicts all the
'new' JVM-targeted languages pretty much equally: Groovy / Grails,
Scala / Lift are both good examples of 'new'(-ish) technologies that
have a lot of Java / JVM baggage which can be off-putting. With Lift,
I didn't even get further than the first example that wanted me to use
Maven... sorry, but I just don't need that much pain in my life! Now
there's a movement to get Lift powered by sbt (Scala Build Tool) which
is to Scala something like lein is to Clojure (sbt actually does a
better job of hiding the underlying unpleasantness, IMO, but it has a
head start and I expect lein will continue to improve too). I'll
probably start using Lift once sbt becomes the preferred build tool
for it.

Back to Clojure: I think some of the folks coming here from non-JVM
backgrounds would find the same obstacles with Scala or any other
JVM-based language. I'm not sure realistically how much that can be
simplified beyond lein. I think the IDE question is interesting. When
looking at any new language (and I try to learn a new language every
year), I don't want to be forced to learn a new IDE. I want to be able
to use one of my existing IDEs or editors. I suspect that's true for a
number of people and the only viable result is lots of plugins for
lots of IDEs - which, with a very new language, means variable quality
or even lack of support within some IDEs. Clojure is probably the
youngest language I've ever tried to learn. Certainly its tool support
seems to be the most immature of anything I've tried to work with (no
criticism intended - it's just young).

I don't think there are any easy solutions. I _do_ think it'll improve
over time. Clojure may simply be at a point where, right now, it's
just not able to be very n00b-friendly for some classes of n00bs. The
feedback from those n00bs - and I still consider myself one of them -
is still useful (of course) but I suspect we'll have to muddle through
for quite a while yet before things get friendly enough to satisfy
most people :)

In response to Chas, you said "If there was a single-awesome catch-all
setup that served the needs of 80% of Clojure users, that would not be
the case, and Clojure's community would thrive." and when I first
started asking about Clojure I was pointed at Emacs and I was like
"Uh-oh! There has to be a simpler way to learn Clojure?". It does seem
like Emacs is the default IDE choice that's offered to n00bs and I
used Emacs a long, long time ago and never want to go back to it (and,
yes, I know people who love Emacs and I'm not saying it's a bad IDE,
it's just not one I want to use).

I'd prefer to use an Eclipse-based solution because I already do all
my Java / Groovy / Scala (and CFML) development in Eclipse. Sounds
like there's a viable option for that now so I'll try it.

As for the Java / JVM baggage. I don't know what to suggest there. I
agree it's "yet another thing to learn" if you don't have that
background but it's a one-time thing and it sets you up for using any
of the other JVM-targeted languages since they all work the same way.
I suspect I'd hit the same problem trying to learn Ruby with its gem
system or any .NET language (although, of course, there I'd be pretty
much forced to learn a new IDE - Visual Whatever - and, in my case, a
new O/S since I'm a Mac/Linux guy primarily).
-- 
Sean A Corfield -- (904) 302-SEAN
Railo Technologies, Inc. -- http://getrailo.com/
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread WoodHacker

> So I wonder how much making the first few baby steps easier is really
> going to help the uptake of Clojure. I have to imagine that the kind
> of person that can't figure out  a CLASSPATH is going to have his head
> explode when he has to figure out how to restructure all his
> iterations in terms of loop/recur.

This discussion, although interesting, is ridiculous.I've been
doing this for nearly 40 years and if I'd listened to all the people
who worried that new languages were to hard for noobs, I'd still be
writing Fortran or Cobal.C was hard when it first came out - for
most of the same reasons people are using with Clojure.Clojure is
a great language now and can only get better because it mixes the
greatest language ever invented (Lisp) with the best library
available.People have complained for years about the limitations
of Lisp, but it's still with us (whatever happened to PL1?)All
Lisp has ever needed was a universal library.   Let the faint of heart
turn away - they will come back.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Chas Emerick
First, just to gather a gestalt here (names elided as I'm not trying  
to single anyone out):


On Jun 28, 2010, at 10:54 PM, XXX wrote:


If you are going to go to all the trouble to work with Clojure, you
might as well be exposed to the reality of a semi-production Clojure
project.  Put the waterwings on the kid, but then throw him in the
deep end.  If he can't swim, he isn't ready for macros anyway.



On Jun 28, 2010, at 11:50 PM, XXX wrote:


If folks find the Java stack intimidating, maybe Clojure isn't for
them? Lots of language run on the JVM and they all require some basic
knowledge of classpaths, build tools and existing IDEs such as
Ecliper, NetBeans, IntelliJ etc. If folks are new to all that, I don't
think it's Clojure's job to teach them - there's plenty of literature
out there about the JVM environment and tools.



On Jun 29, 2010, at 1:11 AM, XXX wrote:


The fact remains though that Clojure trades in heavy concepts. The
syntax alone will simply be a non-starter for at least half the
potential audience. Toss in concurrency and non-mutability and
ubiquitous recursion which are tricky concepts no matter how cleanly
exposed in the language. As many posters have said in this thread, you
really do have to have a decent grasp on Java to do real work in
Clojure so you're already on the hook for two languages, one of which
is a baroque and provincial monster. Like any engineering problem,
language design is about tradeoffs. Obviously Rich has worked hard to
make Clojure as approachable as possible but you can't simultaneously
emphasize tackling the really hard problems in software engineering
and making CRUDDY webapps as painless as possible for the average
programmer.


Stop.  Please, just stop.

The discussion about newcomers is *not* about what one needs to know  
or should know in order to build über-complicated applications for  
deployment in "production" -- it's about what the learning curve looks  
and feels like to various constituencies.


Any talk about how Clojure might be "too much" for some, for whatever  
reason, is out of bounds IMO.  Clojure, as a language, is *simpler*  
than just about all of the popular alternatives out there, and the  
language is eminently approachable and practical for programmers from  
varying domains and with varying levels of experience.


The key is making the sometimes-tricky, sometimes-unfamiliar  
operational details of the underlying platform less of a burden, or  
ideally, nonexistent for that critical first couple of weeks or months  
of exploratory, experimental programming.  As I said in a prior note,  
this challenge will remain for any flavor of Clojure, so it'd be best  
if we embraced the fact that plastering over platform minutiae is  
going to be a constant requirement, and thoughtfully approach the  
problem rather than reverting to showing people the door if they don't  
grok the full stack or simply believe that it's not relevant to them  
(e.g. within a purely pedagogical environment).


Cheers,

- Chas

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Chas Emerick


On Jun 28, 2010, at 8:30 PM, Greg wrote:

- Clojure (and some environment for working with it) must be as  
"friendly" and approachable for new users as possible.  It is not  
an "expert's" or "professional's" language, at least in my  
conception, and thinking of it that way will doom it to  
irrelevancy.  Our community has been extraordinarily open and  
welcoming to newcomers for years, and any change in that posture  
would be devastating.  I (thankfully) have little fear of this  
actually happening.


I hope you're right, because it seems like some people are really  
gunning for this silly "comp. sci. professors-only" perspective.  
It's made sillier still considering that one of the main motivations  
behind Clojure was to create a practical Lisp.


Indeed, there are many nontrivial personas that actively wish for a  
smaller (or at least not maximally large), more exclusive community.   
It's extraordinarily helpful that Rich et al. established early on  
that RTFM (or RTFSourceCode) shan't be the community's default  
posture.  That tension is revisited once every several months (such as  
it has been the last few days), and probably will be again for years  
to come depending on how much the community grows.


- Chas

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Chas Emerick

Yes, CCW has automatic indentation at this point.

- Chas

On Jun 29, 2010, at 9:32 AM, Lee Spector wrote:



Thanks Laurent.

Is there automatic Clojure indentation in Counterclockwise now?

I played with it a couple of months ago and saw a lot to like, and  
if I recall correctly a lack of indentation support was one of the  
main reasons I kept looking for alternatives. I think I was also a  
little confused by some of Eclipse's overall complexity and  
terminology (e.g. "perspectives") coming from a non-Java world, and  
maybe by some platform-related mismatches between the instructions  
and what I had to do (in Mac OS X) which, though minor, can still be  
confusing when starting from zero. I think I could get over these  
latter issues if there's indentation now.


Thanks so much for providing this tool!

-Lee

On Jun 29, 2010, at 8:49 AM, Laurent PETIT wrote:


The video must be seen in HD if you want to have a chance to see
anything on it. It has no sound, it's not a problem with your
computer.

2010/6/29 Laurent PETIT :

Ok, so now, please take a look at this video (it's just 3 minutes),
and you'll get a grasp at how easy it is to bootstrap an Eclipse  
based

clojure environment : http://www.youtube.com/watch?v=1T0ZjBMIQS8

Works with eclipse 3.5 and eclipse 3.6.

I'm not claiming Eclipse / counterclockwise is better than IDE X  
or Y,
but that I've rarely have complaints in the ml concerning  
installation

problems.

Oh, and the video, while a little bit outdated, shows a bunch of
already existing features in Eclipse / Counterclockwise : the
namespace navigator, the clojure file "outline", navigating from the
namespace navigator and the file containing the definition of the  
var,

etc.

And to be totally clear, no there is currently no history in the  
REPL,

that's planned on our TODO list. :-)

--
Laurent

2010/6/29 Lee Spector :


On Jun 28, 2010, at 5:31 PM, Greg wrote:
Have you tried IntelliJ with the La Clojure plugin? I tried all  
3 IDEs and I was most impressed with IntelliJ IDEA. It's not too  
difficult to setup, and once you do it's really nice and has I  
think all of the stuff you asked about (syntax coloring, auto- 
completion, doc access, etc.).



Thanks for the recommendation. Somehow I had overlooked this one  
previously.


I just downloaded and installed it, installed the Plugin (a  
little weird that there's no "Download and Install" button when  
you select the plugin, and you have to know to right-click, but  
the assembla instructions told me I'd have to right click it was  
okay), but then what?


The assembla instructions (http://www.assembla.com/wiki/show/clojure/Getting_Started_with_Idea_and_La_Clojure 
) have a section for "To checkout a project from git" and a  
section for "To open an existing maven-based project", but I  
don't want to do either. I want to write and run some Clojure  
code from scratch. I'd like a REPL and an editor buffer or two...


Starting from Create New Project I clicked through a bunch of  
dialogs that I didn't understand, said okay to a warning about  
not assigning a JDK (because I didn't know what else to do  
there), and eventually got what looks like a project window but  
not (as far as I see) an editor buffer or a REPL.


Returning to the assembla instructions I saw (both in the git  
section and in the maven section) "Choose Tools|Clojure REPL|Add  
new Clojure REPL to launch a REPL on your project." So I tried  
this but got "Can't creat REPL. Clojure home path is not  
configured correctly!"


It's possible that this is the environment that I'm looking for,  
but my new user experience is not going very well at this point.


Any pointers would be appreciated.

Thanks,

-Lee

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College

Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

Laurent,

It definitely sounds like I should try the newest version, and I will. Thanks!!

 -Lee


On Jun 29, 2010, at 2:41 PM, Laurent PETIT wrote:
> 
> There's now auto-indentation (when you hit the Enter key). What is
> still missing is "bulk" reindentation (whole file at once).
> 
> There's also a "paredit-like" mode. I've called it "Structural Editing
> mode", because outside emacs users, "paredit" means nothing.
> The mode comes in two flavors : the "default mode" and the "strict
> mode". The default mode is, well, active by default, and does not
> "block" the user (e.g. a newbie user fighting the editor to add/remove
> a closing paren). The "strict mode" is my preferred one, it is close
> to paredit (hitting a closing paren goes right after the closing paren
> of the enclosing form, etc.). Still perfectible, but already providing
> great value, I think.
> 
> One think some may find as a "drawback", some not: paredit
> functionalities, auto-indentation feature, only work if the code is
> well structured (balanced parens , double quotes ; writing a wrong
> "atom" -e.g. a symbol with invalid chars- does no harm to the overall
> structure, and thus does not disable the features).
> 
> The best I can offer you as an honest answer is: if you tried it
> several months ago, it's worth trying it again. You may be surprised,
> but still consider it does not fit your expectations in critical areas
> (in this case, please let me know), or you may consider that, while
> still full of problems, your main expectations are fulfilled and then
> I'll welcome you onboard.

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

On Jun 29, 2010, at 2:32 PM, Sean Corfield wrote:

> I believe this is what I ultimately ended up installing on my Macs:
> 
> http://github.com/carlism/Clojure-MacOSX

Thanks... but wasn't this package declared to be obsoleted by clj? Or was that 
something else? In any event I note that there are a fair number of steps to 
the process... and it *may* be what I already tried :-). Still, I'll look into 
trying it again.

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Laurent PETIT
Hi Lee,

2010/6/29 Lee Spector :
>
> Thanks Laurent.
>
> Is there automatic Clojure indentation in Counterclockwise now?

There's now auto-indentation (when you hit the Enter key). What is
still missing is "bulk" reindentation (whole file at once).

There's also a "paredit-like" mode. I've called it "Structural Editing
mode", because outside emacs users, "paredit" means nothing.
The mode comes in two flavors : the "default mode" and the "strict
mode". The default mode is, well, active by default, and does not
"block" the user (e.g. a newbie user fighting the editor to add/remove
a closing paren). The "strict mode" is my preferred one, it is close
to paredit (hitting a closing paren goes right after the closing paren
of the enclosing form, etc.). Still perfectible, but already providing
great value, I think.

One think some may find as a "drawback", some not: paredit
functionalities, auto-indentation feature, only work if the code is
well structured (balanced parens , double quotes ; writing a wrong
"atom" -e.g. a symbol with invalid chars- does no harm to the overall
structure, and thus does not disable the features).

The best I can offer you as an honest answer is: if you tried it
several months ago, it's worth trying it again. You may be surprised,
but still consider it does not fit your expectations in critical areas
(in this case, please let me know), or you may consider that, while
still full of problems, your main expectations are fulfilled and then
I'll welcome you onboard.

>
> I played with it a couple of months ago and saw a lot to like, and if I 
> recall correctly a lack of indentation support was one of the main reasons I 
> kept looking for alternatives. I think I was also a little confused by some 
> of Eclipse's overall complexity and terminology (e.g. "perspectives") coming 
> from a non-Java world, and maybe by some platform-related mismatches between 
> the instructions and what I had to do (in Mac OS X) which, though minor, can 
> still be confusing when starting from zero. I think I could get over these 
> latter issues if there's indentation now.
>
> Thanks so much for providing this tool!
>
>  -Lee
>
> On Jun 29, 2010, at 8:49 AM, Laurent PETIT wrote:
>
>> The video must be seen in HD if you want to have a chance to see
>> anything on it. It has no sound, it's not a problem with your
>> computer.
>>
>> 2010/6/29 Laurent PETIT :
>>> Ok, so now, please take a look at this video (it's just 3 minutes),
>>> and you'll get a grasp at how easy it is to bootstrap an Eclipse based
>>> clojure environment : http://www.youtube.com/watch?v=1T0ZjBMIQS8
>>>
>>> Works with eclipse 3.5 and eclipse 3.6.
>>>
>>> I'm not claiming Eclipse / counterclockwise is better than IDE X or Y,
>>> but that I've rarely have complaints in the ml concerning installation
>>> problems.
>>>
>>> Oh, and the video, while a little bit outdated, shows a bunch of
>>> already existing features in Eclipse / Counterclockwise : the
>>> namespace navigator, the clojure file "outline", navigating from the
>>> namespace navigator and the file containing the definition of the var,
>>> etc.
>>>
>>> And to be totally clear, no there is currently no history in the REPL,
>>> that's planned on our TODO list. :-)
>>>
>>> --
>>> Laurent
>>>
>>> 2010/6/29 Lee Spector :

 On Jun 28, 2010, at 5:31 PM, Greg wrote:
> Have you tried IntelliJ with the La Clojure plugin? I tried all 3 IDEs 
> and I was most impressed with IntelliJ IDEA. It's not too difficult to 
> setup, and once you do it's really nice and has I think all of the stuff 
> you asked about (syntax coloring, auto-completion, doc access, etc.).


 Thanks for the recommendation. Somehow I had overlooked this one 
 previously.

 I just downloaded and installed it, installed the Plugin (a little weird 
 that there's no "Download and Install" button when you select the plugin, 
 and you have to know to right-click, but the assembla instructions told me 
 I'd have to right click it was okay), but then what?

 The assembla instructions 
 (http://www.assembla.com/wiki/show/clojure/Getting_Started_with_Idea_and_La_Clojure)
  have a section for "To checkout a project from git" and a section for "To 
 open an existing maven-based project", but I don't want to do either. I 
 want to write and run some Clojure code from scratch. I'd like a REPL and 
 an editor buffer or two...

 Starting from Create New Project I clicked through a bunch of dialogs that 
 I didn't understand, said okay to a warning about not assigning a JDK 
 (because I didn't know what else to do there), and eventually got what 
 looks like a project window but not (as far as I see) an editor buffer or 
 a REPL.

 Returning to the assembla instructions I saw (both in the git section and 
 in the maven section) "Choose Tools|Clojure REPL|Add new Clojure REPL to 
 launch a REPL on your project." So I tr

Re: Clojure's n00b attraction problem

2010-06-29 Thread Sean Corfield
I believe this is what I ultimately ended up installing on my Macs:

http://github.com/carlism/Clojure-MacOSX

On Mon, Jun 28, 2010 at 8:54 PM, Lee Spector  wrote:
> What TextMate clojure bundle & instructions do you use? I've tried to play 
> with this but the installations haven't worked as advertised.
>
> On Jun 28, 2010, at 11:50 PM, Sean Corfield wrote:
>
>> TextMate has a Clojure bundle. I use it as my primary Clojure editor.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Mike Meyer
On Tue, 29 Jun 2010 11:15:40 -0400
Lee Spector  wrote:

> 
> On Jun 29, 2010, at 10:26 AM, Mike Meyer wrote:
> > Actually, have you looked at jedit? It's the only free Java editor
> > that isn't trying to be an IDE.
> 
> Thanks for this tip. I didn't know about jedit. I've grabbed it and see that 
> it has a built-in Clojure mode. Promising! Its idea of proper Clojure 
> indentation seems pretty nutty to me (you may have to view this in a 
> monospace font to see how odd it is):
> 
> (defn bar 
>   "check out the formatting of the let and the placement of the last line"
>   []
>   (let [x 1
>   y 2
>   z 3]
> (list x y z)))
> 
> It gets weirder for some of my more complicated definitions.
> 
> But maybe I can tweak the settings to get something more reasonable (I've 
> only tried for a minute so far).

The cross-platform editor is the only thing for the package you want
that I couldn't just grab off the net. Unfortunately, the version that
installs from ports locally doesn't have a clojure mode.

> > I think you're asking to much for the first step. They don't need
> > clojure-specific indentation; they just need a simple-minded
> > autoindent and paren matching. Those should be available in pretty
> > much any editor. Clojure-specific is nice, but they can correct it by
> > hand trivially.
> 
> Over many years of teaching Lisp to beginners the single most effective 
> debugging advice I've given is "first auto-indent it and then the error may 
> become obvious." Of course that works only for certain syntax errors but that 
> covers a lot of territory for beginners, and even helps me as a Lisper with 
> many years of experience. Correcting indentation by hand is easy when your 
> code is correct and you know what you're doing. Language-specific indentation 
> is really helpful when it's not already correct or you're just learning.

I use paren matching for that. Go to the end of the function, and walk
through the close parens, checking that they match what I think they
should. Repeat for each line that ends in more than two parens. It's
more work than the autoindent, but provides more data.

> > If that's the case, is there some reason you haven't created this? I'd
> > be more than happy to provide web space for it if you need it.
> Because I don't know how, and I'm writing here because I know that many 
> people here do know how and have already done 90+% of the work. I can write 
> you a quantum computer simulator or an AI search engine or a genetic 
> programming engine or an ecological simulator or many other things in many 
> languages including Lisp and Clojure, but writing and packaging 
> cross-platform editors and development tools just isn't in my bag of tricks 
> right now. I know it could be, and maybe some day I'll acquire those skills, 
> but many others are already quite good at this stuff and have gone to 
> considerable effort to create environments that provide almost all of what I 
> want. So I figure it's a service to give my perspective on what small tweaks 
> would make their efforts reach a wider audience.

Fair enough. Given the Jar files, it's relatively easy. You need to 1)
install the requisite jar files in a to-be-determined location, and 2)
tweak the batch scripts to know where you put the jar files, then
install them somewhere where they'll be found by the users command
processor. Do you think it's to much to require they get the JVM
somewhere else, or should that be part of the bundle as well?

 http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

On Jun 29, 2010, at 10:26 AM, Mike Meyer wrote:
> Actually, have you looked at jedit? It's the only free Java editor
> that isn't trying to be an IDE.

Thanks for this tip. I didn't know about jedit. I've grabbed it and see that it 
has a built-in Clojure mode. Promising! Its idea of proper Clojure indentation 
seems pretty nutty to me (you may have to view this in a monospace font to see 
how odd it is):

(defn bar 
"check out the formatting of the let and the placement of the last line"
[]
(let [x 1
y 2
z 3]
(list x y z)))

It gets weirder for some of my more complicated definitions.

But maybe I can tweak the settings to get something more reasonable (I've only 
tried for a minute so far).

> Um, I've been watching the list for quite a while, and have never seen
> anyone with problems with just clojure-mode. 

Well I had trouble with this and I think I posted about it and that others did 
too. But in any event emacs isn't what I'm looking for.

> I think you're asking to much for the first step. They don't need
> clojure-specific indentation; they just need a simple-minded
> autoindent and paren matching. Those should be available in pretty
> much any editor. Clojure-specific is nice, but they can correct it by
> hand trivially.

Over many years of teaching Lisp to beginners the single most effective 
debugging advice I've given is "first auto-indent it and then the error may 
become obvious." Of course that works only for certain syntax errors but that 
covers a lot of territory for beginners, and even helps me as a Lisper with 
many years of experience. Correcting indentation by hand is easy when your code 
is correct and you know what you're doing. Language-specific indentation is 
really helpful when it's not already correct or you're just learning.

>> I think that several versions of "nearly the right stuff" are available but 
>> that the bundling/instructions could be made a little more clear for 
>> newcomers in every case that I know of (each case maybe needing a slightly 
>> different tweak).
> 
> If that's the case, is there some reason you haven't created this? I'd
> be more than happy to provide web space for it if you need it.


Because I don't know how, and I'm writing here because I know that many people 
here do know how and have already done 90+% of the work. I can write you a 
quantum computer simulator or an AI search engine or a genetic programming 
engine or an ecological simulator or many other things in many languages 
including Lisp and Clojure, but writing and packaging cross-platform editors 
and development tools just isn't in my bag of tricks right now. I know it could 
be, and maybe some day I'll acquire those skills, but many others are already 
quite good at this stuff and have gone to considerable effort to create 
environments that provide almost all of what I want. So I figure it's a service 
to give my perspective on what small tweaks would make their efforts reach a 
wider audience.

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Mike Meyer
On Tue, 29 Jun 2010 07:56:09 -0400
Lee Spector  wrote:

> 
> On Jun 29, 2010, at 1:05 AM, Mike Meyer wrote:
> >> Yes emacs has built-in paren matching but emacs (like vi) is something
> >> that has to be learned, not all newcomers will know it, I don't want
> >> to force my students to use it (although I use it)
> > 
> > But you're willing to force them to use some other editor?
> 
> The ideal is to provide an editor that can be used without effort because it 
> follows the standard interface conventions of the platform. That's what's so 
> helpful about the editors in MCL, DrScheme, Processing, etc. Each has fancy 
> stuff too, available through platform-conventional menus etc., but you don't 
> need a lesson to do basic editing tasks (as you do with emacs and vi).

So you don't want one editor, you want a three (mac/windows/unix). Or
four (mac/windows/gnome/kde). Or maybe five
(mac/windows/gnome/kde/wmiietall).

Actually, have you looked at jedit? It's the only free Java editor
that isn't trying to be an IDE.

> > See, I find this funny. Getting emacs to do clojure indentation is
> > pretty much exactly as hard as getting clojure to use some third party
> > library: dump clojure-mode.el onto your load-path, and then load
> > it.
> 
> Not true. I had several hiccups in the process of getting emacs clojure mode 
> to work (maybe because I first tried an outdated way and then that left stuff 
> that clashed the next thing I tried... there are a a couple of clojure-mode 
> tools/installers out there) and so have others -- if you check the list 
> archives you'll see that periodic calls for help with this.

Um, I've been watching the list for quite a while, and have never seen
anyone with problems with just clojure-mode. What I have seen are
people having problems with getting slime and swank set up and running
in clojure-mode, but you don't need that to get smart clojure
indenting.  All you need is the clojure-mode.el file and requiring
it. Of course, that clojure-mode.el encourages you to install clojure,
slime, and swank-clojure doesn't help, but I had it doing
clojure-specific indentation before starting down that rathole.

> > Considering that I've never seen an IDE that I thought had an editor
> > that was "good enough for real use", I find that statement highly
> > subjective.
> What I meant here was pretty simple: New users can begin using the editor 
> without any specific instructions about how to use the editor per se, and a 
> semester later they can be writing substantial programs in the same editor 
> without feeling like it's holding them back. In my experience that's true of 
> the editors in many IDEs for many languages.

I think you're asking to much for the first step. They don't need
clojure-specific indentation; they just need a simple-minded
autoindent and paren matching. Those should be available in pretty
much any editor. Clojure-specific is nice, but they can correct it by
hand trivially.

That won't get them to the second step, though. To me, that means you
have to have an editor that's tightly coupled to a REPL. I need to be
able to send a file from an edit buffer to the REPL, or send a marked
region of text in the buffer, or the definition surrounding the point,
and then type text at the reply to test the just evaluated code. All
without having to touch the mouse. Here's where individual preferences
comes to the fore - some people will want to do everything via the
mouse, some won't want to touch the little rodent, some will want doc
strings available in the editors, others will want them in the repl,
yet others will want them in an external document.

All of which is why I think that starting with "your favorite text
editor with paren matching and auto-indent" is the right way to get
started - at least for people who aren't learning to use a computer
for the first time.

> > Basically, you need someone to either a) write an editor for clojure,
> > or b) provide instructions for setting up a suitable java-sourced
> > editor (so it runs everywhere) to do clojure indentation, then bundle
> > all that with clojure and clojure-contrib and a little bit of support?
> 
> I think that several versions of "nearly the right stuff" are available but 
> that the bundling/instructions could be made a little more clear for 
> newcomers in every case that I know of (each case maybe needing a slightly 
> different tweak).

If that's the case, is there some reason you haven't created this? I'd
be more than happy to provide web space for it if you need it.

http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubsc

Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

Thanks Laurent.

Is there automatic Clojure indentation in Counterclockwise now?

I played with it a couple of months ago and saw a lot to like, and if I recall 
correctly a lack of indentation support was one of the main reasons I kept 
looking for alternatives. I think I was also a little confused by some of 
Eclipse's overall complexity and terminology (e.g. "perspectives") coming from 
a non-Java world, and maybe by some platform-related mismatches between the 
instructions and what I had to do (in Mac OS X) which, though minor, can still 
be confusing when starting from zero. I think I could get over these latter 
issues if there's indentation now.

Thanks so much for providing this tool!

 -Lee

On Jun 29, 2010, at 8:49 AM, Laurent PETIT wrote:

> The video must be seen in HD if you want to have a chance to see
> anything on it. It has no sound, it's not a problem with your
> computer.
> 
> 2010/6/29 Laurent PETIT :
>> Ok, so now, please take a look at this video (it's just 3 minutes),
>> and you'll get a grasp at how easy it is to bootstrap an Eclipse based
>> clojure environment : http://www.youtube.com/watch?v=1T0ZjBMIQS8
>> 
>> Works with eclipse 3.5 and eclipse 3.6.
>> 
>> I'm not claiming Eclipse / counterclockwise is better than IDE X or Y,
>> but that I've rarely have complaints in the ml concerning installation
>> problems.
>> 
>> Oh, and the video, while a little bit outdated, shows a bunch of
>> already existing features in Eclipse / Counterclockwise : the
>> namespace navigator, the clojure file "outline", navigating from the
>> namespace navigator and the file containing the definition of the var,
>> etc.
>> 
>> And to be totally clear, no there is currently no history in the REPL,
>> that's planned on our TODO list. :-)
>> 
>> --
>> Laurent
>> 
>> 2010/6/29 Lee Spector :
>>> 
>>> On Jun 28, 2010, at 5:31 PM, Greg wrote:
 Have you tried IntelliJ with the La Clojure plugin? I tried all 3 IDEs and 
 I was most impressed with IntelliJ IDEA. It's not too difficult to setup, 
 and once you do it's really nice and has I think all of the stuff you 
 asked about (syntax coloring, auto-completion, doc access, etc.).
>>> 
>>> 
>>> Thanks for the recommendation. Somehow I had overlooked this one previously.
>>> 
>>> I just downloaded and installed it, installed the Plugin (a little weird 
>>> that there's no "Download and Install" button when you select the plugin, 
>>> and you have to know to right-click, but the assembla instructions told me 
>>> I'd have to right click it was okay), but then what?
>>> 
>>> The assembla instructions 
>>> (http://www.assembla.com/wiki/show/clojure/Getting_Started_with_Idea_and_La_Clojure)
>>>  have a section for "To checkout a project from git" and a section for "To 
>>> open an existing maven-based project", but I don't want to do either. I 
>>> want to write and run some Clojure code from scratch. I'd like a REPL and 
>>> an editor buffer or two...
>>> 
>>> Starting from Create New Project I clicked through a bunch of dialogs that 
>>> I didn't understand, said okay to a warning about not assigning a JDK 
>>> (because I didn't know what else to do there), and eventually got what 
>>> looks like a project window but not (as far as I see) an editor buffer or a 
>>> REPL.
>>> 
>>> Returning to the assembla instructions I saw (both in the git section and 
>>> in the maven section) "Choose Tools|Clojure REPL|Add new Clojure REPL to 
>>> launch a REPL on your project." So I tried this but got "Can't creat REPL. 
>>> Clojure home path is not configured correctly!"
>>> 
>>> It's possible that this is the environment that I'm looking for, but my new 
>>> user experience is not going very well at this point.
>>> 
>>> Any pointers would be appreciated.
>>> 
>>> Thanks,
>>> 
>>>  -Lee
>>> 
>>> --
>>> Lee Spector, Professor of Computer Science
>>> School of Cognitive Science, Hampshire College
>>> 893 West Street, Amherst, MA 01002-3359
>>> lspec...@hampshire.edu, http://hampshire.edu/lspector/
>>> Phone: 413-559-5352, Fax: 413-559-5438
>>> 
>>> Check out Genetic Programming and Evolvable Machines:
>>> http://www.springer.com/10710 - http://gpemjournal.blogspot.com/
>>> 
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.c

Re: Clojure's n00b attraction problem

2010-06-29 Thread Mike Meyer
"Tim Robinson"  wrote:

>* Most n00bs want a "hello world" in an application output (via script
>or compojure). Not in a repl. The repl is a tool to get you there. In
>order to do this users should really have a 7 step guide on leinington

I happen to think that they're wanting the wrong thing. Even so, you don't need 
lein or ant or maven to get there. One of the joys of interpreted languages is 
losing the middle step in the edit- compile-test cycle. (Yes, I know that 
clojure does a compile; so does every production interpreter. This isn't 
something to bother beginners with.) Taking that away from them is wrong, and 
leads them away from the part of the lisp way known as exploratory programming. 
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Laurent PETIT
The video must be seen in HD if you want to have a chance to see
anything on it. It has no sound, it's not a problem with your
computer.

2010/6/29 Laurent PETIT :
> Ok, so now, please take a look at this video (it's just 3 minutes),
> and you'll get a grasp at how easy it is to bootstrap an Eclipse based
> clojure environment : http://www.youtube.com/watch?v=1T0ZjBMIQS8
>
> Works with eclipse 3.5 and eclipse 3.6.
>
> I'm not claiming Eclipse / counterclockwise is better than IDE X or Y,
> but that I've rarely have complaints in the ml concerning installation
> problems.
>
> Oh, and the video, while a little bit outdated, shows a bunch of
> already existing features in Eclipse / Counterclockwise : the
> namespace navigator, the clojure file "outline", navigating from the
> namespace navigator and the file containing the definition of the var,
> etc.
>
> And to be totally clear, no there is currently no history in the REPL,
> that's planned on our TODO list. :-)
>
> --
> Laurent
>
> 2010/6/29 Lee Spector :
>>
>> On Jun 28, 2010, at 5:31 PM, Greg wrote:
>>> Have you tried IntelliJ with the La Clojure plugin? I tried all 3 IDEs and 
>>> I was most impressed with IntelliJ IDEA. It's not too difficult to setup, 
>>> and once you do it's really nice and has I think all of the stuff you asked 
>>> about (syntax coloring, auto-completion, doc access, etc.).
>>
>>
>> Thanks for the recommendation. Somehow I had overlooked this one previously.
>>
>> I just downloaded and installed it, installed the Plugin (a little weird 
>> that there's no "Download and Install" button when you select the plugin, 
>> and you have to know to right-click, but the assembla instructions told me 
>> I'd have to right click it was okay), but then what?
>>
>> The assembla instructions 
>> (http://www.assembla.com/wiki/show/clojure/Getting_Started_with_Idea_and_La_Clojure)
>>  have a section for "To checkout a project from git" and a section for "To 
>> open an existing maven-based project", but I don't want to do either. I want 
>> to write and run some Clojure code from scratch. I'd like a REPL and an 
>> editor buffer or two...
>>
>> Starting from Create New Project I clicked through a bunch of dialogs that I 
>> didn't understand, said okay to a warning about not assigning a JDK (because 
>> I didn't know what else to do there), and eventually got what looks like a 
>> project window but not (as far as I see) an editor buffer or a REPL.
>>
>> Returning to the assembla instructions I saw (both in the git section and in 
>> the maven section) "Choose Tools|Clojure REPL|Add new Clojure REPL to launch 
>> a REPL on your project." So I tried this but got "Can't creat REPL. Clojure 
>> home path is not configured correctly!"
>>
>> It's possible that this is the environment that I'm looking for, but my new 
>> user experience is not going very well at this point.
>>
>> Any pointers would be appreciated.
>>
>> Thanks,
>>
>>  -Lee
>>
>> --
>> Lee Spector, Professor of Computer Science
>> School of Cognitive Science, Hampshire College
>> 893 West Street, Amherst, MA 01002-3359
>> lspec...@hampshire.edu, http://hampshire.edu/lspector/
>> Phone: 413-559-5352, Fax: 413-559-5438
>>
>> Check out Genetic Programming and Evolvable Machines:
>> http://www.springer.com/10710 - http://gpemjournal.blogspot.com/
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Laurent PETIT
Ok, so now, please take a look at this video (it's just 3 minutes),
and you'll get a grasp at how easy it is to bootstrap an Eclipse based
clojure environment : http://www.youtube.com/watch?v=1T0ZjBMIQS8

Works with eclipse 3.5 and eclipse 3.6.

I'm not claiming Eclipse / counterclockwise is better than IDE X or Y,
but that I've rarely have complaints in the ml concerning installation
problems.

Oh, and the video, while a little bit outdated, shows a bunch of
already existing features in Eclipse / Counterclockwise : the
namespace navigator, the clojure file "outline", navigating from the
namespace navigator and the file containing the definition of the var,
etc.

And to be totally clear, no there is currently no history in the REPL,
that's planned on our TODO list. :-)

-- 
Laurent

2010/6/29 Lee Spector :
>
> On Jun 28, 2010, at 5:31 PM, Greg wrote:
>> Have you tried IntelliJ with the La Clojure plugin? I tried all 3 IDEs and I 
>> was most impressed with IntelliJ IDEA. It's not too difficult to setup, and 
>> once you do it's really nice and has I think all of the stuff you asked 
>> about (syntax coloring, auto-completion, doc access, etc.).
>
>
> Thanks for the recommendation. Somehow I had overlooked this one previously.
>
> I just downloaded and installed it, installed the Plugin (a little weird that 
> there's no "Download and Install" button when you select the plugin, and you 
> have to know to right-click, but the assembla instructions told me I'd have 
> to right click it was okay), but then what?
>
> The assembla instructions 
> (http://www.assembla.com/wiki/show/clojure/Getting_Started_with_Idea_and_La_Clojure)
>  have a section for "To checkout a project from git" and a section for "To 
> open an existing maven-based project", but I don't want to do either. I want 
> to write and run some Clojure code from scratch. I'd like a REPL and an 
> editor buffer or two...
>
> Starting from Create New Project I clicked through a bunch of dialogs that I 
> didn't understand, said okay to a warning about not assigning a JDK (because 
> I didn't know what else to do there), and eventually got what looks like a 
> project window but not (as far as I see) an editor buffer or a REPL.
>
> Returning to the assembla instructions I saw (both in the git section and in 
> the maven section) "Choose Tools|Clojure REPL|Add new Clojure REPL to launch 
> a REPL on your project." So I tried this but got "Can't creat REPL. Clojure 
> home path is not configured correctly!"
>
> It's possible that this is the environment that I'm looking for, but my new 
> user experience is not going very well at this point.
>
> Any pointers would be appreciated.
>
> Thanks,
>
>  -Lee
>
> --
> Lee Spector, Professor of Computer Science
> School of Cognitive Science, Hampshire College
> 893 West Street, Amherst, MA 01002-3359
> lspec...@hampshire.edu, http://hampshire.edu/lspector/
> Phone: 413-559-5352, Fax: 413-559-5438
>
> Check out Genetic Programming and Evolvable Machines:
> http://www.springer.com/10710 - http://gpemjournal.blogspot.com/
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

On Jun 28, 2010, at 5:31 PM, Greg wrote:
> Have you tried IntelliJ with the La Clojure plugin? I tried all 3 IDEs and I 
> was most impressed with IntelliJ IDEA. It's not too difficult to setup, and 
> once you do it's really nice and has I think all of the stuff you asked about 
> (syntax coloring, auto-completion, doc access, etc.).


Thanks for the recommendation. Somehow I had overlooked this one previously.

I just downloaded and installed it, installed the Plugin (a little weird that 
there's no "Download and Install" button when you select the plugin, and you 
have to know to right-click, but the assembla instructions told me I'd have to 
right click it was okay), but then what?

The assembla instructions 
(http://www.assembla.com/wiki/show/clojure/Getting_Started_with_Idea_and_La_Clojure)
 have a section for "To checkout a project from git" and a section for "To open 
an existing maven-based project", but I don't want to do either. I want to 
write and run some Clojure code from scratch. I'd like a REPL and an editor 
buffer or two...

Starting from Create New Project I clicked through a bunch of dialogs that I 
didn't understand, said okay to a warning about not assigning a JDK (because I 
didn't know what else to do there), and eventually got what looks like a 
project window but not (as far as I see) an editor buffer or a REPL. 

Returning to the assembla instructions I saw (both in the git section and in 
the maven section) "Choose Tools|Clojure REPL|Add new Clojure REPL to launch a 
REPL on your project." So I tried this but got "Can't creat REPL. Clojure home 
path is not configured correctly!"

It's possible that this is the environment that I'm looking for, but my new 
user experience is not going very well at this point.

Any pointers would be appreciated. 

Thanks,

 -Lee

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Joost
On Jun 29, 5:50 am, Sean Corfield  wrote:
> If folks find the Java stack intimidating, maybe Clojure isn't for
> them? Lots of language run on the JVM and they all require some basic
> knowledge of classpaths, build tools and existing IDEs such as
> Ecliper, NetBeans, IntelliJ etc. If folks are new to all that, I don't
> think it's Clojure's job to teach them - there's plenty of literature
> out there about the JVM environment and tools.

I've programmed Java for a while, and frankly, the standard Java build
tools suck if you want to get anything done quickly. That's one of the
reasons IDEs are so popular in Java - once you figured them out, at
least they keep your dependencies in check without having to write
oodles of XML.

Anyway, you don't need that in Clojure. What I want is open an editor,
and start banging out code interactively. From what I've seen, leining
is probably the best
way to set that up. I much prefer Emacs/SLIME to any Java IDE.

My conclusion: whoever said above that there appears to be two
development/build-tool preferences based more or less on Java vs Ruby/
Perl/Python developers is right IMO. And  I'd probably recommend
leiningen to any newbie not coming from a Java background. Sure you
can write a few batch files to start your repl etc, but I think
leiningen is probably doing things the right way if you just want to
get started using whatever editor you like (plus, it supports Emacs/
SLIME out of the box, which is nice for Lisp programmers who've
probably already got the whole Emacs side of things set up correctly
anyway).

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Laurent PETIT
2010/6/29 Jared :
> I guess I'll throw in my 2 cents, since I'm a new guy with very
> limited Java experience.
>
> It is tricky getting Clojure to run, but not all of this is Clojure's
> fault. It took me 2 days to get it running on my desktop running
> ubuntu 10.04, with netbeans. I still have not been able to get the
> labrepl working with netbeans on my desktop. I've been working off and
> on getting Clojure to run on my laptop for a week now. My laptop had
> ubuntu 9.04, but there was some bug between ubuntu and java that was
> fixed in the later version. I upgraded to 10.04, now my touchpad and
> keyboard are not detected and I'm doing a complete reinstall...

Do you have details on what made you spend 2 days for having an
enclojure running environment ?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Lee Spector

On Jun 29, 2010, at 1:05 AM, Mike Meyer wrote:
>> Yes emacs has built-in paren matching but emacs (like vi) is something
>> that has to be learned, not all newcomers will know it, I don't want
>> to force my students to use it (although I use it)
> 
> But you're willing to force them to use some other editor?

The ideal is to provide an editor that can be used without effort because it 
follows the standard interface conventions of the platform. That's what's so 
helpful about the editors in MCL, DrScheme, Processing, etc. Each has fancy 
stuff too, available through platform-conventional menus etc., but you don't 
need a lesson to do basic editing tasks (as you do with emacs and vi).

> See, I find this funny. Getting emacs to do clojure indentation is
> pretty much exactly as hard as getting clojure to use some third party
> library: dump clojure-mode.el onto your load-path, and then load
> it.

Not true. I had several hiccups in the process of getting emacs clojure mode to 
work (maybe because I first tried an outdated way and then that left stuff that 
clashed the next thing I tried... there are a a couple of clojure-mode 
tools/installers out there) and so have others -- if you check the list 
archives you'll see that periodic calls for help with this.

> Considering that I've never seen an IDE that I thought had an editor
> that was "good enough for real use", I find that statement highly
> subjective.

What I meant here was pretty simple: New users can begin using the editor 
without any specific instructions about how to use the editor per se, and a 
semester later they can be writing substantial programs in the same editor 
without feeling like it's holding them back. In my experience that's true of 
the editors in many IDEs for many languages.

> Basically, you need someone to either a) write an editor for clojure,
> or b) provide instructions for setting up a suitable java-sourced
> editor (so it runs everywhere) to do clojure indentation, then bundle
> all that with clojure and clojure-contrib and a little bit of support?

I think that several versions of "nearly the right stuff" are available but 
that the bundling/instructions could be made a little more clear for newcomers 
in every case that I know of (each case maybe needing a slightly different 
tweak).

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Paul Moore
On 29 June 2010 06:11, cageface  wrote:
> On Jun 28, 9:14 pm, Michael Richter  wrote:
>> Ah.  The Clojure community has already started down the road to Common
>> Lisp-style, smugness-generated obscurity and disdain.  Bravo!  Well-played!
>
> Not at all. Nothing would make me happier than "Clojure for Dummies"
> and Wrox Professional Clojure books on the shelves of every Barnes &
> Noble programming section. It's pained me to watch Python and Ruby far
> outpace the growth of any functional language in the last ten years.
> I'd love to stop looking for excuses to sneak things like Clojure
> under the radar at work and actually have a management mandate to use
> them.

It is very, very hard to get a decent characterisation of "newbies".
It's too wide a range. You've lumped at least three different
possibilities in the paragraph above alone:

- Completely new programmers ("Clojure for dummies") who need to learn
things like "what is recursion", "how do I do the same thing 10
times", etc.
- Experienced programmers in a scripting language (Python/Ruby) who
know how to program and need to know how Clojure differs (and there's
a whole subrange in here).
- People who work in a "Java Shop" ("sneak things like Clojure under
the radar" - I'm making assumptions here) and who work with the JVM
regularly, but maybe have little or no experience with
"non-traditional" languages.

And by my own argument, there are many more possibilities. Each of
these groups will want something different (or more likely, look for
the "best fit" in what they can find, and ignore the bits they don't
need).

It's important to look at what people are actually asking for in each
case, and not offer a single generic response to everyone (you'd
offend me if you suggested I need "Clojure for Dummies", but on the
other hand, you'd look "elitist" to someone who had never programmed
before if you launched straight into recursion or the advantages of
immutability when a new programmer asked for help getting his "Hello,
World" program to write its output 10 times...)

> The fact remains though that Clojure trades in heavy concepts. The
> syntax alone will simply be a non-starter for at least half the
> potential audience. Toss in concurrency and non-mutability and
> ubiquitous recursion which are tricky concepts no matter how cleanly
> exposed in the language.

Only for certain audiences. And anyone can learn given a sympathetic
teacher. What I wouldn't do is expect people to have to pick up
multiple things at once. That's why, for people who are new to the
language concepts in Clojure, I'd say you want a "fast start"
environment which lets them get straight to writing (simple) code.
Writing a "hello world" program, or your first recursive factorial,
shouldn't be hard.

"java -cp clojure.jar clojure.main myprog.clj" isn't hard, but a
trivial script that wraps that as "clj myprog.clj" is a little less
intimidating (and as a bonus, matches the expectations of people who
have seen Python, Ruby, or any one of many others). And a
straightforward "if you like IDEs like Visual Studio, grab this
package for now and you're off" will help people who prefer an IDE.
(They can make their own choice from the various options later, when
they have more experience).

> As many posters have said in this thread, you
> really do have to have a decent grasp on Java to do real work in
> Clojure so you're already on the hook for two languages, one of which
> is a baroque and provincial monster.

OK, that's a good point. For people who won't have an issue with
Clojure's concepts (e.g. Lisp users, people with a wider range of
programming experience, etc) this means the message is "you want to
learn Clojure - presumably because it's a high-level, sophisticated
language - so you also need to learn Java" (which, frankly, is pretty
much the antithesis of a "sophisticated language" in many such
people's minds).

Maybe JVM experience can't be avoided. But it's a bitter pill to
swallow for a certain class of newbies (and this is where I'd place
myself) so why not try to make it easier? As some examples of what
could be done:

- Build a page of "JVM concepts for non-Java programmers"
- Collect links to tutorial information on the key JVM concepts,
looking particularly for material which is as language-agnostic as
possible. The Jython, JRuby, Groovy, Scala people presumably also have
this problem - why not share any generic links with them?
- Promote clojure-like alternatives to Java tools (Leiningen vs Maven)
for people with non-Java background. Work with such people to pick out
places where the documentation of such tools assumes too much
knowledge, and work to improve it (I'll help here!)
- Give examples of how to use the more obvious benefits of the
JVM-hosted environment:
  * How to find and use some of the huge range of 3rd party Java code
out there (not interop, but finding things on the net, referencing
them in your project, etc etc).
  * How to use the scalability of the JVM 

Re: Clojure's n00b attraction problem

2010-06-29 Thread Greg
Very insightful comments Chas!

I agree with most of what you've said, in the sense that I definitely see your 
point of view.

On Jun 28, 2010, at 7:17 PM, Chas Emerick wrote:

> Greg, thanks for this post, it's a helpful perspective.  Many of us have been 
> working on this problem from various angles (though often uncoordinated, but 
> that's how it goes), and I do what I can.  Here's some general 
> comments/thoughts in no particular order after re-skimming your post and the 
> comments on this thread so far:
> 
> - Clojure (and some environment for working with it) must be as "friendly" 
> and approachable for new users as possible.  It is not an "expert's" or 
> "professional's" language, at least in my conception, and thinking of it that 
> way will doom it to irrelevancy.  Our community has been extraordinarily open 
> and welcoming to newcomers for years, and any change in that posture would be 
> devastating.  I (thankfully) have little fear of this actually happening.

I hope you're right, because it seems like some people are really gunning for 
this silly "comp. sci. professors-only" perspective. It's made sillier still 
considering that one of the main motivations behind Clojure was to create a 
practical Lisp.

With regards to the "to-each his own" argument on environments, I definitely 
agree, but I was never suggesting that we impose any environment on anyone. 
Just that there be an excellent default environment that the docs can 
recommend. I see nothing wrong with that, it would only serve to help enhance 
the getting started experience. Again, look at Xcode.

I think someone said it well (I forgot who), but part of the reason why there's 
so much fragmentation amongst setups right now is because they all generally 
tend to suck in some way or another. If there was a single-awesome catch-all 
setup that served the needs of 80% of Clojure users, that would not be the 
case, and Clojure's community would thrive.

> Feeling like 1.2 is a requirement for learning clojure is unwarranted, and an 
> unfortunate side-effect of the gestalt of the community discussion.

I never said it was a requirement for learning Clojure.

I said that I as a semi-informed newb would like to use Clojure 1.2, and that 
it should be simple to do this. 'Should' is a strong word, and it will incite 
many to disagree, but that doesn't change the fact that mine is not a unique 
viewpoint. Perhaps, "there's no reason why there shouldn't be" would be a 
better way of putting it. In general, what should be simple is switching 
between clojure.jar files, whether you're switching to a bleeding-edge copy or 
not.

The Assembla wiki states:

reify is preferable to proxy in all cases where its limitations are not 
prohibitive.

And I intend to follow that advice. :-)

There's no reason for making it difficult to do so.

On a different note, is it normal for messages emailed to the list to take 
hours before appearing in the thread? I sent several replies to this thread and 
they've yet to appear (currently), it's been several hours. I would figure that 
once my initial message was approved my email address would be automatically 
white-listed..?

- Greg

> - Clojure is fundamentally a hosted language -- whether it's the JVM or the 
> CLR or Javascript or Cocoa or LLVM or Gambit or whatever other platforms 
> Clojure will be hosted on in the future, there will always be some tension 
> between Clojure and the underlying runtime.  The key is having tools around 
> that effectively plaster over that tension for long enough for newcomers to 
> tinker, get comfortable, and become effective in some small way before 
> forcing them to peel back the veil and understand things deeply.  Currently, 
> the classpath is the biggest thing that needs to be plastered over, but 
> that's a simple issue that, honestly, existing IDE plugins fundamentally 
> solved years ago.
> 
> - I suspect there will never be an "officially-sanctioned" toolchain, unless 
> one particular environment becomes so capable and ubiquitous and approachable 
> that it's pointed to because suggesting anything else would just be mean.  
> That's good, insofar as, to a certain extent, we're not sure what that 
> über-environment should look like (though I've been trying to cultivate a 
> conceptualization of that here, haphazard as it may be: 
> http://muckandbrass.com/web/x/DoBZ).  Yes, we'll "lose" some newcomers while 
> efforts are splintered, but if and until that changes, it's best to simply 
> say, "here's our best effort at getting you started, come find us in #clojure 
> or on the ggroup if you need help".
> 
> - Not all newcomers are alike.  What a Java programmer needs is very 
> different than what a Rubyist or pythonista or old-time lisper need.  This 
> fact needs to be taken into account when recommendations are being made for 
> build tools, editors/IDEs, etc. etc.  (I'll bet the correlation between prior 
> Java usage:clojure-maven-plugin::prior

Re: Clojure's n00b attraction problem

2010-06-29 Thread Jared
I guess I'll throw in my 2 cents, since I'm a new guy with very
limited Java experience.

It is tricky getting Clojure to run, but not all of this is Clojure's
fault. It took me 2 days to get it running on my desktop running
ubuntu 10.04, with netbeans. I still have not been able to get the
labrepl working with netbeans on my desktop. I've been working off and
on getting Clojure to run on my laptop for a week now. My laptop had
ubuntu 9.04, but there was some bug between ubuntu and java that was
fixed in the later version. I upgraded to 10.04, now my touchpad and
keyboard are not detected and I'm doing a complete reinstall...

Netbeans isn't my ideal environment either. I'd prefer vim, but having
an entire group dedicated to getting vim working with Clojure suggests
it is not easy. Then there's the Java commandline compilation stuff,
which I'd imagine is trickier than hitting compile in an IDE like
Netbeans.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Paul Moore
On 28 June 2010 22:41, cageface  wrote:
> On Jun 28, 12:16 pm, Martin DeMello  wrote:
>> It depends. I found the concepts pretty easy, since I have done a lot
>> of functional programming, but when I was new to clojure I had a truly
>> horrible time figuring out the various classpath issues needed to get
>> things working.
>
> What is it about the classpath in particular that people find
> difficult? Is it that different from things like PYTHONPATH or
> RUBYLIB? The main differences I can see are:

For me (and to be honest, I don't have any real problem with the
*concept* of the classpath, just with some of the practicalities) it's
the fact that by default, Clojure doesn't work. OK, that's overstating
it - the issue is that clojure.jar isn't on the *default* classpath.
This is hardly surprising, of course, but it does make it harder - you
encounter the classpath right at the start, before you even get
Clojure running. And unless you write your own wrapper, you keep
having to deal with it ("hmm, java -cp, now where did I put clojure,
D:\Apps\Clojure\clojure.jar, clojure.main, oops no, this is the PC
it's on the C drive. Or ..."). I know you can set the global
CLASSPATH, but that feels a bit too general - what else might it
affect?

The simple fix to that, of course, is to supply a small wrapper script
with clojure. The response "it's easy for you to write one yourself"
misses the point - we're talking about the out of the box experience.

If clojure.org included a "Download Clojure" link that pointed at a
zipfile containing clojure.jar, clojure-contrib.jar, and a wrapper
script (well, two, one for Unix, one for Windows) which set classpath
based on the location of the script and ran Clojure, then people could
download that, unzip it anywhere, and go. It doesn't solve all the
world's problems, but it sure simplifies the initial experience!

For what it's worth, here's a trivial clj.bat for Windows:

@echo off
setlocal
set CLASSPATH=%~dp0clojure.jar;%~dp0clojure-contrib.jar;%CLASSPATH%
java clojure.main %*
endlocal

Add as much extra complexity as you like, but that's enough for a starter.

Paul.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Paul Moore
On 28 June 2010 23:13, Lee Spector  wrote:
> and more recently I had to figure out about.dotted.names and their meaning 
> with respect to directory structures,
> in order to get require to find a second clj file. It's not complicated, but 
> it's also not obvious to everyone first coming
> to Clojure.

That's actually far more of a stumbling block than the classpath. In
my experience, very few languages/environments tie directory structure
and language identifiers (class name in Java, namespace in Clojure)
together as closely as the Java/JVM environment. As in, if you change
the filename, you have to change the namespace declaration as well -
and vice versa. Or Clojure can't find your code, and you have no idea
why :-(

And yet, there's no reference that I can see to this fact in any of
the Clojure tutorials. Not even in "Programming Clojure" (which is
generally a great book). I could have missed something, of course - I
wasn't looking for the information - but I've hit the issue a couple
of times, so I suspect if I had seen anything, I would have
remembered.

Paul.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Tim Robinson
Being a n00b, 1 year programming, not formally educated in such, 2
weeks with Clojure
I am going to agree. Clojure is NOT n00b friendly. The easiest setup I
have ever seen dealt with is python.

* Most n00bs want a "hello world" in an application output (via script
or compojure). Not in a repl. The repl is a tool to get you there. In
order to do this users should really have a 7 step guide on leinington
and optionally compojure, unfortunately it's so poorly documented and
incorrectly documented it's frustrating for n00bs. In my case I
thought I was downloading the current version @4.0, which quite
frankly bites because it won't run version 1.2 clojure, which most
blogs use functions from. And almost every blog/doc on leinington is
old omits/incorrectly states basic steps.(ie they walk you all the way
through to lein uberjar, but don't actually put a namespace in the
project.clj example), therefore none of the classes compile). If
you're on macsox, and get the namespaces down even then the current
leinington release barfs on DS_store files (the hot to trot release
doesn't however).

Quite frankly I love Clojure, but I TOTALLY agree -> The clojure world
is not stable even if clojure core is.

The thing is that it's S close. After days of sifting through all
the BS, I don't know why we couldn't have the relevant 7 easy steps
documented linked from the front page of clojure.org. To do so however
still requires all the bleeding edge versions.

My 2 cents.
Tim







On Jun 27, 3:58 pm, Greg  wrote:
> This weekend I've been diving head-first into Clojure, and I've documented a 
> lot of the sticking points that I've run into as a n00b.
>
> I'd like to share them with the community here, in the hopes that we might be 
> able to improve the getting started experience for people considering Clojure:
>
> http://gregslepak.posterous.com/clojures-n00b-attraction-problem
>
> In the post I cover issues with:
>
> - Obtaining Clojure
> - Running Clojure
> - IDEs
> - Emacs/VIM
> - Build systems
> - Documentation
>
> Cheers,
> Greg

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Greg
On Jun 28, 2010, at 4:44 PM, Lee Spectorr wrote:

> CLJ might indeed be handy but an editor is essential, and neither this nor 
> the other options mentioned in the CLJ readme includes one as far as I know. 
> My minimal requirements for an editor are that it have a interface that will 
> be natural to any user of the platform and that it provide 
> language-appropriate indentation. Syntax coloring, auto-completion, and 
> integrated access to documentation would also be highly desirable, but not 
> essential.
> 
> -Lee

Have you tried IntelliJ with the La Clojure plugin? I tried all 3 IDEs and I 
was most impressed with IntelliJ IDEA. It's not too difficult to setup, and 
once you do it's really nice and has I think all of the stuff you asked about 
(syntax coloring, auto-completion, doc access, etc.).

- Greg



> 
> --
> Lee Spector, Professor of Computer Science
> School of Cognitive Science, Hampshire College
> 893 West Street, Amherst, MA 01002-3359
> lspec...@hampshire.edu, http://hampshire.edu/lspector/
> Phone: 413-559-5352, Fax: 413-559-5438
> 
> Check out Genetic Programming and Evolvable Machines:
> http://www.springer.com/10710 - http://gpemjournal.blogspot.com/
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Paul Moore
On 28 June 2010 19:49, Mike Meyer
 wrote:
>> Yet another set of choices n00bs are faced with is figuring out how
>> to actually compile their source into an executable.
>
> Executable? We're talking about Java here. It doesn't do executables -
> it does jar files. There's little reason to build those as a newb, as
> it's not noticeably harder to run the source than it is to run a jar
> file - or to import them if you're building libraries.

We're not talking about Java here, we're talking about clojure!

A certain proportion of new clojure users are coming from
non-Java/non-JVM backgrounds. To them, "how do I make an executable"
is a perfectly valid question. And "clojure doesn't do executables"
isn't a particularly encouraging answer (not even if you blame Java
for it :-)) Classpaths, server vs client JVMs, ant/maven, all of these
are confusing hurdles to get over if you don't have any Java
experience.

For such people, introductory clojure material needs to (a) assume no
JVM/Java knowledge, and (b) provide some guidance for how to interpret
the inevitable Java terminology that a newcomer will encounter. For
example:

Q: How do I make an executable in clojure?
A: Clojure scripts can be executed in a similar manner to scripting
languages like Python or Perl - clj myscript.clj. [Note: a standard
clj wrapper script should be supplied with clojure!] However, even
when executed like this, clojure code is compiled (for more details
read up on JVM bytecode, and the Java "just in time" compilers). You
can compile clojure code into a "jar" file - which is a JVM executable
format which can be run using the "java" command (insert reference to
more detailed explanation here). More or less self-contained formats
(bundling dependencies, or hiding the invocation of the "java"
command) are possible, but are generally reserved for more specialised
applications.

Q: What are ant, maven?
A: JVM build systems, commonly used in the Java world. The clojure
community is beginning to standardise on Leiningen (insert reference
here) which uses a more clojure-like language for describing builds,
but which works with the existing ant/maven infrastructure (so all of
the existing libraries available via these tools are available for
free in Leiningen).

If these examples are useful, feel free to add them to a FAQ or newbie
documentation.

Paul.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Greg
Sean,

There are many ways in which one could have the point of view that getting 
started with Clojure is simple.

As I tried to illustrate in the post, there exist other points of view from 
which this is not true.

Just because you found it easy to get started, does not mean others do, and 
judging from the reaction to my post, I'm by no means the only person to feel 
this way.

You went to a bootcamp to learn clojure, you found some Clojure-MacOSX package, 
and you're perfectly fine with using a Terminal and TextMate. Others do not 
come from your point of view.

This entire discussion is an exercise in accepting the fact that hundreds of 
other people who want to learn Clojure and are very much interested in it, 
nevertheless find it very difficult to get started. Just because you found it 
simple, does in no way invalidate their point of view.

It will only help the language and the community if we address their concerns. 
Plus, it's just a nice thing to do.

If I have time, I'm going to see what I can do about improving clojure's API 
docs, and if anyone is already working on this sort of project, I'd be 
interested in possibly helping out.

- Greg

On Jun 28, 2010, at 9:01 PM, Sean Corfield wrote:

> On Sun, Jun 27, 2010 at 2:58 PM, Greg  wrote:
>> This weekend I've been diving head-first into Clojure, and I've documented a 
>> lot of the sticking points that I've run into as a n00b.
>> 
>> I'd like to share them with the community here, in the hopes that we might 
>> be able to improve the getting started experience for people considering 
>> Clojure:
>> 
>> http://gregslepak.posterous.com/clojures-n00b-attraction-problem
> 
> Whilst I have some sympathy with the apparent range of choices, as
> someone who is also new to Clojure (I attended Amit Rathore's
> "bootcamp" in May as my very first exposure to the language), I think
> you've made life much worse for yourself than you needed to...
> 
> I'm on a Mac so I use TextMate with a Clojure bundle or I use vi. I
> don't think you need to worry about an "IDE" when you're first
> learning a language. Finding and installing a simple clj script is
> pretty easy, IMO (I used the Clojure-MacOSX package to get my initial
> Clojure installation up and running), but mostly I work with lein for
> 'building' stuff. Getting lein installed was pretty simple, then it's
> just a case of 'lein new projectname', drop into the new directory,
> 'lein deps' and then 'lein test'. At that point you can edit the
> tests, edit the source and compile, test etc as much as you want.
> 
> I recently had cause to create a JAR that allowed me to call Clojure
> from a Java web application. There was a pretty good example of that
> on clojure.org as I recall. 'lein uberjar' was key there. It was about
> as hard as I would have expected such an experience to be with any new
> language (new overall and new to me).
> -- 
> Sean A Corfield -- (904) 302-SEAN
> Railo Technologies, Inc. -- http://getrailo.com/
> An Architect's View -- http://corfield.org/
> 
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Greg
> A certain proportion of new clojure users are coming from
> non-Java/non-JVM backgrounds. To them, "how do I make an executable"
> is a perfectly valid question. And "clojure doesn't do executables"
> isn't a particularly encouraging answer (not even if you blame Java
> for it :-)) Classpaths, server vs client JVMs, ant/maven, all of these
> are confusing hurdles to get over if you don't have any Java
> experience.

Thanks Paul, you get it. :-)

To Mike: I of course know what a jar file is, but your nitpicking at my choice 
of words of "executable" is unhelpful, abrasive, and totally counterproductive.

A jar file with a main class is the pretty much an executable for all intents 
and purposes. The question "how do I make an executable from my source code in 
Clojure?" is, as Paul points out, a perfectly valid question that newbs to 
Clojure *will ask*, and they need a good answer. Not "there's not such thing as 
an executable you n00b! Bah humbug!"

BTW, I really like Paul's Q&A's, how would one go about getting something like 
that on either clojure.org or the Assembla wiki?

- Greg

On Jun 28, 2010, at 4:02 PM, Paul Moore wrote:

> On 28 June 2010 19:49, Mike Meyer
>  wrote:
>>> Yet another set of choices n00bs are faced with is figuring out how
>>> to actually compile their source into an executable.
>> 
>> Executable? We're talking about Java here. It doesn't do executables -
>> it does jar files. There's little reason to build those as a newb, as
>> it's not noticeably harder to run the source than it is to run a jar
>> file - or to import them if you're building libraries.
> 
> We're not talking about Java here, we're talking about clojure!
> 
> A certain proportion of new clojure users are coming from
> non-Java/non-JVM backgrounds. To them, "how do I make an executable"
> is a perfectly valid question. And "clojure doesn't do executables"
> isn't a particularly encouraging answer (not even if you blame Java
> for it :-)) Classpaths, server vs client JVMs, ant/maven, all of these
> are confusing hurdles to get over if you don't have any Java
> experience.
> 
> For such people, introductory clojure material needs to (a) assume no
> JVM/Java knowledge, and (b) provide some guidance for how to interpret
> the inevitable Java terminology that a newcomer will encounter. For
> example:
> 
> Q: How do I make an executable in clojure?
> A: Clojure scripts can be executed in a similar manner to scripting
> languages like Python or Perl - clj myscript.clj. [Note: a standard
> clj wrapper script should be supplied with clojure!] However, even
> when executed like this, clojure code is compiled (for more details
> read up on JVM bytecode, and the Java "just in time" compilers). You
> can compile clojure code into a "jar" file - which is a JVM executable
> format which can be run using the "java" command (insert reference to
> more detailed explanation here). More or less self-contained formats
> (bundling dependencies, or hiding the invocation of the "java"
> command) are possible, but are generally reserved for more specialised
> applications.
> 
> Q: What are ant, maven?
> A: JVM build systems, commonly used in the Java world. The clojure
> community is beginning to standardise on Leiningen (insert reference
> here) which uses a more clojure-like language for describing builds,
> but which works with the existing ant/maven infrastructure (so all of
> the existing libraries available via these tools are available for
> free in Leiningen).
> 
> If these examples are useful, feel free to add them to a FAQ or newbie
> documentation.
> 
> Paul.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-29 Thread Avram
Full disclosure, I never liked ruby or python, I'm more of a perl/c++/
R guy.

I'm new to clojure as well, and love it. I don't mind learning LISP at
all.  I find it refreshing.   It takes the bureaucracy out of Java.
When I can, I explore ways in which incanter, cascalog, hadoop,
mahout, weka, and compojure might play nice together.  If they can, I
will be pretty ecstatic.

I'm not a CLASSPATH expert by any means, but I think Leiningen should
be the tool to deal with all that.  I really like the idea of the
project.clj file.  I just add a few lines to that and lein does the
rest.  I think letting Leiningen solve installation problems is a good
way to go.  Even for newbies.

Go Leiningen!!


~Avram

On Jun 28, 12:58 pm, cageface  wrote:
> On Jun 28, 12:25 pm, Daniel Gagnon  wrote:
>
> > I believe that the success of ruby is due in great part to *Why's Poignant
> > Guide to Ruby* and *Learn You a Haskell* is doing the same for Haskell. It's
> > fun to read, it holds your hand in setting up everything you have to and it
> > makes you want to learn more.
>
> I'm not so sure. Certainly things like the poignant guide made getting
> started with Ruby easier, but I'd argue that the success of Ruby has a
> lot more to do with how simple the core language it is and how easy it
> makes it to get simple things done. Conversely, despite increasingly
> beginner-friendly docs and one-shot installers I don't get the
> impression there's a bit upsurge of interest in Haskell outside of
> circles of elites or language afficionados. Haskell just isn't the
> kind of language that lets you slap a couple of web forms on a
> database 30 minutes after getting started. It's a power language for
> power users, like Clojure. I've been following FP for about ten years
> now and in that time I've seen Ruby and Python grow like gangbusters
> while languages like Haskell make very small, incremental inroads into
> niche areas. I don't expect this to change.
>
> Again though, I'm all for making the beginner's experience no harder
> than it absolutely has to be. No point having people turned away by
> things extrinsic to the language.
>
> I often find myself frustrated browsing through the docs that there
> aren't concrete examples for most of the functions in the API. I
> always have to google their usage or find an example in the clojure
> code. I'd be happy to help flesh out the docs with some usage examples
> if this kind of help is wanted.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-28 Thread Tim Daly



Mike Meyer wrote:

"cageface"  wrote:
  

The problem is that actually getting anything
done with Common Lisp is a nightmare. 

Really? Axiom was one of the three largest commercial computer
algebra systems (alongside Mathematica and Maple). It contains
about 1 million "things of code" ("lines of code" is meaningless in lisp).

Axiom does windowing, 2D and 3D graphics, and communicates
with a firefox browser. In its commercial lifetime it had the NAG
fortran numeric library in the back end.

This is one of many commercial products that use lisp.
You just never hear about it. After all, do you know what
languages are behind the commercial software you use?
Do you even care to know? Try this:

http://cs.gmu.edu/~zduric/cs580/pgtalk-rev2.pdf

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-28 Thread Tim Daly

Nothing about lisp is particularly difficult.
Pandoric macros, closures, continuations,
reader tables, circular structures, lexical
vs dynamic scoping, indefinite lifetimes,
quasiquoted expressions, or any of the other
simple ideas.

They are, of course, only simple once you "get it".

Like everything else, learning a new language really
requires you to immerse yourself in the problem. The
kid down the street can play any song you mention on
his guitar if you just mention the name of the song and
even songs that are not written for the guitar. Why?
Because he never, ever puts the guitar down. I, on
the other hand, have "played" guitar for 15 years
and still find learning a song difficult. In his view
I'm still a n00b. Guitars are not hard to learn but
you have to give them the time and attention they need.

I can't even claim that "those elitist guitarists"
haven't written documentation for a n00b because I
have all the books and CDs I could ever want.

Pointing out that lisp is "hard to learn" and those
that "get it" are elitist isn't going to help. I can
say the same thing to the guitar-kid and it still
won't help me play better. What WILL help is if I
would dedicate the time and attention the task needs.

Tim

Daniel Gagnon wrote:



On Tue, Jun 29, 2010 at 12:39 AM, Brent Millare 
mailto:brent.mill...@gmail.com>> wrote:


While I agree his wording wasn't really the best, I think it can also
be interpreted differently depending on what kind of n00b he is
talking about.


Your wording isn't much better or maybe it's the idea underneath that 
doesn't sit right. You basically said "They are newbs who couldn't 
grasp our language, we are elite but there's no shame in being a newb 
because what we do is so hard!"


It's not harder to learn Clojure's concurrency than pointers or tons 
of others things we teach beginners every day. I'd totally teach 
clojure as a first language.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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 post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure's n00b attraction problem

2010-06-28 Thread Brent Millare
Daniel,

I think you're missing my point or I may have not said it correctly.
You can use clojure to teach basic programming concepts but that has
already been done in other languages and thats why we don't really see
that work or discussion being done with clojure. You cannot say
teaching the advanced topics of concurrency and macro writing is easy
to a beginner to programming who doesn't even know what a variable is.
The main advantages of clojure are on non-trivial topics and this is
what the core developers work on and thus, we haven't seen much
development in teaching concepts that are also solved in older
languages.

I certainly encourage the idea of teaching clojure to beginners so
that more will be familiar with the syntax. Modifying your words, its
more like I said, "They are newbs who don't grasp programming, so they
should take some basic programming classes before learning about the
more advanced topics like macro writing", otherwise most of the
content will be useless to them. (Also it would be great if that class
used clojure as the language, but I wouldn't have that expectation).
While I can teach the big picture concepts or advantages of using
things like transactions with diagrams and other learning aids, having
the student properly utilize that information and from it produce code
will take a lot of time. As a personal account, learning pointers was
HARD, I really didn't get the concept of pointers until the beginning
of highschool in self study. I wasn't able to use pointers in code
reliably until college.

In an example like basketball, I wouldn't expect a person to start
practicing crossups if he couldn't even dribble a ball.

Keep in mind, I'm not saying concurrency is harder than pointers, I'm
just saying it comes later in the learning experience compared to
other basics. This is different than a, clojure is only for elites
viewpoint.

Best,
Brent
On Jun 29, 12:54 am, Daniel Gagnon  wrote:
> On Tue, Jun 29, 2010 at 12:39 AM, Brent Millare 
> wrote:
>
> > While I agree his wording wasn't really the best, I think it can also
> > be interpreted differently depending on what kind of n00b he is
> > talking about.
>
> Your wording isn't much better or maybe it's the idea underneath that
> doesn't sit right. You basically said "They are newbs who couldn't grasp our
> language, we are elite but there's no shame in being a newb because what we
> do is so hard!"
>
> It's not harder to learn Clojure's concurrency than pointers or tons of
> others things we teach beginners every day. I'd totally teach clojure as a
> first language.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


  1   2   >