>
> With pip/easy_install and virtual_env, there's really not much of a point. 
> Would lein-py be nice? Yeah, but it's hardly a show-stopper.
>

To me,  maintaining / distributing (virtual) python environments, even in a 
small (but mixed) organisation, is more of a hassle than plonking in a few 
dependencies in a project.clj.

What I want is different from what you want. I want standalone script files 
> and Clojure will not do that. Tell me, why do you like having project files 
> for everything? If you're doing bigger projects, I can understand why you 
> want project files.
>

Almost goes without saying it probably is, although I don't think our 
usecases aren't too different. I don't do huge projects, but like Leiningen 
because it makes distributing / building / running JVM Clojure programs 
consistent and repeatable on different machines (and different OS'es). I 
consider 5 lines of project file and one install possibly the smallest 
sacrifice possible.

Python doesn't force you to think asynchronously.
>

If your usecases don't involve multithreading, neither does JVM Clojure.

As an example, see RestFn.java, AFn.java, etc.
>

I don't think a language's internal implementation is a valid example for 
it's ease of use / adoptation. If that reasoning would be symmetrical, Lisp 
use would have been huge.

There surely are simpler examples people will run into much more often, 
like (bigint "123") works but (int "123") throws an exception. I'm pretty 
sure this is not only about being implemented on the JVM. A 
Clojure-in-clojure version on the JVM might not even have that particular 
problem.

I've also seen things work the other way round, (.hashCode char) working 
100 times slower than (int char), or vector implementations beating 
supposedly 'optimized' Java array implementations. I can understand this is 
hard to expect or reason about, but I'm sure a Python implementation will 
run into such issues as well. Those might be easier to reason about by 
someone with previous Python experience, but that won't help Clojure 
adoption by people not acquainted with either.

I think it's more the restrictions the JVM puts on it.
>

It's a deliberate choice of the Clojure designers to keep the layer between 
Clojure and the host platform as thin as possible. In the short run, this 
will be a boon to both the language designers as well as budding Clojure 
developers coming from their respective platforms. In the long run it will 
probably pay off as well, seeing it's a pipe dream to create a language 
that will work uniformly on all of them.

In the meantime, it will be considered against Clojure that there's no 
consistent clojure library support for even the simplest of tasks, or that 
one task is easier to accomplish on one platform compared to the other. 
Easily skipping over the huge advantage every one will support different 
OS'es / browsers.

Python has a lower barrier to entry than Java.
>

Don't complect simple and easy. I have more experience in writing Python 
than Java, but haven't had major issues with gremlins surfacing from the 
underlying implementation on the JVM. Being able to find and read 
documentation of a library you want to use usually suffices.

You can use all the python libraries.
>

You can use all Java libraries :P Seriously, the big thing about Clojure is 
it's ease of interop, whatever the platform. Just jealous you guys get SQL 
Alchemy though ;)

It has none of the complexities with libraries
>

There's tons of simple, well designed API's /  libraries for Java. Not all 
of them are overengineered frameworks. Also, there's a lot more Clojure 
libraries for the JVM. There's warts in the basic Python implementation and 
a lot of poorly thought out Python API / libraries as well. Does that 
matter much when I want to use Clojure Py ? I doubt it.

Closing:
I'm sure there's value in a Python implementation of Clojure. Clojure will 
be hard to pick up as a new language, and different versions will help 
adoption by people that already know the host platform. For newcomers to 
Java and Python, both will suffer implementation details.

However, for newcomers to both Python and Java: Clojure documentation has 
been more targetted to the JVM version, and there's more Clojure libraries 
designed for the JVM. Using Leiningen to get Clojure and Clojure / Java 
libraries, stting up a REPL and running Clojure code is pretty simple to 
set up and use, I think arguably easier than a Python / pip / virtual_env 
setup. Clojure and Leiningen integration in Eclipse is very good, even for 
people new to Java.

Be sure to try Clojure/py though if you come from the Python side 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

Reply via email to