Re: Clojure's n00b attraction problem
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
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
> 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
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
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
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
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
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
> 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
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
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
>> > 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
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
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
> 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
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
> 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
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
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
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
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
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
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
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
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
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
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
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
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
> > 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
> 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
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
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
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
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
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
...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
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
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
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
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
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
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
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
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
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
> > > 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
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
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
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
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
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
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
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
> 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
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
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
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
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
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
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
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
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
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
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
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
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
> 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
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
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
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
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
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
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
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
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
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
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
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
"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
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
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
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
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/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
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
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
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
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
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
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
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
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
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
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
> 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
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
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
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
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