
Clojure is almost as big as Common Lisp - blasdel
http://arcanesentiment.blogspot.com/2011/04/clojure-is-almost-as-big-as-common-lisp.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ArcaneSentiment+%28Arcane+Sentiment%29
======
billrobertson42
Interesting to note, but not really all that informative. An in depth
comparison of libraries might be more useful.

~~~
gaius
Bigness is relevant, CL advocates still cite the size of its standard library
as an advantage:

<http://www.lispworks.com/products/myths_and_legends.html>

 _The library is large and supplies several hundred highly flexible functions_

How many do you get in a "batteries included" Python, Tcl or Perl? How many in
Java or .NET? It may be that the CL ones are "better" but that's subjective...

------
hetman
I think what's more relevant is how well the standard library is designed to
stay out of your way. Bloat and size are not always the same thing.

~~~
adambyrtek
Preferably staying out of the way by providing the right abstractions. Even a
huge library can feel light and flexible if the design encapsulates all the
unnecessary details and translates well into the way we think about the
problem.

------
devin
So, how about that Common Lisp community spirit?

------
nickik
How big is something like python?

~~~
riffraff
I'd say that's possibly a not so interesting comparison, in the sense that
python and clojure seem to have quite different name-usage patterns, but some
values that may interest you: the size of __builtins_, the basic types and
functions would be

    
    
        len(__builtins__.__dict__.values()) #=> 143
    

but then you'd have to consider the methods/attributes on each object

    
    
        len(list(chain( *[dir(o) for o in __builtins__.__dict__.values()]))) #=> 4133
    

but then again, most of these are either the same method that keeps appearing
via inheritance, or a different implementation of the same protocol, so you
may want to collapse same-named objects

    
    
        len(set(chain( *[dir(o) for o in __builtins__.__dict__.values()]))) #=> 250
    
    

which added to the names of the first iteration gives you ~400 names, about
half of clojure.

But a lot of code in python is in the standard lib even if not loaded as
__builtin__, sadly, I'm not sure how to list/load all the standard library in
one go.

