Why I have chosen not to employ clojure

751 views
Skip to first unread message

Tim Johnson

unread,
Mar 21, 2010, 2:42:12 PM3/21/10
to clo...@googlegroups.com
I have evaluated clojure for the last couple of days, and it is both my own
professional decision and my recommendation to the professional organizations
that I belong to and report to that clojure is not ready for prime time.

Before any of you think that I am a disgruntled newbie turned troll, know
the following:

1)As soon as I see the copy of this email in my "clojure mailbox", I will
unsubscribe from this mailing list, delete the clojure mailbox and I will not
be following up in any way.

2)In as much as clojure is a new programming language with a small but
enthusiastic user base and a brilliant developer I confess to a certain deja vu
here. That would be rebol 10 years ago. Brilliantly conceived, brilliantly
designed by one of the best programmers on the planet. Never went anywhere.
I've used rebol for 10 years steadily and made a lot of money with it, but
there is almost 0 demand for rebol programmers out there.

3)Although I may be a noob with it comes to clojure and even more of a noob
when it comes to java, I have been a professional analyst and programmer for 21
years and own my own company. Many seasoned programmers, analysts and system
adminstrators look at a new system as something to "employ". As a front end for
java, I do not consider clojure to be "employable".

I think that clojure is brilliantly conceived and it is clear from what I have
read of Rich Hickey's words that his vision is right in the same channel with
mine, but that is not the problem. The fact that I respect the developer and
the product is the reason that I have taken this time to write this email.

The reason I choose NOT to employ clojure can be summed up in three words.
-------------------
Install and deploy.
-------------------

I consider this to be clojure's fatal weakness. Certainly I can get clojure up
and running, but "selling" clojure to a sysadmin is going to be a problem at
this time. There was a time when PHP was NOT present on virtually all webservers.
PHP got it's "foot in the door" because it was very easy to deploy.

Consider the two threads that I started up - one is titled "Web programming in
Clojure" - there's the good stuff. Generous reponse, lots of input.

The other one is titled "Installation issues on slack 13.0 (ant?)". This where
it all falls apart.

Sadly, this is like the first impression and we all know how lasting first
impressions are. In fact as you can see, the thread ended with no resolution.
I'm sorry to pick on "steve" but his response is a case study

* Steve <stephen....@gmail.com> [100320 05:24]:
> Reading the getting started page on the website will get you further
> still : http://clojure.org/getting_started

Sadly inadequate! Check out the comparable kawa resources and instructions for
a better example.

> If you do need ant then a more modern distro will make your life much
> easier (eg. apt-get install ant).

Again, so inadequate. I also use ubuntu. Have for years. apt-get is a thing
of beauty. When it works. And bye the way, slackware is much more modern
when it comes to up-to-date build tools. So know I not only have to "sell"
clojure to the sysadmins, I have to sell them ubuntu too? Good luck with
that!

Here's how I installed the flash player on my system.
1)Downloaded install_flash_player_10_linux.tar.gz
2)Unzipped libflashplayer.so
3)Copied to /usr/lib/firefox-3.5.2/plugins/

Make clojure "install and deployment" like the example above and more of us will
EMPLOY clojure and 10 years from now there WILL be a market for clojure
programmers.

Goodby and good luck.
--
Tim
t...@johnsons-web.com
http://www.akwebsoft.com

Fogus

unread,
Mar 21, 2010, 2:47:06 PM3/21/10
to Clojure
> 1)As soon as I see the copy of this email in my "clojure mailbox", I will
> unsubscribe from this mailing list, delete the clojure mailbox and I will not
> be following up in any way.

Really? This is not c.l.l and it's not likely that this thread would
have devolved into flaming or worse. It's unfortunate he feels the
need to take such an extreme measure because I didn't read his post as
a troll and felt that a dialog about his issues might have been
enlightening.

Cosmin Stejerean

unread,
Mar 21, 2010, 4:11:57 PM3/21/10
to clojure
I don't understand the complaints about installing Clojure. As far as I know there's nothing required to 'install' Clojure beyond downloading the clojure.jar, other than I guess having a working Java installation.

Similarly, I don't understand the difficulties in deploying Clojure applications. At least as far as web applications go, I really like the one WAR file deployment of Java applications. It's certainly far easier in general than deploying Python applications for example.

--
Cosmin Stejerean
http://offbytwo.com

Quzanti

unread,
Mar 21, 2010, 4:37:42 PM3/21/10
to Clojure

Reading his post I got the impression he was a bit of an egocentric (a
bit more information about himself than was relevant), those sorts
tend to overreact.

However I can imagine the whole just bung the jar file on your
classpath thing wouldn't make much sense for a java newbie. It may
highlight the need for some special 'getting started' documentation
for Lisp programmers who have never used java, which I understand to
be one target audience of clojure.

Laurent PETIT

unread,
Mar 21, 2010, 4:39:24 PM3/21/10
to clo...@googlegroups.com
Yeah,

too bad he removed his entry, 'cause as you said, installing clojure
isn't harder than installing anything java based. I don't know of a
sysadmin nowadays which had not to deal with java stuff in a way or
another ? And ant is around the place *for years*. So more input from
him may have helped more clearly identify the root problem.

2010/3/21 Cosmin Stejerean <cstej...@gmail.com>:

> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>
> To unsubscribe from this group, send email to
> clojure+unsubscribegooglegroups.com or reply to this email with the words
> "REMOVE ME" as the subject.
>

Quzanti

unread,
Mar 21, 2010, 5:27:05 PM3/21/10
to Clojure
But if he had never been in the Java mindset it wouldn't be obvious to
him that
there is nothing to be gained by compiling your own java code.
Platform independence,
bytecode etc means that a jar file of the stable build is the optimum
solution. That is so
obvious to us we forget that its a revolution for someone new to java.
So he probably
went down some compile from source to optimise for your architecture
route that made
perfect sense to him, but led him onto a iceberg (the captain of the
titanic *knew* that a
ship could turn in time because that is what all his previous
experience
on smaller ships led him to believe)

On Mar 21, 8:39 pm, Laurent PETIT <laurent.pe...@gmail.com> wrote:
> Yeah,
>
> too bad he removed his entry, 'cause as you said, installing clojure
> isn't harder than installing anything java based. I don't know of a
> sysadmin nowadays which had not to deal with java stuff in a way or
> another ? And ant is around the place *for years*. So more input from
> him may have helped more clearly identify the root problem.
>

> 2010/3/21 Cosmin Stejerean <cstejer...@gmail.com>:
>

cageface

unread,
Mar 21, 2010, 5:56:59 PM3/21/10
to Clojure
What a strange reason to dismiss Clojure. And also strange to refuse
any further input.

Stuart Sierra

unread,
Mar 21, 2010, 6:05:06 PM3/21/10
to Clojure
I agree that the Clojure first-run experience is too rough. Both
Scala and JRuby, for example, are complete packages that you can
download, unzip, install, and run -- on any platform -- without
knowing anything about Java.

Clojure needs to provide the same experience, even if it only matters
for first-time users.

-SS

Lee Spector

unread,
Mar 21, 2010, 6:08:38 PM3/21/10
to clo...@googlegroups.com

I have some sympathy with some of what Tim wrote, although I think that I'll be working in and enjoying Clojure for some time to come (really -- I'm finding it to be fantastic in many ways -- including the community). I'm not sure I agree with or even understand all of Tim's complaints, but as a relative newcomer to the Java world I share some of his thoughts about getting started.

The last two environments I've worked/taught in have been DrScheme and Processing, and both of these have the virtue that you download/install one thing and instantly have an intuitive IDE within which you can write and run code. Same for MCL way back in the day, and for just about any other environment in which I've done much work or teaching (egads, back to Turbo Pascal and Think C). BTW Processing even has a one button "export applet" function that makes web deployment of applets trivial, and this is REALLY attractive to students with non-compsci backgrounds and other total newcomers to programming.

To many of you setting up Clojure probably seems just about as simple, and you may be thinking "Jeez -- if they can't even do that then how do they expect to be able to do anything interesting with the language anyway?" But for newcomers to Java -- even newcomers with lots of coding experience in other environments -- the issues with classpaths and putting jars in the right places can be pretty frustrating, to say nothing of the hoops one has to jump through to set up slime or the other available IDEs (even with the very nice videos that some of you have made, because there are enough steps and platform dependencies that things can go wrong in many ways). Although I now have a nice environment set up I'm still a little worried about how I'll deal with setup on all of the machines in our lab, and on the laptops of students with no previous experience...

I'm sure that this can and will be overcome, in part because I think that for my main environment (Mac OS X) and for my needs (which are more about ease of starting to write and run code than about deployment) MCLIDE/Clojure is very close already (three cheers for Terje!).

So whatever else might have been right or wrong about Tim's post, I agree that it could be a little easier for total newcomers to get going... and I think the community will grow even more quickly when it is.

-Lee

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspe...@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/

Anniepoo

unread,
Mar 21, 2010, 6:32:10 PM3/21/10
to Clojure
It certainly does seem strange coming from the Java world, where ear
files and deployment descriptors can be intimidating. The idea that
adding a couple jar files and the source tree to
the classpath is 'too hard' makes me wonder what language he was
coming from.

I was asked to give a simple 'hands on clojure' thing at a Java users
group. I wanted to spend
minimal time on environment setup, so I had these java developers put
the jars and my starter script in a directory, cd into it, and add .
to the classpath.
Out of the room of programmers I had one person have trouble getting
the starter project to come up pretty much immediately, and whatever
his issue was I fixed it in a few seconds.

For the record, I downloaded and installed Rebol - took about the same
time to get to where I was fiddling with code and not environment as
it did when I started clojure.
I was puzzled which version to download and had to figure out there
was a free version (under 15 sec)
828K download.
found a reasonable tutorial immediately, got my first language smell
when I discovered that they wanted me to use a built-in editor,
quickly got over that when they said most rebol programmers use an
external editor.

Learning curve - far fewer 'strange' concepts than clojure, I came up
pretty fast, but it definitely has a toy language feel. I'm guessing
it'd be a lot like programming in visual basic - quick til you need to
do something 'off the rails' like handle a UDP stream, then hellish.
Looks like another attempt to make an ultra-friendly language at the
expense of power - a 'solution' that usually doesn't get you too far.

deployment - ok, so rebol looks bad to deploy. You have to install a
runtime and give out the source, both probably not very enterprise-
solution oriented sysadmin friendly. And the server side example uses
CGI, which doesn't pass the smell test.

Conclusion -
rebol actually might be a reasonable solution for a project I'm
talking to the biz guy about. It'd involve a whole bunch of objects in
a virtual world that need controlled from some web other end. Rebol
has deployment problems, I'll agree, but don't see them as relevant to
Clojure.

I think our friend's off base.

Cosmin Stejerean

unread,
Mar 21, 2010, 6:40:24 PM3/21/10
to clojure
I have a project on github that I think comes pretty close. I created it so I can have separate clojure environments for different projects without having to muck with lein or maven (not to mention neither lein or clojure-mavne-plugin were available at the time AFAIK). I still find this the quickest way to get Clojure working on a new machine.I would appreciate any feedback.

 

Mark Derricutt

unread,
Mar 21, 2010, 6:56:37 PM3/21/10
to clo...@googlegroups.com
Thanks for the pointer to MCLIDE!  That looks really nice!  Any idea if a 64bit build is in the works?  For some reason I feel dirty about having to install Rosetta :)

--
Pull me down under...

e

unread,
Mar 21, 2010, 6:58:42 PM3/21/10
to clo...@googlegroups.com
there's a positive reason to say all that stuff as if to say, " and it's not that I'm a slouch.  I have been able to succeed with other technology."  I've personally had tons of trouble getting going with clojure, and I use java all the time.  I think the ideas in clojure are awesome, and I like the language, but if folks have never looked at Fan/Fantom ... as far as getting into it, *that's* about the gentlist you can get into anything.  The website was written in Fantom, it's a one stop shop for getting started ... not that I like that language better or anything, but, seriously ... that's a fun exercise.  It's very inviting and welcoming and I wish that a page could be taken from that approach -- I think he wouldn't have had any of the same opinions if it had.

And I realize I'm not being very concrete: I'd had plans to write up what I thought some specific differences were.  Now I'm just left with an impression ... an impression that Fantom wants you to LOVE that language . . . .and an impression of clojure that you have to want to love clojure (so then you have to make a lot of complicated arguments as to why that is so, which, by the way, I think are beautifully presented in Clojure In Action).

And don't get me started on trying to get emacs or vi all hooked up on my mac.  I've never succeeded.  Summary: I agree to some extent.  clojure is awesome.  I wish I could use it at work, but it's an incredibly hard thing to sell.

Marek Kubica

unread,
Mar 21, 2010, 5:08:11 PM3/21/10
to clo...@googlegroups.com
On Sun, 21 Mar 2010 10:42:12 -0800
Tim Johnson <t...@johnsons-web.com> wrote:

> Here's how I installed the flash player on my system.
> 1)Downloaded install_flash_player_10_linux.tar.gz
> 2)Unzipped libflashplayer.so
> 3)Copied to /usr/lib/firefox-3.5.2/plugins/

Here's how I installed the Clojure REPL on my system.
1) Downloaded clojure-1.1.0.zip
2) Unzipped clojure.jar
3) Ran java -jar clojure.jar

Hardly any different.

FWIW, posting on a list and declaring immediately that one will
unsubscribe afterwards, not even reading replies is near-flamebait
quality.

regards,
Marek

Mike K

unread,
Mar 21, 2010, 7:55:57 PM3/21/10
to Clojure
> I would appreciate any feedback.

According to the readme it requires bash or zsh. Any plans to support
windows (without cygwin or other unix emulation)?

I agree with Stuart that the user experience should be friendly on all
supported platforms.

Mike

Antony Blakey

unread,
Mar 21, 2010, 9:12:40 PM3/21/10
to clo...@googlegroups.com

On 22/03/2010, at 9:28 AM, e wrote:

> And don't get me started on trying to get emacs or vi all hooked up on my mac. I've never succeeded.

I'm about to use Clojure commercially, but it's been a frustrating exercise getting setup. I've ended up using LaClojure on IntelliJ, but that wasn't trivial because of a plugin versioning issue. CCW doesn't autoindent (I know that's coming) and I've been unable to get Enclojure's project REPL to work when using Clojure 1.2. I had a stretch of using almost Emacs exclusively for 15 years, but compared to any IDE thats absolutely not newbie friendly, and not as good as an IDE IMO. In any case, the package manager hangs 80% of the time trying to grab stuff from the net.

IMHO a significant sociological issue is that so many clojure devs use Emacs, are coming at this from a 'rebirth-of-lisp' POV, and seem to have adopted the cultural values of Lisp when it comes to development practices. To be successful however Clojure needs to adopt 'mainstream' values - introduce just one 'different' thing i.e. the language, rather than expecting people to adopt both the language, and a different development environment / toolchain e.g. leiningen etc (which IMO is classic NIH). You can't cross the chasm with too much baggage. Personally I don't believe this will happen unless core developers use the tools and practices that users want to use. The end-user itches and the developer itches need to be aligned.

Just my $0.02.

Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

It's amazing that the one side of the conversation that survived is "I don't know art, but I know what I like". The reply from the artist was "Madam, so does a cow".
-- Carl Kirkendall


Richard Newman

unread,
Mar 21, 2010, 9:32:34 PM3/21/10
to clo...@googlegroups.com
> To be successful however Clojure needs to adopt 'mainstream' values
> - introduce just one 'different' thing i.e. the language, rather
> than expecting people to adopt both the language, and a different
> development environment / toolchain e.g. leiningen etc (which IMO is
> classic NIH).

I think that depends on your definition of "successful".

If you think "popular with mainstream Java developers" is the
definition of success, then yes: not scaring those poor folks is
important.

I don't count that as success -- I call that popularity. I'd much
rather have Clojure make me personally productive (and that means
Swank, standalone REPLs, introspective debugging, etc.) than somehow
feel validated because lots of faceless Java folks can get past some
environment issue, only to reach the point of being scared away by the
parentheses and immutable functional programming.

Ultimately, though, it all comes down to "here are some jars". If a
Java developer can't figure that much out, they're probably not going
to get very far regardless.

David Nolen

unread,
Mar 21, 2010, 10:00:27 PM3/21/10
to clo...@googlegroups.com
On Sun, Mar 21, 2010 at 9:12 PM, Antony Blakey <antony...@gmail.com> wrote:

On 22/03/2010, at 9:28 AM, e wrote:

> And don't get me started on trying to get emacs or vi all hooked up on my mac.  I've never succeeded.

I'm about to use Clojure commercially, but it's been a frustrating exercise getting setup. I've ended up using LaClojure on IntelliJ, but that wasn't trivial because of a plugin versioning issue. CCW doesn't autoindent (I know that's coming) and I've been unable to get Enclojure's project REPL to work when using Clojure 1.2. I had a stretch of using almost Emacs exclusively for 15 years, but compared to any IDE thats absolutely not newbie friendly, and not as good as an IDE IMO. In any case, the package manager hangs 80% of the time trying to grab stuff from the net.

Many people use Emacs at this point only because it has the best Clojure support thus far. This will change in time. It's still early days. 1 year ago (when Clojure was one years (1 1/2?) old) it was impossible to even pretty-print macroexpansion!
 
IMHO a significant sociological issue is that so many clojure devs use Emacs, are coming at this from a 'rebirth-of-lisp' POV, and seem to have adopted the cultural values of Lisp when it comes to development practices. To be successful however Clojure needs to adopt 'mainstream' values - introduce just one 'different' thing i.e. the language, rather than expecting people to adopt both the language, and a different development environment / toolchain e.g. leiningen etc (which IMO is classic NIH). You can't cross the chasm with too much baggage. Personally I don't believe this will happen unless core developers use the tools and practices that users want to use. The end-user itches and the developer itches need to be aligned.
 
I don't think any of the current Clojure library maintainers believe in an Emacs or Lein only future. I think as more and more people adopt varying tool sets, libraries will evolve to support the varying kinds of dev environments.

These kinds of things don't happen overnight. Or even in a year. A lot of people have to adopt Clojure for these things to improve. And improve they have. If things improve at the pace they have been, before long most of these concerns will be thing of the distant past.

I think part of the problem is that so many things about Clojure work so well. You expect everything to magically work!

While I sympathize with the OP, I think the OP was trolling just a tad. I mean clearly noone on this list has a slackware setup, thus the less than helpful responses. But Clojure is just too young to have a large base of developers with every hardware/software configuration out there. It would have been more constructive if the OP had sludged through it and shared his insights as many of us have sludged through it so that we can spread our collective knowledge about how to make hacking on Clojure as fun as possible in many different environments.

David

Terje Norderhaug

unread,
Mar 21, 2010, 10:19:12 PM3/21/10
to clo...@googlegroups.com
On Mar 21, 2010, at 3:56 PM, Mark Derricutt wrote:
> Thanks for the pointer to MCLIDE! That looks really nice! Any
> idea if a 64bit build is in the works? For some reason I feel
> dirty about having to install Rosetta :)

MCLIDE 2.0 will have that cutting edge you're craving for and
definitely NOT require Rosetta, but please don't let that hold you
back from using MCLIDE 1.0. The first version is intended to provide
fodder for a conversation about what to include in the next
generation lisp/clojure IDE for Macintosh. I invite you to download
the upcoming release of MCLIDE for Clojure and join the dialogue
about where to go from here. Think of Rosetta as just another VM... ;-)

There are good reasons for the initial release to use Rosetta,
particularly that it allowed MCLIDE to be built rapidly on top of a
mature, proven lisp IDE. This dramatically cut down the development
time from conception to usable software, making MCLIDE available now
instead of at the time of the 2.0 release.

You get the gist: "Release early. Release often. And listen to your
customers."

When MCLIDE for Clojure is out, you will be able to download a
distribution of MCLIDE and have it work instantly as an IDE for
Clojure on Mac OSX, and with a little extra effort as a Mac IDE for
Clojure on any platform.

If you just can't wait any longer, send me an email, and I'll let you
in on how to make the current version of MCLIDE work with Clojure.

> On Mon, Mar 22, 2010 at 11:08 AM, Lee Spector
> <lspe...@hampshire.edu> wrote:
> I'm sure that this can and will be overcome, in part because I
> think that for my main environment (Mac OS X) and for my needs
> (which are more about ease of starting to write and run code than
> about deployment) MCLIDE/Clojure is very close already (three
> cheers for Terje!).

-- Terje Norderhaug
te...@in-progress.com


Cosmin Stejerean

unread,
Mar 21, 2010, 11:01:02 PM3/21/10
to clojure
I don't have a Windows machine so I can't easily add Windows support. I'm assuming that what I'm doing with Bash should be possible to accomplish in Windows, perhaps using BATCH scripts. Patches/pull requests are welcome :)
 

Seth

unread,
Mar 21, 2010, 11:07:30 PM3/21/10
to Clojure
I hate to feed trolls, but this is a solid example of passive-
aggresive behavior. Also, ignoring plausible sounding, spell-checked
diatribes is bad.

The installation of one or two jar files from a Maven repository is
par for the JVM course. Deployment? Works on any reasonable JVM out
there. Could the install/deploy behavior be improved? Sure, but try
targeting something less ubiquitous than "ant". Slackware more modern
than Ubuntu??

Contrasting Clojure with Flash on Ubuntu really takes the cake. Flash
has never had a good reputation outside of Windows. Also, either the
poster is running as root (!) or has somehow forgotten a very
important su/sudo between steps 2 and 3. Either way, no sysadmin has
to be convinced.

Wresting with pigs is bad because you get dirty and the pig likes it.

> * Steve <stephen.a.lind...@gmail.com> [100320 05:24]:

Luc Préfontaine

unread,
Mar 21, 2010, 11:20:11 PM3/21/10
to clo...@googlegroups.com

He's illiterate about Java, he's older than me and has less experience so finding how to run a jar file is probably
as remote as traveling to Alpha Centauri :))) (Don't we have something like Google to find these answers ?)

Most of his recent experience seems to be in Visual Basic and mainstream web centric languages.
I suspect he's more a by-product of using too few commercial language centric IDEs.
If it does not work out of the box without a 1-800 number to call, he's lost.

Let's not spend more time about this guy's comments.

I think we can assume a Java programmer knows about class path issues and is able to run java and add librairies to the class path.

As for non Java programmers yes it can be a bit daunting but I bet you can't do much in C# or F# if you do not have the slightest
idea on how to use VisualStudio :)))) You are far away from a three steps installation process here.

Agree, many people may already be familiar with VisualStudio, it's been around for along time. But do you like it ? :)))
Getting started with Clojure is rather simple from the command line, mastering a foreign IDE is a different story.
If you are not familiar with Eclipse, IntelliJ or Emacs and you want to use something more flexible than command line mode
then you have a learning curve investment to do.

The alternatives are documented from the "Getting started" page of the Clojure web site and it's pretty clear to follow.
The best "choice" may not be clear upfront (we all have our tastes) but there is some solid ground to help people decide
on an alternative.

Yes we could have a complete package to run Clojure from the shell command line but how far could someone go with this
to build a workable system without an IDE ? It might have some sex appeal to help learn the language but how different
is it from the three steps described by Marek ? Do we really need to release a Clojure SDK with an IDE etc ?
What other language does that ? Ruby ? Scala ? Groovy ?

>From time to time we have comments about how difficult/easy it is to get acquainted with Clojure but I wonder if we all
understand the same things about this issue. Do we need to gather requirements somehow ? (!?!?!)

Comments anyone ?

Luc P.

Cosmin Stejerean

unread,
Mar 21, 2010, 11:52:32 PM3/21/10
to clojure
On Sun, Mar 21, 2010 at 10:20 PM, Luc Préfontaine <lprefo...@softaddicts.ca> wrote:

Yes we could have a complete package to run Clojure from the shell command line but how far could someone go with this
to build a workable system without an IDE ?

[...]
 
Comments anyone ?


I can get pretty far writing an application in Python with nothing more than good command line support and syntax highlighting in any text editor. Anything extra like completions, refactoring, etc, are just nice-to-haves. I don't see why an IDE is required for writing workable Clojure apps.
 

cej38

unread,
Mar 22, 2010, 1:26:51 AM3/22/10
to Clojure
I am a physicist by training and practice, this means that I am an
expert on Fortran 95. To say my exposure to Java is minimal would be
generous. And until last year when I heard about Clojure from a
friend, I thought LISP was a speech impediment.

Setting up Clojure was a MAJOR problem for me, what with getting
path's and classpaths right. (Figuring out what a classpath is was a
challenge.) If it wasn't for the very patient help of a CS friend of
mine, I would not have figured it out.

I think the documentation assumes that the user is comfortable with
Java. I feel like I am being asked to learn Java so that I can learn
Clojure.

I am now an avid Clojure user, but there really does need to be better
descriptions of how to set Clojure up on the website.

Luc Préfontaine

unread,
Mar 22, 2010, 2:10:11 AM3/22/10
to clo...@googlegroups.com
An IDE becomes a necessity as the complexity of your software is increasing.

Now what's a complex piece of software ?

Presently we have 12 components in production some being several thousand lines covering three languages (Java, Ruby and Clojure).
4 others components are in progress. Add to this that we use Spring and a number of other frameworks for which plug ins are
available to ease the pain.

Refactoring, code searching, configuration validation, ... are significant features we need otherwise we would spend a lot of time
to keep things in sync,

We started to work with Clojure in command line mode. However at a certain moment it became clear that keeping Clojure
separate from the rest of the core was not the way to go. Today we are mixing components from different languages/frameworks
in common Jars. Deployment is much more easier this way and using a common IDE makes that possible.

If the consensus is that we need to package installers to get simple Clojure REPLs running on
Windows and Linux in a command line window then let's do it. I think that all the infrastructure is ready (maven like repo, ...).


Luc

Miron Brezuleanu

unread,
Mar 22, 2010, 2:44:29 AM3/22/10
to clo...@googlegroups.com
Hello all,

On Sun, Mar 21, 2010 at 8:42 PM, Tim Johnson <t...@johnsons-web.com> wrote:
> I have evaluated clojure for the last couple of days, and it is both my own
> professional decision and my recommendation to the professional organizations
> that I belong to and report to that clojure is not ready for prime time.
>

Since I had a pretty smooth experience with Clojure right from the
start, despite having little experience with Java, I'll try to
describe what made it easy for me - maybe this will help someone
trying to come up with improvements to the initial experience.

For me, having the "Programming Clojure" zip file available was great.
Being able to just run bin/repl.bat (or .sh) whenever I wanted to try
something out - even if it involved some of the additional libraries,
such as the database connectivity stuff - was just great. Running it
from an Emacs shell to get better history navigation etc. was also
very nice (I never got as far as using Slime, even though I should
probably try it sometimes). Well, with the minor caveat that Emacs and
jline don't always play nice, so I removed jline from the .bat after
wondering for a while why (+ 1 1) sent to the Clojure REPL inside
Emacs never returns :-)

So maybe this is a way to make friendly environments for beginners.
Maybe it's enough make more "Programming Clojure"-like environments,
targeted towards beginners, beginners interested in web/database
access, beginners with an interest in graphics, etc. Some script (or
just instructions about how to do it) to update clojure.jar and the
libs would be nice too. Care must be taken to keep things easy - the
script should not try to compile anything, just attempt to download
updated versions - trying to compile stuff would increase friction for
newbies.

The great part about the "Programming Clojure" environment is not that
it makes very hard things easy - but that it makes simple tasks very
simple (no need to download and configure Compojure, it's just there).
Just reducing friction seems to be a very good idea, things are more
likely to be tried out when they are just a few keystrokes away.

As for the original poster, it's weird that he evaluates Clojure for
just two days - and decides that although the technical principles it
is based on are sound, the whole thing should be dismissed because of
the first 'tactical' hurdle - installing. Maybe the guy is used to
evaluating things by reading marketing texts? Maybe the CLASSPATH is
really such a big problem? (this is hard to evaluate for someone used
to the command line).

Nevertheless, it would be dangerous to ignore or dismiss his troubles,
as they are probably quite common, so if anyone is thinking about how
to improve the situation, maybe my opinion above of what made me happy
with Clojure at the beginning is useful.

Oh, and "Programming Clojure" itself was great in making me see how to
use Clojure in practice (I already knew it was great in theory, but
the book made the practice-theory gap much smaller). So maybe the book
(or the coming books) should be promoted more?

Bye,

> Before any of you think that I am a disgruntled newbie turned troll, know
> the following:
>
> 1)As soon as I see the copy of this email in my "clojure mailbox", I will
> unsubscribe from this mailing list, delete the clojure mailbox and I will not
> be following up in any way.
>

--
Miron Brezuleanu

Baishampayan Ghose

unread,
Mar 22, 2010, 3:25:42 AM3/22/10
to clo...@googlegroups.com
Tim Johnson wrote:
> I have evaluated clojure for the last couple of days, and it is both my own
> professional decision and my recommendation to the professional organizations
> that I belong to and report to that clojure is not ready for prime time.

[snip]

I agree that Tim was a bit over-reacting; it's so easy to dismiss his
post as flame-bait and what not.

Nevertheless, I think getting started with Clojure is certainly not
painless at the moment; and it's no fault of Clojure at all. There are
many people who come to Clojure from non-Java backgrounds (like me) and
don't know Emacs (unlike me). Those guys face a _lot_ of problems.

Using Clojure on Windows is also a bit problematic.

How do we solve it? Clear, up to date instructions for new comers.

I propose a website which will serve as the canonical repository for
Clojure documentation.

It will have great documentation starting from getting started with
Clojure to examples of different library functions.

We could use content from the Wikibooks project to get started, but we
will need to organise and maintain the content a bit better.

What do you people think?

Regards,
BG

--
Baishampayan Ghose <b.g...@ocricket.com>

Vagif Verdi

unread,
Mar 22, 2010, 4:04:25 AM3/22/10
to Clojure
I'm happy that this guy self eliminated himself from clojure
community. But experience tells me not to be so sure. His kind tends
to come back and unfortunately is very persistent.

If downloading couple of jar files and dropping them into the
classpath is too much for him, then he is definitelly a java noob.
Imagine him advising his clients never use java :))

Joel Westerberg

unread,
Mar 22, 2010, 4:49:06 AM3/22/10
to clo...@googlegroups.com
I love clojure but I think it's unnecessary it doesn't ship with a simple clj and a clj.bat script out of the box, yeah it's easy to run it with jvm, but who want to type

java -server -Djava.ext.dirs=./lib:/opt/bin/lib -cp ~/.emacs.d/lisp-packages/swank-clojure jline.ConsoleRunner clojure.lang.Repl

every time they need a repl? sure, command completion, but come on? It's not exactly making life simple. (I know with 1.1 it's not clojure.lang.Repl any more but still lengthy and complicated, though now I use lein so I am happy).

Every time I've started up with a clojure project I've had to spend a few hours fiddling with the environment, not that I don't do that with other languages, but it would be nice with an officially sanctioned solution for setting up a sane environment.

Alyssa Kwan

unread,
Mar 21, 2010, 7:44:05 PM3/21/10
to Clojure
This is definitely flamebait. However, he has a point. Perhaps we
should make it clear on the Getting Started page that deploying Java
is a prerequisite to deploying Clojure, and include links to resources
on how to do that for the platform you are on. It's presently unclear
to anyone without a Java background. However, everyone who has
responded is right that developer experience notwithstanding, any
sysadmin worth his/her salt will know how to install a JVM.

Michael Richter

unread,
Mar 21, 2010, 10:15:47 PM3/21/10
to clo...@googlegroups.com
To add the perspective of a true newbie to this dogpile, I'm going to have to say that the OP was just plain wrong.  He made a major mistake -- wanting to compile clojure for himself on a platform that's not exactly friendly to Java development in the first place (Slackware, not Linux in general) -- and promptly blamed that on the wrong tool.

Are there some barriers to entry for a newbie?  Hell, yes.  I, for example, can't stand EMACS (insert the "great OS with crappy editor" gag here), so the EMACS-centric nature of the tools currently available is definitely a downer, as is the community assumption that anybody who'd want to use clojure is OBVIOUSLY an EMACS user.  That's OK, though.  On the Java side the assumption is that everybody uses Eclipse and I hate that more than I hate EMACS.  This hasn't stopped me from using Java when I've needed to.

Another, slightly worse, problem is that Clojure is a moving target.  I have the book Programming Clojure and have noted already that the language is changing out from underfoot.  If I'm not careful I suspect that in a years' time what I "know" about Clojure will be out of date or quite possibly even flatly wrong.  This is a more serious problem than "I don't get JAR files" like the OP had, especially since there doesn't seem to be a coherent resource anywhere describing the changes -- lots of work is being put into changes but not so much is being put into communicating those changes.  (Insert the usual round of people utterly missing the point by linking to blog X here and blog Y here and blog Z here talking about the changes.)

Again I don't think this is a major problem, though.  Clojure is a young language and at this early stage in its development it's inevitable that there will be large changes (as theory hits the real world).  Further, anybody who's been in the industry for as long as the OP has claimed to have been knows full well that documentation always lags behind development.  I think it telling that he's pointing to mature (and, in the case of Rebol, beyond end-of-life) products to show how documentation "should be done".  It indicates to me that he's not got a lot of experience with new programming environments.

TL;DR summary: this newbie thinks that yes, there are a few barriers to entry for new Clojure users but they're nowhere near as serious as the OP claims they are and are not even unusually bad for what is normal in this industry.

--
"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.

Douglas Philips

unread,
Mar 22, 2010, 12:33:40 AM3/22/10
to clo...@googlegroups.com

+1

I use a Mac with MacPorts. Pulled down clojure and clojure-contrib
ports.
Only thing I had to do (and this was -not- easy to figure out), was
create a .clojure file that pointed
to the contrib jar. But that is how the clj wrapper in the clojure
port works. I suppose I could also
muck around with my class path, or do other things...

There is a high Java tax on using clojure for those of us coming from
non-Java languages.
I'm willing to accept that I need to read the Java docs on how
strings, or, whatever, work.

But getting clojure itself set up? Please, do -not- make "pre-existing
familiarity with an IDE" a prerequisite. There are enough learning
curves as it is.

-Doug

P.S. I used Emacs back when Gosling was writing his version of it at
CMU, before Java even existed, and now I use (g)vim. It's nice that
there are other IDEs working with clojure, but not so nice to assume
non-Java users are using some VisualStudio or other heavy-weight IDE.

Martin DeMello

unread,
Mar 22, 2010, 7:18:29 AM3/22/10
to clo...@googlegroups.com
On Mon, Mar 22, 2010 at 2:19 PM, Joel Westerberg
<joel.we...@gmail.com> wrote:
>
> Every time I've started up with a clojure project I've had to spend a few
> hours fiddling with the environment, not that I don't do that with other
> languages, but it would be nice with an officially sanctioned solution for
> setting up a sane environment.

Even better, an officially sanctioned solution expressed both as
documentation, and as a collection of shell scripts for all the major
platforms.

(As another non-java-familiar clojure adoptee, classpaths were
definitely a hurdle)

martin

Luc Préfontaine

unread,
Mar 22, 2010, 7:31:25 AM3/22/10
to clo...@googlegroups.com
Is my first impression right or wrong ?

Is Clojure harder to setup from Windows for beginners ?

Would an installer (.msi) help by hiding Java related details and providing some basic scripts to run it ?

Luc P.

Martin DeMello

unread,
Mar 22, 2010, 7:36:10 AM3/22/10
to clo...@googlegroups.com
Haven't tried setting it up on windows, but an msi that hid the java
details would be a nice plus, provided hat the abstraction never
leaked (i.e. that you could do all the basic clojure operations
without having to stop and edit or bypass the scripts).

martin

Per Vognsen

unread,
Mar 22, 2010, 7:43:11 AM3/22/10
to clo...@googlegroups.com
I use OS X and had only minor trouble getting Clojure to run the first
time. But even minor trouble still has a disproportionate effect on
someone's first impression. The out-of-box experience matters for
everything and programming languages are no exception. Eclipse is a
good example of a Java developer-oriented application with a good
out-of-box experience on all platforms. Shell scripts for UNIX and
installers for Windows and OS X would go a long way towards improving
that for Clojure.

-Per

Edmund Jackson

unread,
Mar 22, 2010, 7:46:20 AM3/22/10
to clo...@googlegroups.com
I'd agree with that, I've setup Clojure on Linux, Mac and Windows and I found Windows the most difficult.  Granted, I virtually never use Windows, but it felt like I was fighting it by being at the command line, but had no choice but to be there.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
 
To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

  Edmund

"Do it with love, l-o-v-e"
MJ




Luc Préfontaine

unread,
Mar 22, 2010, 7:57:53 AM3/22/10
to clo...@googlegroups.com
Don't twist my post away from it's purpose...

I am not making an IDE a pre-requisite for learning purposes.

The original poster was talking about getting Clojure usable by corporations... he was not talking about
academic learning. Too bad he was not aware that there are other IDEs available other than the M..ft thing.
Not even looking at the documented alternatives before saying anything is unprofessional at best in this regard.

You can still code 30000 lines+ systems without an IDE (IDE can be as simple as VIM or this other popular text editor on MacOSX)
but this approach has definitively limits. Just in case you have doubts I did a lot of these in the past before even VIM like
editors became the norm. I would not revert back to these times.

If some are saying they can do a lot without an IDE, fine, but that's pointless here, it seems that the main problem is the first contact with Clojure.
It looks like it's rough and there's a need for some smoothness there. The main goal being to hide the Java gears as much as possible.
This is the feedback I was trying to get. If .NET gears where not hidden on first contact, it would appear has bad as the JVM.
With .NET, it's later in the learning process that this strikes you :)) At first it looks great (all these windows, ....).

I was asking for some requirements... can we start here ?

a) A need for a Windows based installer

b) Startup scripts to hide java machinery, probably pre-tuned to hide all these horrible Java flags

c) Update mode to keep the Clojure run time up to date with whatever version you may want (1.0, 1.1, 1.2, nightly build, ...)

d) a) and c) Use available public repositories to get components.

e) A need for installers on other platforms ? U*X, MacOs X ? Any value there ?

Starting Clojure from command line on Windows is this satisfactory for everyone ? Maybe a helper to start CMD in a folder
from a context menu would be of some help ?

Anything else ?

Luc P.

Ramakrishnan Muthukrishnan

unread,
Mar 22, 2010, 8:04:10 AM3/22/10
to clo...@googlegroups.com
On Mon, Mar 22, 2010 at 5:13 PM, Per Vognsen <per.v...@gmail.com> wrote:
> good example of a Java developer-oriented application with a good
> out-of-box experience on all platforms. Shell scripts for UNIX and
> installers for Windows and OS X would go a long way towards improving
> that for Clojure.

In my opinion, atleast in the GNU/Linux world, it should be left to
distributors to do this job. On Debian for instance, one just need to
do `apt-get install clojure clojure-contrib' to get clojure installed.

Of course, one can provide instructions on how to build by oneself.

--
Ramakrishnan

Per Vognsen

unread,
Mar 22, 2010, 8:30:31 AM3/22/10
to clo...@googlegroups.com
Note that I didn't propose an installer except for OS X and Windows.
Only a DWIM shell script.

-Per

eyeris

unread,
Mar 22, 2010, 8:53:02 AM3/22/10
to Clojure
> I agree with Stuart that the user experience should be friendly on all
> supported platforms.

I also agree. The best setup experience I've had so far is using
NetBeans with the Enclojure plugin.

David Powell

unread,
Mar 22, 2010, 9:10:14 AM3/22/10
to clo...@googlegroups.com

On Mon 22/03/10 11:31 , "LucPréfontaine" lprefo...@softaddicts.ca sent:

> Is my first impression right or wrong ?
> Is Clojure harder to setup from Windows for beginners ?
> Would an installer (.msi) help by hiding Java related details and
> providing some basic scripts to run it ?

I think there are likely two camps: Java users seeing Clojure as a library that they can integrate with their
existing projects; and non-Java users, wanting something with an installation experience something like Python.

For Java users, I think a zip with a jar file in it is great, and they'll likely know what to do with it. I'd be a
bit startled to find a Java library bundled in a .msi installer, it would make Clojure seem foreign and invasive.

I don't think an msi would really add much at all, other than potentially making it harder to install in some
environments. A zip file with working startup scripts would be enough I think? I'd like to see the documentation
bundled too, so that you have a version of the documentation that corresponds to the version of clojure that you have
downloaded.

Perhaps the zip file could have a lib directory that the scripts pull in all jar files from, to make adding things
like database drivers and contrib to the environemnt easier?

Perhaps how Ant aranges its bin directory and lib folder is a good model to borrow from?


Michael Kohl

unread,
Mar 22, 2010, 9:14:50 AM3/22/10
to clo...@googlegroups.com
> In my opinion, atleast in the GNU/Linux world, it should be left to
> distributors to do this job. On Debian for instance, one just need to
> do `apt-get install clojure clojure-contrib' to get clojure installed.

It's equally simple on the Mac with Homebrew [1]:

$ brew install clojure clojure-contrib

MacPorts is probably along the same lines. Then there's also my little
ClojureX [2] project, where I'd really like some more feedback by
Windows users. Maybe some of the people in this thread who are
dissatisfied with Clojure on Windows can give it a try?

Michael

[1] http://github.com/mxcl/homebrew
[2] http://github.com/citizen428/ClojureX/

Sean Devlin

unread,
Mar 22, 2010, 9:44:18 AM3/22/10
to Clojure
Luc,
Windows users should be good to go. Clojurebox, Enclojure & CCW are
ready for use for any Java dev with some experience. As for the
installation process, pick you poison:

http://vimeo.com/tag:install_clojure

Sorry to self-post,
Sean

On Mar 22, 7:31 am, Luc Préfontaine <lprefonta...@softaddicts.ca>
wrote:

Lee Spector

unread,
Mar 22, 2010, 9:43:58 AM3/22/10
to clo...@googlegroups.com

FWIW Michael it was your ClojureX was what got me going best in the beginning, but on Mac OS X, not Windows. Getting a minimal clojure-aware editing setup was a little harder -- the emacs-setup stuff you had in an earlier version of ClojureX got me started there too, but I had to do some other stuff later to get slime working... e.g. manually copying clojure.jar and clojure-contrib.jar to my .emacs.

It's kind of funny to see the range of reactions to the OP's post. This stuff really is very simple once you know how to do it, but it's not necessarily simple to people coming from different backgrounds.

-Lee

> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>
> To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspe...@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/

e

unread,
Mar 22, 2010, 10:34:53 AM3/22/10
to clo...@googlegroups.com
think about the difference between putting flash or python on a machine compared to clojure.  there's more of a system-level "path" feel to those things (even though each user can have their own environment).  I mean, you can add a clj script to your path and get the same effect, but that's what's different.  He's not talking about someone messing around with a language ... he's talking about trying to imagine that the language is now part of the system.  Again, Fantom sort of has this feel.  Part of the DEFAULT instructions is to mess with your path and get things going.  Check out the Fantom website.  Sooooooooo simple and straight forward and inviting.

e

unread,
Mar 22, 2010, 10:38:28 AM3/22/10
to clo...@googlegroups.com
On Mon, Mar 22, 2010 at 1:26 AM, cej38 <junke...@gmail.com> wrote:
I am a physicist by training and practice, this means that I am an
expert on Fortran 95.  To say my exposure to Java is minimal would be
generous.  And until last year when I heard about Clojure from a
friend, I thought LISP was a speech impediment.

Setting up Clojure was a MAJOR problem for me, what with getting
path's and classpaths right. (Figuring out what a classpath is was a
challenge.)  If it wasn't for the very patient help of a CS friend of
mine, I would not have figured it out.

I think the documentation assumes that the user is comfortable with
Java.  I feel like I am being asked to learn Java so that I can learn
Clojure.

Amen!  I can understand why this was the initial road to get functionality going quickly, but I hope this goes away.

 
I am now an avid Clojure user, but there really does need to be better
descriptions of how to set Clojure up on the website.


On Mar 21, 4:37 pm, Quzanti <quza...@googlemail.com> wrote:
> Reading his post I got the impression he was a bit of an egocentric (a
> bit more information about himself than was relevant), those sorts
> tend to overreact.
>
> However I can imagine the whole just bung the jar file on your
> classpath thing wouldn't make much sense for a java newbie. It may
> highlight the need for some special 'getting started' documentation
> for Lisp programmers who have never used java, which I understand to
> be one target audience of clojure.
>
>
>
>
>
> > I don't understand the complaints about installing Clojure. As far as I know
> > there's nothing required to 'install' Clojure beyond downloading the
> > clojure.jar, other than I guess having a working Java installation.

Russ Olsen

unread,
Mar 22, 2010, 11:11:36 AM3/22/10
to Clojure
I have to say that while I'm sorry that we didn't snag the original
poster
as a Clojure user, he has actually done us a real favor. The most
important
customer is the pissed off customer who tells you why he is pissed
off. You
don't have to take everything he says to heart, but it is always worth
listening
to the one that got away.

As someone who was a raw clojure beginner not all that long ago, a
beginner
with a lot of Java experience, I do think that we have a problem with
the
'out of the box' experience. My first bit of evidence is the fact that
the
issue seems to come up fairly often. When you have a persistent
customer
complaint, you have to ask yourself, is the problem with the
customer? In
fact, before a recent intro-to-clojure talk I went ahead and built my
own little
'get you going' project just to make it easier for the raw beginner:
http://github.com/russolsen/dejour/downloads

While dejour is just a quick and dirty thing that I put together in a
few hours,
I think that it captures what we need: a single zip/tar/jar file that
you can
download, unpack and run. No install, no git, no nothing. Just
download,
unpack and run a simple script. As someone else mentioned, JRuby does
a really good job of this. We can at least as good as JRuby.

How far can you get with just a repl and no ide? Perhaps just far
enough
to decide that this clojure thing is worth more time. Perhaps more:
There
is nothing in clojure that requires an ide any more than python or
ruby or
perl.

It's a complicated world out there, full of very smart people with
varying backgrounds.
Some of them know lisp but not java. Some know java but no lisp. Some
know
neither but are smart nevertheless and are looking for a better
language. Many of the
engineers that I work with will run screaming from the room at the
sight of
a shell/batch script I think we want them all. We want every one of
them to
use clojure.

Russ

Luc Préfontaine

unread,
Mar 22, 2010, 12:13:38 PM3/22/10
to clo...@googlegroups.com
I looked at these videos and they are a very good starting point.
Then do we have a communication problem getting these things known ?
Are these videos listed on the "Getting started" page ?

What about using contrib ? That would be the first "classpath" problem a newcomer would face.

It looks to me that we have all the answers but not in a single spot.

Luc P.

Lee Spector

unread,
Mar 22, 2010, 12:39:25 PM3/22/10
to clo...@googlegroups.com

Yes, yes and yes: The videos are great, and all of the information is out there, but it was hard for me to find as I first waded in. And getting contrib to work was one of my first problems. BTW I'd also like to reinforce that although full IDEs aren't necessary to begin -- and besides they're often a matter of taste -- something *slightly* beyond a bare REPL would be a big help for beginners. In particular an editor with language-aware indenting and parentheses/bracket matching is one thing that can make a big difference (and it'd be nice if getting this didn't require too many steps).

One other beginner issue that hasn't been mentioned is the fuzzy line between Clojure and Java in the documentation, which is of course one of Clojure's strengths via interop, and therefore probably always going to be a little messy. But coming from a life in which CLtL2 was all I needed for a reference (and similar things in other languages) I was initially somewhat confused when basic-seeming things weren't in the Clojure docs, and then were or weren't in the contrib docs, and then I finally realized that I have to always look at both of those and then everything that Java provides and quite reasonably hasn't been reimplemented in Clojure. I'm not saying any of those design decisions is bad (on the contrary), but the diffuseness of some of the documentation can be confusing to newcomers, especially those not coming from Java. I could imagine a sort of meta-index to all of this that would be really helpful -- but of course it would also be a lot of work.

-Lee

> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>
> To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

--

Sean Devlin

unread,
Mar 22, 2010, 1:09:28 PM3/22/10
to Clojure

Rich Hickey

unread,
Mar 22, 2010, 3:55:57 PM3/22/10
to clo...@googlegroups.com
On Mar 22, 2010, at 12:13 PM, Luc Préfontaine wrote:

I looked at these videos and they are a very good starting point.
Then do we have a communication problem getting these things known ?
Are these videos listed on the "Getting started" page ?

cageface

unread,
Mar 22, 2010, 5:36:58 PM3/22/10
to Clojure
I'll certainly agree that it should be as easy as possible to get
started in Clojure, but I really don't think that the kind of people
that can't use anything without a windows installer are going to get
very far with Clojure in any case.

I mean, if it's too much to install java, unzip a file and run:
java -cp clojure.jar clojure.main

As the getting_started page suggests, what are you going to do with
sexpr syntax, immutable data structures, iteration through recursion,
concurrency etc? Clojure might at some point mature into the kind of
language that has something to offer for people that need a lot more
hand holding but clearly it's a bit of a wild west environment at the
moment.

Sean Devlin

unread,
Mar 22, 2010, 5:48:37 PM3/22/10
to Clojure
There are a ton of people who are ready for dabbling with Clojure but
aren't ready for production systems. You'd be surprised how linearly
independent system administration skills and software development
skills really are. They aren't quite orthogonal, but it's amazingly
close.

cageface

unread,
Mar 22, 2010, 7:03:01 PM3/22/10
to Clojure
On Mar 22, 2:48 pm, Sean Devlin <francoisdev...@gmail.com> wrote:
> There are a ton of people who are ready for dabbling with Clojure but
> aren't ready for production systems.  You'd be surprised how linearly
> independent system administration skills and software development
> skills really are.  They aren't quite orthogonal, but it's amazingly
> close.

Maybe so, but if getting into Clojure is a series of struggles with
unfamiliar concepts then dealing with a jar file is by far the least
daunting. Naturally I'm all for making the new-user experience as
pleasant and simple as possible but I'm not sure what exactly could be
done at this point to make it much easier than it is. Certainly
anybody that expects to be able to build it from source on an exotic
Linux distro should also be prepared to roll up their own sleeves a
bit.

Perhaps it would be useful to at least included a ready-to-go clj
shell/batch script in the default distribution? That's what Scala,
Groovy and Jruby do? The only obstacle I remember from my first
experiments with Clojure was getting a working clj shell script
together. Had I started with Stuart's book that wouldn't have been a
problem either.

On the other hand, if you go to the "getting started" pages of Jruby,
Groovy they're actually far more daunting (IMO) than Clojure's:
http://groovy.codehaus.org/Tutorial+1+-+Getting+started
http://kenai.com/projects/jruby/pages/GettingStarted

jonathan...@gmail.com

unread,
Mar 22, 2010, 7:46:52 PM3/22/10
to Clojure
On Mar 22, 1:10 am, Luc Préfontaine <lprefonta...@softaddicts.ca>
wrote:
> An IDE becomes a necessity as the complexity of your software is
> increasing.
>
> Now what's a complex piece of software ?
>
> Presently we have 12 components in production some being several
> thousand lines covering three languages (Java, Ruby and Clojure).
> 4 others components are in progress. Add to this that we use Spring and
> a number of other frameworks for which plug ins are
> available to ease the pain.
>
> Refactoring, code searching, configuration validation, ... are
> significant features we need otherwise we would spend a lot of time
> to keep things in sync,
>
> We started to work with Clojure in command line mode. However at a
> certain moment it became clear that keeping Clojure
> separate from the rest of the core was not the way to go. Today we are
> mixing components from different languages/frameworks
> in common Jars. Deployment is much more easier this way and using a
> common IDE makes that possible.
>
> If the consensus is that we need to package installers to get simple
> Clojure REPLs running on
> Windows and Linux in a command line window then let's do it. I think
> that all the infrastructure is ready (maven like repo, ...).
>
> Luc

>
>
>
> On Sun, 2010-03-21 at 22:52 -0500, Cosmin Stejerean wrote:
> > On Sun, Mar 21, 2010 at 10:20 PM, Luc Préfontaine
> > <lprefonta...@softaddicts.ca> wrote:
>
> >         Yes we could have a complete package to run Clojure from the
> >         shell command line but how far could someone go with this
> >         to build a workable system without an IDE ?
>
> > [...]
>
> >         Comments anyone ?
>
> > I can get pretty far writing an application in Python with nothing
> > more than good command line support and syntax highlighting in any
> > text editor. Anything extra like completions, refactoring, etc, are
> > just nice-to-haves. I don't see why an IDE is required for writing
> > workable Clojure apps.
>
> > --
> > Cosmin Stejerean
> >http://offbytwo.com

>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to clo...@googlegroups.com
> > Note that posts from new members are moderated - please be patient
> > with your first post.
> > To unsubscribe from this group, send email to
> > clojure+u...@googlegroups.com
> > For more options, visit this group at
> >http://groups.google.com/group/clojure?hl=en
>
> > To unsubscribe from this group, send email to clojure
> > +unsubscribegooglegroups.com or reply to this email with the words
> > "REMOVE ME" as the subject.

I've noticed there have been an increasing number of solutions to
running
Clojure over the last year or so, which does leave a lot more to go
wrong
versus the default solution of just running at the command line.

If someone asked me to recommend a way to get into Clojure, I'd
definitely
suggest just running at the command line, and editing files with
notepad
or whatever. There's no real substitute for learning at least the
basics of
the class path and how to fix things when they go wrong.

This is also the absolute simplest way to go, and in my experience,
only a
bad Java install (frequently on Windows) can mess it up.

Even running barebones like this, it's easy to copy in Jar files for
gui code,
add 3rd party jars etc., whilst not having a bunch of things happening
in the
background.

Just call me Ned Ludd!
Best,
Jonathan

Mark J. Reed

unread,
Mar 22, 2010, 7:16:28 PM3/22/10
to clo...@googlegroups.com
On Mon, Mar 22, 2010 at 7:03 PM, cageface <mile...@gmail.com> wrote:
>
> On the other hand, if you go to the "getting started" pages of Jruby,
> Groovy they're actually far more daunting (IMO) than Clojure's:
> http://groovy.codehaus.org/Tutorial+1+-+Getting+started
> http://kenai.com/projects/jruby/pages/GettingStarted

The relevant bits of Groovy's page don't seem more daunting to me:

> Setting up your Groovy environment
>
> Download the Groovy installer or binaries from the downloads page and follow the installation
> instructions.  (There is currently an issue where you cannot have spaces in the path where Groovy is
> installed under windows.  So, instead of accepting the default installation path of "c:\Program
> Files\Groovy" you will want to change the path to something like "c:\Groovy")

One sentence and one caveat.  Now, it's preceded by detailed
instructions for installing Java, but those same steps are just as
applicable to Clojure or any other JVM-hosted language, and having
them there is probably not a bad thing.  (Though I would replace them
with a link - "If you don't have Java, click here and follow the
instructions.")

JRuby's installation is more manual, but includes examples.

All three install on Ubuntu with apt-get, though the latest Clojure
there is 1.0.  It does come with a "clojure" shell script for starting
up a REPL, though.

--
Mark J. Reed <mark...@gmail.com>

Lee Spector

unread,
Mar 22, 2010, 9:31:13 PM3/22/10
to clo...@googlegroups.com

I agree with Sean on the near-orthogonality of sysadmin skills and the skills needed to get a lot of Clojure as a language. I have precious few of the former but not of the latter. And just today I had a very capable undergrad student with programming experience in a couple of languages (but not Java), starting a project for which a lisp-like language would make the most sense, say that although he saw that Clojure would be great he might just work in DrScheme since he could easily download it and have a functional IDE. This student can definitely deal with "sexpr syntax, immutable data structures, iteration through recursion, concurrency etc." I've seen him learn a new language and complete a really incredible project in it within a couple of weeks. But cageface's instructions will only get him a REPL, and not even get him contrib, the classpath details to allow him to load files, or an editor that can indent properly for the language and match parentheses. Some day he should probably learn enough about Java and sysadmin stuff to deal with this, but right now he just wants to dig into his project which doesn't have anything to do with that stuff.

Someone else mentioned that maybe part of the problem is that there are several different "simple" ways to get started, and this may have been part of my own problem. I installed one of the emacs clojure modes from the "getting started" page (or maybe two?) and then later tried to install slime and I think they fought with each other, with elpa saying something was already installed and quitting. It wasn't obvious how to start over because I didn't realize that things were in my .emacs and .emacs.d (if I recall correctly). And after watching one of Lau's screencasts I realized I also had to put copies of clojure.jar and clojure-contrib.jar in my .emacs.d, but that was not obvious to me previously...

-Lee

> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>
> To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

--


Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359

lspe...@hampshire.edu, http://hampshire.edu/lspector/

Konrad Hinsen

unread,
Mar 23, 2010, 3:17:01 AM3/23/10
to clo...@googlegroups.com
On 23 Mar 2010, at 02:31, Lee Spector wrote:

> Someone else mentioned that maybe part of the problem is that there
> are several different "simple" ways to get started, and this may
> have been part of my own problem.

What we have currently is lots of individuals who have figured out a
good solution for their own needs and then described it for others on
a blog. What we don't have (yet) is a real community effort to provide
one very good solution (or perhaps one per platform) and put it in a
prominent spot, such as the main Clojure Web site. I think this is
partly due to the current structure of the Clojure community, which
consists largely of "early adopters" for whom this is not an important
point.

Konrad.

Michael Kohl

unread,
Mar 23, 2010, 4:31:35 AM3/23/10
to clo...@googlegroups.com
On Tue, Mar 23, 2010 at 12:03 AM, cageface <mile...@gmail.com> wrote:
> Perhaps it would be useful to at least included a ready-to-go clj
> shell/batch script in the default distribution?

Thanks to some awesome work by contributors, I think the one in
ClojureX became fairly good over time:

http://github.com/citizen428/ClojureX/blob/master/clj

If anyone want to use this one or build on it feel welcome to do so!

Michael

Michael Richter

unread,
Mar 22, 2010, 9:40:36 PM3/22/10
to clo...@googlegroups.com
On 23 March 2010 00:13, Luc Préfontaine <lprefo...@softaddicts.ca> wrote:
I looked at these videos and they are a very good starting point.
Then do we have a communication problem getting these things known ?
Are these videos listed on the "Getting started" page ?

Let's see if I can get this across without profanity.

VIDEOS ARE NOT DOCUMENTATION!

Yeah.  That gets my most of my utter contempt of this recent trend of using videos to document software across without the profanity. If you want the full deal, throw the f-bomb in between each word and append a piece of profanity that ends with "suckers".

--
"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.

Carson

unread,
Mar 23, 2010, 2:48:34 AM3/23/10
to Clojure
Maybe it'd be helpful to draw up several of the most common use-cases
and target those with instructions. There are programmers new to some
combination of Lisp/Clojure/Java either wanting to just get a taste of
Clojure, or wanting to get a IDE/text editor (of their choosing) going
to program in Clojure. There are sysadmins new to some combination of
Lisp/Clojure/Java wanting either to deploy programs written in Clojure
on a server, or to maintain a development environment on a desktop for
someone else. Etc.

It doesn't have to be so structured I guess, but even something like
this helps (eg, see the getting started section from http://data-sorcery.org/contents/
)
# Buildng Incanter applications with Leiningen and Clojars
# Building Clojure Web applications with Incanter, Compojure, and
Leiningen
# Setting up Clojure, Incanter, Emacs, Slime, Swank, and Paredit
# Starting an Incanter Swank server with Leiningen

My own experience with installing Clojure wasn't at all friendly. I
was looking for an alternative to Matlab/Octave to learn (I'm a grad
student doing machine learning stuff). Installing Octave is one-click
easy. All I want is to write some code in emacs and run it. Why is
it so hard to get Clojure, Incanter, Emacs, Slime, Swank, and Paredit
to work together? And what are these "class path" stuff. ;) I was
persistent enough to tough out the hours (!) it took to figure out
which of all the various instructions didn't work, just to find
instructions that worked; otherwise I would've went on to Sage/SciPy/
Python.

Carson

> lspec...@hampshire.edu,http://hampshire.edu/lspector/

rdunklau

unread,
Mar 23, 2010, 2:56:55 AM3/23/10
to Clojure
I think that he made a good point, despite his rantings.

As an experienced java developer, these are the steps I took while
setting my environment up and running.
- downloaded the jar, launched java -jar clojure.jar. I was able to
fiddle with the repl, but when it came to code something dependent
from external libraries (clojure-contrib, for example), I found myself
forging my classpath by hand. This is definitely something java
developers are not accustomed to anymore. Every java developer that i
know is using an IDE that manages the classpath for him.
- relying on lein to manage the deps for me. It is something specific
to learn, and I understand it may not be a correct solution. Moreover,
I found it difficult to do interactive development from the repl with
lein.
- tried vimclojure with nailgun. Besides the non-trivial task of
installing vimclojure, I was back to the "manual classpath hell".

Now, i'm using maven with the clojure plugin, especially the
clojure:nailgun goal. It's by far the simplest solution I found. I
also tried CounterClockWise along the way, but was not convinced.

So, besides the JVM installation issues that I did not experienced,
since I'm used to have a JVM on every computer, there are still many
issues to set up a decent working environment.
A package containing clojure, maven and a wrapper around it designed
to create new projects easily may be way of making Clojure acceptable
for newbies coming from anywhere (java or whatever).

I'm now considering getting back to counterclockwise, especially
because I'm planning to write a tutorial covering all major aspects of
clojure, including the initial set up.
By the way, if someone has an idea about a sample application (simple,
but not trivial) which could lead the tutorial, and show different
aspects of the language, let me know !
I was thinking about a more complete and idiomatic version of Vincent
Foley's "Fetching web comics" tutorial, but something more
"enterprisey" seems more adequate.


--Ronan

Sean Devlin

unread,
Mar 23, 2010, 9:10:17 AM3/23/10
to Clojure
On Mar 22, 9:40 pm, Michael Richter <ttmrich...@gmail.com> wrote:

> On 23 March 2010 00:13, Luc Préfontaine <lprefonta...@softaddicts.ca> wrote:
>
> >  I looked at these videos and they are a very good starting point.
> > Then do we have a communication problem getting these things known ?
> > Are these videos listed on the "Getting started" page ?
>
> Let's see if I can get this across without profanity.
>
> *VIDEOS ARE NOT DOCUMENTATION!*

>
> Yeah.  That gets my most of my utter contempt of this recent trend of using
> videos to document software across without the profanity. If you want the
> full deal, throw the f-bomb in between each word and append a piece of
> profanity that ends with "suckers".

You're right, videos aren't documentation. Thanks for volunteering to
fill this gap. Let me know when you're ready, and I'll give you make
time to review/beta test any installation documentation you provide.

Sean

cageface

unread,
Mar 23, 2010, 11:07:09 AM3/23/10
to Clojure
So perhaps it would be worthwhile to create, like jruby, a single zip/
tgz file containing clojure, clojure-contrib, and a reasonable bin/clj
file that will find at least the core clojure jar files on its own? I
don't see how you're going to actually deploy any clojure apps, or
connect to a database, or really use any third party code at all
without understanding how java's classpath works but at least you can
get a REPL going.

Brian Hurt

unread,
Mar 23, 2010, 11:11:34 AM3/23/10
to clo...@googlegroups.com

I comment that if you buy the Pragmatic Programmer's Clojure book, you get effectively this.

Brian

Per Vognsen

unread,
Mar 23, 2010, 11:16:25 AM3/23/10
to clo...@googlegroups.com
Stuart's book is by all accounts excellent, but I'm not sure we want
to be in the situation that Ruby once was in, where buying a book
(PragProg's Pickaxe book) was virtually a prerequisite for getting
started.

-Per

Stuart Halloway

unread,
Mar 23, 2010, 11:26:51 AM3/23/10
to clo...@googlegroups.com
You also get this with the labrepl (http://github.com/relevance/
labrepl) which is free. Plus I am attempting (with a little help from
you all) to keep the labrepl working with various IDEs.

Stu

Stuart Halloway

unread,
Mar 23, 2010, 11:30:51 AM3/23/10
to clo...@googlegroups.com
I think it is important to be clear about the difference between:

(A) exploring Clojure (non trivially, including interesting Java
libraries)

(B) deploying Clojure into production.

I nominate the labrepl (http://github.com/relevance/labrepl) as a
solution for (A). It already includes interesting libraries (e.g.
compojure, incanter), and it has instructions for working with
different IDEs (which I hope the community will improve upon).

I don't think there is, or needs to be, a one-size-fits-all solution
for (B). That's what the Java ecosystem is for. Plus, beginners don't
need (B).

Stu

Michael Kohl

unread,
Mar 23, 2010, 2:09:56 PM3/23/10
to clo...@googlegroups.com
On Tue, Mar 23, 2010 at 4:07 PM, cageface <mile...@gmail.com> wrote:
> So perhaps it would be worthwhile to create, like jruby, a single zip/
> tgz file containing clojure, clojure-contrib, and a reasonable bin/clj
> file that will find at least the core clojure jar files on its own?

http://github.com/citizen428/ClojureX/archives/1.1.0

Sorry, really not trying to pitch my project here, but the archive
above basically contains what you are asking for.

Michael

cageface

unread,
Mar 23, 2010, 2:19:04 PM3/23/10
to Clojure
On Mar 23, 11:09 am, Michael Kohl <citizen...@gmail.com> wrote:
> http://github.com/citizen428/ClojureX/archives/1.1.0
>
> Sorry, really not trying to pitch my project here, but the archive
> above basically contains what you are asking for.

Cool. Maybe we could link this and/or Stuart's labrepl from the
getting started page?

Lee Spector

unread,
Mar 23, 2010, 2:53:22 PM3/23/10
to clo...@googlegroups.com

I like where this is going but I would suggest that there's a significant audience (including me and most of my students) in what we might call category A.01: Want to explore and even do some real work, but not necessarily work involving deploying apps, connecting to databases, working with third party code, or anything else that requires a full-featured production environment or project management system. A working REPL with access to contrib and a classpath that allows "load" to work (all of which I can get pretty painlessly with ClojureX) is *almost* enough, but the 0.01 extra that makes an enormous difference is an editor with the minimal functionality of clojure-aware indentation and bracket matching.

I'm intrigued by what I've read here about labrepl, but can someone tell me if it's possible that the lein installation step will mess up my existing setup in any way? Not knowing anything about lein, and having had a confusing time creating my setup that now works (with ClojureX + slime), I don't want to endanger it. This is part of the reason that I (and I presume others who have expressed similar sentiments) really like the idea of a "getting started" package for which the installation process is literally just "download and double click" or maybe "download, unzip, and double click". (And "if you don't like it, throw away what you downloaded and the rest of your system will be unchanged.")

For me the functionality threshold for such a package, which would not only get me started but allow me to do serious work (AI research, not application development) and teach using Clojure, is: a REPL, access to contrib, a classpath that lets "load" find my source files, and a clojure-indenting, bracket-matching editor. Anything else is gravy, but most of the existing "getting started" setups fall short of my threshold at least on the editor front.

-Lee

>> To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.


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

> To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359

lspe...@hampshire.edu, http://hampshire.edu/lspector/

Sean Devlin

unread,
Mar 23, 2010, 2:58:08 PM3/23/10
to Clojure, Phil Hagelberg
Lein is a command line tool that you can use independently of your
environment. 99.9% sure you won't break anything by installing it.

Is this right Phil?

Sean

> lspec...@hampshire.edu,http://hampshire.edu/lspector/

Stuart Halloway

unread,
Mar 23, 2010, 3:25:27 PM3/23/10
to clo...@googlegroups.com
Labrepl (via leiningen) puts jars in a local lib directory. They
shouldn't collide with to break anything else.

Stu

Michael Richter

unread,
Mar 23, 2010, 11:18:00 AM3/23/10
to clo...@googlegroups.com
Or you can just download the environment from the Pragmatic web site.

-- 

Carson

unread,
Mar 23, 2010, 3:28:38 PM3/23/10
to Clojure
I second Lee's thought -- my "work" as a grad student is AI research,
not application development. I'm glad I discovered Incanter's package
(three lines of instructions [1]) that allows me to run a Swank server
that I can easily connect to from Emacs (and Slime from the Emacs end
can be easily installed thru Elpa). The part about getting Swank/
Slime easily going achieves the threshold on the editor front.

[1] from http://data-sorcery.org/2009/12/20/getting-started/
$ git clone git://github.com/liebke/incanter.git
$ cd incanter
$ mvn install

then $ bin/clj to get a repl on the terminal or $ bin/swank to start
up a swank server.

For me, if it takes more than three lines on the terminal, it's just
too much. :)

So labrepl sounds interesting from what I read here (especially as it
includes Incanter?). It'd be great if it also has Swank as part of it
so Emacs can connect to it (or does it already?).

Thanks!
Carson

> lspec...@hampshire.edu,http://hampshire.edu/lspector/

e

unread,
Mar 23, 2010, 4:02:30 PM3/23/10
to clo...@googlegroups.com
I'm starring that post.  Still haven't gotten Aquamacs working with clojure.  will try yet again tonight.

Konrad Hinsen

unread,
Mar 24, 2010, 4:57:42 AM3/24/10
to clo...@googlegroups.com
On 23 Mar 2010, at 19:53, Lee Spector wrote:

> I'm intrigued by what I've read here about labrepl, but can someone
> tell me if it's possible that the lein installation step will mess
> up my existing setup in any way?

I don't think so. Unless you have an existing script called "lein" on
your machine, installing Leiningen shouldn't interfere with anything
else. It even downloads its own copy of Clojure.

Better yet, using Leiningen inside a project directory should not
interfere with anything outside of that directory. So if you download
labrepl and let Leiningen take care of the dependencies, you will end
up with lots of files in your labrepl directory, but no other Clojure
projects (or in fact anything) are modified. Except, of course, your
local Maven repository, but I hope that this is all managed correctly
- certainly don't understand how it works, but it seems to work fine.

Konrad.

Timothy Pratley

unread,
Mar 25, 2010, 7:26:12 PM3/25/10
to clo...@googlegroups.com
Clojure can be used in so many different ways. I can't think of any
other language where I have so many varied "integration options". The
flexibility is confusing and frustrating, but I much prefer its
presence than absence. :) I'm glad I stuck with it.

Mark Derricutt

unread,
Mar 25, 2010, 7:33:01 PM3/25/10
to clo...@googlegroups.com
I was thinking it might be interesting to see if we could integrate Bespin Embedded in labrepl, having a nice web based syntax highlighting editor thats consistent on platforms could be quite cool.

--
Pull me down under...

On Wed, Mar 24, 2010 at 4:26 AM, Stuart Halloway <stuart....@gmail.com> wrote:
You also get this with the labrepl (http://github.com/relevance/labrepl) which is free. Plus I am attempting (with a little help from you all) to keep the labrepl working with various IDEs.
 

Laurent PETIT

unread,
Mar 26, 2010, 2:55:18 AM3/26/10
to clo...@googlegroups.com
Yes, or CodeMirror (maybe more lightweight ?)

2010/3/26 Mark Derricutt <ma...@talios.com>:

prhlava

unread,
Mar 26, 2010, 10:37:38 AM3/26/10
to Clojure

Hello Ronan,

> By the way, if someone has an idea about a sample application (simple,
> but not trivial) which could lead the tutorial, and show different
> aspects of the language, let me know !
> I was thinking about a more complete and idiomatic version of Vincent
> Foley's "Fetching web comics" tutorial, but something more
> "enterprisey" seems more adequate.

I have a slightly more - a full application, it is a tool which I
wrote to save someone around one hour per week of doing "monkey
work" (nothing against monkeys, I just do not like when people waste
their time on what computer can do for them, so I "wasted" some of
mine on learning clojure better while doing something useful).

The input is an excel spreadsheet, this spread-sheet is read (using
libraries developed at apache project), checked whether it is
"valid" (i.e. user opened the right kind), parsed (nothing too
complicated), filtered (what the user needed was a subset according to
few rules), and written to a new file in which the data split in 3
pages - all (for checking), not-interesting (what user does not want)
and interesting (the stuff the user needs to make informed jugement).
The result is, that instead of manually checking 100s spread-sheet
"records" (the input spread-sheet was output from a database, btw),
one only needs to check few.

The app also reports reasonable errors and possibly exceptions (which
can be cut-and-pasted - they do not pop up as dialog boxes), so this
could be fed back to the programmer (me) to get a clue where the
problem is.

The program is not too long, reasonably structured (I wrote it twice,
the first version with focus to make it work and learn, the second to
like the code and the result), I could add more comments (to the code)
as it was not too long ago that I wrote it.

Also, I am pretty sure, someone with higher mastery of clojure-fu
could improve it (my main motivation here is
for other people not to pick up possibly bad beginners (mine) habits
if there are some in there).

Please e-mail me privately if interested.

Kind regards,

Vladimir

Reply all
Reply to author
Forward
0 new messages