Live data from Hacker News

2012 State of Clojure survey

cemerick.com

31–40 of 43 posts

Re: 2012 State of Clojure survey

#31
post #28

Earlier quoted context omitted.

I strongly disagree with that slogan re: complexity. Complexity covers so much, its definition so sprawling, that the phrase has no meaning. I'd rather focus on the language's real strength, fast, concurrenty, portable computation in very well tooled managed environment with a large number of quality libraries. I don't want to get into a situation where people think that clojure is the universally 'best' language, wh…

It damaged Ruby's popularity? You feel Ruby hasn't been popular enough the past few years?

While Rails has been a massive success the ruby language hasn't been particularly popular much beyond that.

I'd say python has a more even distribution in terms of use in varied fields for instance.

Re: 2012 State of Clojure survey

#32
post #22

Somehow I get the feeling that the Clojure community is in the "marketing" phase of the language. I'm starting to see many Clojure threads popping up HN lately. InfoQ.com also increasingly added Clojure presentations/articles lately. It's all good, a little bit of competition between languages is healthy. Having said that, I believe it is hard for Clojure community to convert/invite people with what you guys have don…

Clojure's killer app is managing complexity. This allows you to keep your mental stack clean. With OO, you have to keep track of the state of each object and how each method affects that state. With Clojure, you don't need to be concerned with the guts of a function, just the inputs and outputs. This keeps your mental stack from building up and makes programs easier to understand and debug.

> Clojure's killer app is managing complexity. This allows you to keep your mental stack clean.

There's a big PR problem with environments that have this as a core strength: it's very hard to demonstrate this without a lot of involvement. It's very hard to demonstrate this with a "hello world." sized experience.

Re: 2012 State of Clojure survey

#33

i really like clojure. for me, it's not about the lisp - it may sound crazy, but it's a better python. lazy sequences are nicer to use than generators, and i don't need to worry so much about mutation. seriously. that's how i am describing it to co-workers: a better python. that should have been scheme, i guess, but it lacked the lazy sequences to get over the "ewww parens" hill. if you're a python user that's starti…

I think this is apt. When I learned Clojure, I had the same thought that it is a better Python.

Once you gain paren blindness, Clojure code starts to look a lot like Python. Macros, immutability, real concurrency, destructuring all make for a much nicer experience.

That being said, Clojure just feels like a nicer Python and for me and others, Python is just fine, so why change? Concurrency is one of the promised gains in CLJ but beyond software STM, Clojure doesn't gain you much. You're still using cumbersome threads so why bother. In fact I've moved on from Clojure and started writing Erlang for highly concurrent applications. It is much more appropriate for building concurrent, robust applications. I still write a fair amount of Python for web development.

Re: 2012 State of Clojure survey

#34
I would like to see some slick ways of doing functional programming within existing environments. An automated tool that would automatically verify certain delimited sections of code as being "functional" to some extent would do tremendous amounts to increase use and understanding of functional programming, as well as benefitting the programming world.

Re: 2012 State of Clojure survey

#35
post #22

Earlier quoted context omitted.

Clojure's killer app is managing complexity. This allows you to keep your mental stack clean. With OO, you have to keep track of the state of each object and how each method affects that state. With Clojure, you don't need to be concerned with the guts of a function, just the inputs and outputs. This keeps your mental stack from building up and makes programs easier to understand and debug.

I strongly disagree with that slogan re: complexity. Complexity covers so much, its definition so sprawling, that the phrase has no meaning. I'd rather focus on the language's real strength, fast, concurrenty, portable computation in very well tooled managed environment with a large number of quality libraries. I don't want to get into a situation where people think that clojure is the universally 'best' language, wh…

Rich Hickey has gone to great lengths to define simplicity and complexity (http://www.infoq.com/presentations/Simple-Made-Easy), and the paper "Out of the Tar Pit" (http://shaffner.us/cs/papers/tarpit.pdf) goes further.

Software projects are becoming increasingly complex, and multicore concurrency is becoming increasingly important. Immutability and referential transparency are key ingredients in Clojure concurrency so I think the slogan is apt.

Re: 2012 State of Clojure survey

#36
My biggest complaint at this point would be the lack of a well polished vim plugin for clojure, somewhat similar to what we have today thanks to all the hard work by Tim Pope (vim rails and others). I know lisp is an emacs world, but we're your buddies too :)

Re: 2012 State of Clojure survey

#37
post #3

Somehow I get the feeling that the Clojure community is in the "marketing" phase of the language. I'm starting to see many Clojure threads popping up HN lately. InfoQ.com also increasingly added Clojure presentations/articles lately. It's all good, a little bit of competition between languages is healthy. Having said that, I believe it is hard for Clojure community to convert/invite people with what you guys have don…

Some of us have been "marketing" Clojure for a number of years now. :-) The results from the last two years of the survey (e.g. 2011's are here: http://cemerick.com/2011/07/11/results-of-the-2011-state-of-... ) might be illuminating for you. Clojure has a ton of compelling use cases, but it's stubbornly not going to fit into the shoebox of a single domain. Thus, it's going to be hard to say, "Clojure is great because…

On a sidenote, really enjoying your book so far, Chas. I'm really liking the chapter breakdown and sections like the practicums.

Re: 2012 State of Clojure survey

#38
post #22

Somehow I get the feeling that the Clojure community is in the "marketing" phase of the language. I'm starting to see many Clojure threads popping up HN lately. InfoQ.com also increasingly added Clojure presentations/articles lately. It's all good, a little bit of competition between languages is healthy. Having said that, I believe it is hard for Clojure community to convert/invite people with what you guys have don…

Clojure's killer app is managing complexity. This allows you to keep your mental stack clean. With OO, you have to keep track of the state of each object and how each method affects that state. With Clojure, you don't need to be concerned with the guts of a function, just the inputs and outputs. This keeps your mental stack from building up and makes programs easier to understand and debug.

Perhaps I have not pushed OO to the limit but for the most day-to-day tasks I've ever done, OO state is hardly the issue unless you have to write a paper or explain something via state-machine or whatnot.

Request -> App Server -> Processing -> Response -> End, no state lingering around...

I do understand what you're saying but I believe the era of complex OO with states is declining, at least at web-development level...

Re: 2012 State of Clojure survey

#39
post #20
post #12

Earlier quoted context omitted.

I thought numpy was python's killer app

I would say Python's killer app is its massive library -- the size and quality has few rivals. No doubt Python's readability and approachability contributed to this.

While I love Python, I always worry about any language that resorts to this argument, since the lack of libraries is the easiest problem for a language to fix. I still remember hearing (and believing) that Python would never be as popular as Perl, since Perl had far more libraries.

Re: 2012 State of Clojure survey

#40
post #20
post #12

Earlier quoted context omitted.

I thought numpy was python's killer app

I would say Python's killer app is its massive library -- the size and quality has few rivals. No doubt Python's readability and approachability contributed to this.

If you mean its built-in standard library - in some cases, it's just a place for code to rot and stagnate. Ubiquity comes at the cost of massive friction to update.
Post reply on HN