Prototype Based Programming in Lisp?
Alexandre Rademaker
arademaker at gmail.com
Mon Jul 4 21:17:54 UTC 2016
I though that ABCL is older than Clojure , am I wrong ?!
One big frustration for me was the error handling ! Errors in Clojure are exposed as Java errors, we don't have the amazing CL handlers.
Alexandre
Sent from my iPhone
> On 4 de jul de 2016, at 17:07, Tom Emerson <tremerson at gmail.com> wrote:
>
> On Sun, Jul 3, 2016 at 7:25 PM, David McClain
> <dbm at refined-audiometrics.com> wrote:
>> My impressions from a few years ago was that Clojure was another language
>> built for the heck of it, much like Python. Not particularly well designed[...]
>
> Rich Hickey didn't create Clojure just for the heck of it: he had very
> specific goals in mind and, IMHO, put a lot of thought into the design
> of the language and the decisions he made given the design space
> (running within the overall JVM environment) and the warts he saw in
> other languages, within and without the Lisp family. There are
> numerous presentations available online where Rich talks about the
> development of Clojure: if you're interested I think they would show
> you that his design
>
>> under the control of one individual[...]
>
> I'm not sure you can compare Python's BDfL with Rich's position with
> Clojure. I don't have a concrete example, but Clojure feels less
> bound-up in its creator's blinders than Python. That can also be a
> side-effect of its Lisp-nature though.
>
>> with lots of cheerleading from the small audience.
>
> Which isn't a bad thing. Any new language requires its evangelization.
> I would also posit that from outside the community, Common Lisp is
> viewed the same way.
>
> [...]
>> And I know
>> essentially nothing of the Java world, and whether or not it is a good thing
>> that they are migrating to Clojure.
>
> That's the crux of it: if you have to co-exist in a Java universe and
> want to write in a Lisp, your options are Clojure or Armed Bear Common
> Lisp. ABCL is relatively recent and does not have the community
> support that Clojure does. The tooling available for Clojure is quite
> good, insofar as its Emacs tools are excellent and support for the two
> most common Java IDEs (Eclipse and IntelliJ) is steadily improving,
> making the transition for Java developers much more friendly. The
> software that I'm writing in Clojure is seen by our operations team as
> "just another Java binary". It allows my software to integrate into
> their existing monitoring and logging systems without them doing
> anything different. I also have the entire Java/Scala library
> ecosystem available to me: if I need something that doesn't exist in
> Clojure I can usually find it in the Java world. The interop between
> Clojure and Java is cleaner, in my limited experience, than that
> between ABCL and Java.
>
> While its a tired trope, cross-platform compatibility is good. I
> develop on Mac OS X, continuous integration and deployment on Linux,
> and my coworkers use generally use Windows. That's not uniquely a
> Clojure feature: SBCL, CCL, and LW all run on these different
> environments too.
>
> There are parts of Common Lisp I miss when developing in Clojure,
> especially the conditions system. I sometimes miss CLOS, but Clojure
> has multimethod dispatch which is good enough for most cases.
>
> I like both Clojure and Common Lisp, and see them as complementary
> tools which I select depending on my needs at any given time. However,
> there is a cognitive load in switching between them, and since most of
> my work of late is in a Java world, I tend to stick with Clojure even
> for nonce tools.
>
> ClojureScript is amazing if you are creating tools or services that
> need a web-based UI, whether for primary interaction or diagnostics.
> The entire system can be written in Clojure, with the UI running on
> the client browser. You can share code across projects: I have a set
> of functions used to generate various sequence comparison statistics
> that I share between command-line tools and a single-page web
> application that is written in ClojureScript. Before moving to
> ClojureScript I had to maintain two versions of these, one in
> JavaScript and another in Clojure. I can even make these functions
> callable from Java, if I cared to do so.
>
> Anyway, I don't want to initiate a religious war between Clojure and
> CL. I just wanted to give you some reasons why a (Common) Lisper may
> also use and enjoy Clojure.
>
> Peace,
>
> -tree
>
> --
> Tom Emerson
> tremerson at gmail.com
> http://it-is-what-it-is.treerex.net
>
More information about the pro
mailing list