Here's what I don't get about Clojure fans:
I don't see what problems you are solving. A simple Hello World program is made in Clojure and it gets upvoted all day.
On the other hand Ruby on Rails folks are solving real problems today, making strides in integrating CoffeeScript and cleaning up javascript directories.
It's like someone showing off a new garbage collection library built in C. The problem's been solved. Show me something new.
Before we can start doing all the cool stuff, we need a solid foundation. Clojure isn't quite in the position where it can match Ruby on Rails, at least not yet.
However, in my rather biased opinion, many of the core Clojure web development libraries already exceed those built for Ruby, and certainly vastly exceed those that existed when RoR was first released.
For me, the most interesting part of libraries like Noir is how much they use existing libraries. It indicates we're doing something very right with regard to modularity.
Integrating CoffeeScript and cleaning up JavaScript code are not "real" problems either. Just like with new programming languages such as Clojure it's about improving the tools used to solve real problems.
You clearly weren't around the Rails scene six or seven years ago, when it seemed like everybody was writing blogs, to-do lists and similar basic CRUD apps (since it could be done with little more than a "script/generate scaffold"). When a technology is new and there aren't a lot of commercial projects using it yet, you'll get a low S:N ratio of projects coming from the community as people get their feet wet. As the technology matures, you'll see more "real problems" being solved.
I was around before Rails, back when Tapestry, Wicket and Appfuse projects were making my life easier. How does Clojure for Web development make my life easier? is the question that should be asked.
Clojure's been popular in the hacker community for a good 2 years now. That's a weak argument.
Tapestry, Wicket and Appfuse? You're making my point for me: The thinking you're using now to praise Rails and attack Clojure would have been just as valid seven years ago to praise Java and attack Ruby. All you're really remarking on is the maturity of the communities in question, but you're presenting it as a commentary on the usefulness of the technology.
And Clojure has been known for a good two years now, but I would not have said Clojure was popular two years ago. It didn't have a lot of regular users, which is what you're observing when you say people aren't solving "real problems" in it. I'm not sure I'd even say Clojure is popular today. I'd say it's still roughly where Ruby was in 2004 — lots of excitement, but still lots of growing to do.
I studied Clojure and I hope really cool stuff comes out.
When Rails came out it solved all kinds of new problems. For one, by using metaprogramming a whole bunch of files were eliminated. As soon as Rails came out I was much more productive than I was with Tapestry or Wicket. Not so with Clojure.
The metaprogramming capabilities in Clojure greatly exceed those of Ruby, so that's a bit of a weak argument if you're impressed by things of that nature. Also one shouldn't forget about Clojure's concurrency model and functional purity which lend themselves to correctness and scalability.
Just because it doesn't necessarily better solve your class of problems doesn't mean it's unsuitable for other people's.
Im not sure Clojure does make Web development much easier yet but as in with any language people like the want to develop as much as possible with it. So people trie to lift clojure to the web, this will take some time just as other languages took there time.
The reason why people want Clojure on the web could be (or "How Clojure can make your life easier for webapplications):
1. Use FP in the Web (I mean general imutability not closures)
2. Safe and easy concurency
3. Tons of java librarys for general stuff that you might do
4. Very powerful meta programming. Rails has shown this to be a win and with Clojure much more is possible.
I've been in the Clojure community for some time and the real "boom" of Webapplications in Clojure has only really lifted in the last year. I think its pretty impressiv how the Webstack developed in that time.
Comments
Here's what I don't get about Clojure fans: I don't see what problems you are solving. A simple Hello World program is made in Clojure and it gets upvoted all day. On the other hand Ruby on Rails folks are solving real problems today, making strides in integrating CoffeeScript and cleaning up javascript directories.
It's like someone showing off a new garbage collection library built in C. The problem's been solved. Show me something new.
Before we can start doing all the cool stuff, we need a solid foundation. Clojure isn't quite in the position where it can match Ruby on Rails, at least not yet.
However, in my rather biased opinion, many of the core Clojure web development libraries already exceed those built for Ruby, and certainly vastly exceed those that existed when RoR was first released.
For me, the most interesting part of libraries like Noir is how much they use existing libraries. It indicates we're doing something very right with regard to modularity.
Integrating CoffeeScript and cleaning up JavaScript code are not "real" problems either. Just like with new programming languages such as Clojure it's about improving the tools used to solve real problems.
You clearly weren't around the Rails scene six or seven years ago, when it seemed like everybody was writing blogs, to-do lists and similar basic CRUD apps (since it could be done with little more than a "script/generate scaffold"). When a technology is new and there aren't a lot of commercial projects using it yet, you'll get a low S:N ratio of projects coming from the community as people get their feet wet. As the technology matures, you'll see more "real problems" being solved.
I was around before Rails, back when Tapestry, Wicket and Appfuse projects were making my life easier. How does Clojure for Web development make my life easier? is the question that should be asked.
Clojure's been popular in the hacker community for a good 2 years now. That's a weak argument.
Tapestry, Wicket and Appfuse? You're making my point for me: The thinking you're using now to praise Rails and attack Clojure would have been just as valid seven years ago to praise Java and attack Ruby. All you're really remarking on is the maturity of the communities in question, but you're presenting it as a commentary on the usefulness of the technology.
And Clojure has been known for a good two years now, but I would not have said Clojure was popular two years ago. It didn't have a lot of regular users, which is what you're observing when you say people aren't solving "real problems" in it. I'm not sure I'd even say Clojure is popular today. I'd say it's still roughly where Ruby was in 2004 — lots of excitement, but still lots of growing to do.
I studied Clojure and I hope really cool stuff comes out.
When Rails came out it solved all kinds of new problems. For one, by using metaprogramming a whole bunch of files were eliminated. As soon as Rails came out I was much more productive than I was with Tapestry or Wicket. Not so with Clojure.
The metaprogramming capabilities in Clojure greatly exceed those of Ruby, so that's a bit of a weak argument if you're impressed by things of that nature. Also one shouldn't forget about Clojure's concurrency model and functional purity which lend themselves to correctness and scalability.
Just because it doesn't necessarily better solve your class of problems doesn't mean it's unsuitable for other people's.
"bit of a weak argument if you're impressed by things"
I'm impressed by results
Im not sure Clojure does make Web development much easier yet but as in with any language people like the want to develop as much as possible with it. So people trie to lift clojure to the web, this will take some time just as other languages took there time.
The reason why people want Clojure on the web could be (or "How Clojure can make your life easier for webapplications):
1. Use FP in the Web (I mean general imutability not closures) 2. Safe and easy concurency 3. Tons of java librarys for general stuff that you might do 4. Very powerful meta programming. Rails has shown this to be a win and with Clojure much more is possible.
I've been in the Clojure community for some time and the real "boom" of Webapplications in Clojure has only really lifted in the last year. I think its pretty impressiv how the Webstack developed in that time.