On Jul 2, 8:33 pm, Mark Engelberg <mark.engelb...@gmail.com> wrote:
> On Sat, Jul 2, 2011 at 12:21 PM, James Keats <james.w.ke...@gmail.com> wrote:
> > A very recent quote by Abelson is relevant:
> > "One of the things I’m learning here (Google) is the experience of
> > working on these enormous programs. I just never experienced that
> > before. Previously a large program to me was a hundred pages or
> > something. Now that’s a tiny, little thing."
>
> In your post, you talk about a certain naivete among Lispers about its
> practicality in industry, explain that python and java benefit from
> their added restrictions, and then offer up the above quote by
> Abelson.  But you never really tie these observations back to Clojure.
>  So I want to ask explicitly, do you think Clojure is suitable for
> these sorts of really large programs?  Why or why not?

If the community sticks to Rich Hickey's original vision, and in
*competent and disciplined* hands, I believe clojure is suitable for
almost any problems (barring the obvious of course, eg, those where
the jvm wouldn't be suitable).

Clojure is not just simply a lisp, it improves upon lisp through its
immutable/persistent data structures, emphasis on pure functions and
separation of pure code from side-effecting one, collections/sequence
abstractions, embrace of java, concurrency, and recently datatypes/
protocols; clojure does impose restrictions; all those above are
restrictions (use immutable/persistent data, use pure functions, use
java directly, use generic data structures and generic sequence
functions to manipulate them, use the appropriate concurrency
feature.. etc, though it does somewhat enable the programmer to work
around those when necessary) and also for example the disabling of
user-defined reader macros. I'm actually thrilled about that, and look
forward to see how it would actually work out as the community
expands. I do though implore clojure core to stick or Rich Hickey's
original vision, and not dilute it to appease ill-conceived social/
marketing claims and incalcitrant newcomers.

Additionally, programs and teams for clojure don't have to be really
large. The language is such that a small and competent team, or even
an individual developer, could do a lot with so little.

In any case, enterprise needs could be bolted on clojure; programming
against services/interfaces/xml schemas/messaging/et cetera. Those
could almost even be said to be orthogonal.

Additionally, whatever clojure does, clojure is ultimately java. I
could take clojure 1.0 and the innumerable java libs and be done with
it (I remain to be convinced about datatypes/protocols and believe
them to impose a managerial overhead, I believe for large teams
they're a double edged-sword, the programming against interfaces is
beneficial, but their ad hoc permissiveness could prove problematic).
The same can't be said for other lisps, those weren't made with Java
in mind as Rich Hickey made clojure.

Regards,
J

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