On Tue, Jul 12, 2011 at 6:27 PM, Tamreen Khan <histor...@gmail.com> wrote:
> What does something being shiny and new have to do with how good its
> libraries, community, platforms, and support are?

See below.

> Heck, I'd say something being new would detract from it library-wise.

Not necessarily, if it can interoperate with existing libraries, such
as is often the case with new JVM languages that can use existing Java
libraries.

> Sergey's point was that when
> someone begins a new project they have the options of all those languages;
> Clojure isn't just competing with new and shiny things.

In Sergey's own words:

        When people are looking for a new shiny thing among 100 of
        other just new things, they can turn into "scanning mode"
        despite the fact that in other conditions they "do that sort of
        "analytical comprehension""

So the discussion was specifically about a hypothetical developer
checking out *new* things. That developer probably already knows about
(and has rejected, for whatever reasons) C#, Python, Javascript, etc.
(aside from whatever they're currently using, but may want to move
beyond or supplement).

It's not hard to think up the likely objections from a lot of people,
too, and why they'd be looking for something new:

C#: Microsoft; no complete free software implementation

Python: poor performance

Javascript: interpreted, so slow; "isn't this just for adding annoying
ads to web pages"?; "I turn that shit off in my browser, why would I
want to actually write the stuff?" :)

Haskell: in its own universe without familiar tools and libraries;
ditto Scheme, Common Lisp, Smalltalk

Erlang: too different (but this is also likely to be leveled at Lisps
including Clojure).

C, C++: Pointer arithmetic, SIGSEGV, what is this, the dark ages?
Sounds like the goddamned Spanish inquisition!

Java: verbose, you need to write three classes and implement a whole
passel of interfaces, dependency inject a few megabytes of XML, and
apply the Singleton, Visitor, and Iterator patterns just to blow your
nose in this language.


Of course, there are others whose objections are much simpler:

C#: Not Lisp.

Erlang: Not Lisp.

Java: Not Lisp.

Python: List comprehensions and first class functions, but where are
my macros? Not Lisp.

Javascript: eval works on *strings*? You have *got* to be kidding me.
Not Lisp. Next!

Haskell: A bit like Scheme and it even has monads but syntaxy, with
type warts everywhere and no macros. So, not Lisp.

Smalltalk: the BlockContext lacks some of the capabilities of true
first class functions and *where* are my macros? Not Lisp.

C, C++: function pointers but no ability to declare anonymous
functions that close over locals and return them? And what the hell
kind of macro system is THAT?! Sorry. Not Lisp.

;)

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

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