> Initially, the java aspect is a bit daunting. However, I don't believe you
> need to know java in order to take advantage of all the java interop
> features of clojure.

So as a background, before I give my two cents. I'm a C# developer by
trade, and feel very comfortable with .NET. I also have quite a bit of
Python experience, and am just as comfortable in that language.
However, I have to agree with the OP...when it comes to Clojure and
Java interop, I kindof feel like the developers just said "eh...we'll
give good interop and make everyone learn Java as well".

I'm not going to say this was a bad position to take, on the contrary,
I think it's just fine. But the problem is that now I, as a .NET
developer have two choices:

1) Learn Java just to use Clojure.
2) Use Clojure-CLR and be stuck withouth lein and 90% of the libs that
I want to use.

I think the big problem, is that Clojure makes a big deal about being
"Simple". That is, avoiding unneeded complexity, but then throws its
users into the sea of complexity that is Java. If I want to write
arbitrary binary data to a file, I really don't want to take the time
to learn what a FileOutputStream is, or a DataOutputStream. All I
really want is to just spit some binary data into a file. All I really
want is an interface like this:

(with-file f (open "foo.baz" "w")
    (write-int f 1)
    (write-string f 3))

Doing this would allow users to port the same code to Clojure-CLR,
Clojure-JVM, or ClojureScript...and write truly compatible code. As
someone who doesn't know Java, my Clojure development is greatly
slowed because I must spend hours pouring over the Java docs to figure
out how to do simple things like write a file. I have to be worried
about accidental reflection, proper class construction (or even
reflection when the class is constructed), etc.

It's my belief that this is why Python has had such success with the
beginner programmers. You can go to the Python docs...find a section
on "writing files" and in a minute know everything there is to know
about writing files. Python even includes a built-in mini web server!
If I want to write a mini-webserver in stock Clojure...ummm...do I
start with Jetty?

</rant>

Timothy

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