File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Clojure and the fly likes Clojures killer app Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Clojure
Bookmark "Clojures killer app" Watch "Clojures killer app" New topic
Author

Clojures killer app

andrew ennamorato
Ranch Hand

Joined: Oct 03, 2007
Posts: 100
Most of my Clojure-loving friends have a functional background of some sort (lisp in college, previous experience w/ a functional language, a math background, etc).

But for dumb average run-of-the-mill coders like myself, Clojure is still a bit of a mind bender. It obviously does a lot of things very well - solves problems in few lines of code, makes multi-threading easier, has fancy solutions for typical problems, etc.

The thing I haven't seen, though, is a "killer app" example involving Clojure. Take Rails (although that's a bit different) - those original screencasts by DHH on how to create a blog kind of helped launch it to the world in a way that regular folks could understand. "Oh, wow, I can create a blog in 15 minutes? Cool." Or various Java/Pet Shop or Twitter clone demos - "Oh, I can do that in a day? Cool, I'll check it out."

Now, it's highly likely I just haven't done enough looking into Clojure and the various screencasts, tutorials and books to find something like this, hency my question: What is the Clojure killer app/demo for the non-functionally minded? Is there a good screencast you can point to?

I've heard good things about this book, the other Manning Clojure book and of course Stu's Programming in Clojure, so those might all be good options.
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

Steve Yegge calls the JVM is the killer application of Clojure. I couldn't say any thing better than this.
andrew ennamorato
Ranch Hand

Joined: Oct 03, 2007
Posts: 100
I can see that, esp versus other functional lang's.

But what's the killer app/demo/tutorial that is going to make a regular Java programmer bother to wrap their head around a functional language? Sure, those already inclined will use it, as will naturally smart coders, forward looking developers, etc, I'm just wondering what the big "A-Ha" moment will be for the rest of us.
Huahai Yang
Greenhorn

Joined: May 25, 2011
Posts: 10
I don't think a killer app is the way to go for a general purpose language, because people tend to tie the language to the domain of its killer app. For example, Ruby is popular, but only for Web programming. I believe Clojure has a much bigger aspiration than that.

As to your point that Clojure loving requires prior lisp, math, or functional experience, I think that generalization is not true. I did not have any of that prior experience and did imperative programming for 20 years, and I learned to love Clojure recently. It tooks about 10 months on and off. I first started with Clojure interp with Java, which got me familiar with Clojure syntax, but I still didn't have the feel of mastery like I had with Java. Then I tried to do programming exercises on 4clojure.com, that's what really got me hooked. So I think it is important to actually dive into the language instead of just reading about it. The more people do that, the more people will love the language.
andrew ennamorato
Ranch Hand

Joined: Oct 03, 2007
Posts: 100
Huahai Yang wrote:For example, Ruby is popular, but only for Web programming. I believe Clojure has a much bigger aspiration than that.


Does it get any bigger than web programming? The only thing bigger than web programming right now is mobile programming, haha.

It tooks about 10 months on and off.


That's why I think there has to be some sort of killer app/demo if Clojure indeed wants to be more of a general language. Why bother to switch from Ruby/Python/Java/.Net if I have to spend 10 months learning it? What company gives employees the time to do that? (Not saying they shouldn't, but for many people, time isn't a luxury).

So I think it is important to actually dive into the language instead of just reading about it. The more people do that, the more people will love the language.


That's a great point. Part of the reason why I picked up PragProg's Seven Languages in Seven Weeks - even though I haven't gone through it yet - figured the brief intro to Clojure in there (and Haskell and other lang's) would give me enough reason to dig further.

Thanks for the discussion Huahai.
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

That's why I think there has to be some sort of killer app/demo if Clojure indeed wants to be more of a general language.

So Java, Ruby and Python aren't general programming languages?
Killer demo isn't a requirement to success, what was the killer demo of Python when it was released?
Igor Mechnikov
Ranch Hand

Joined: Feb 13, 2011
Posts: 100

John Todd wrote:
That's why I think there has to be some sort of killer app/demo if Clojure indeed wants to be more of a general language.

So Java, Ruby and Python aren't general programming languages?
Killer demo isn't a requirement to success, what was the killer demo of Python when it was released?


I imagine "general" here meant "popular", not "for general purposes".


String knock = "\u042F \u0418\u0433\u043e\u0440\u044c";
andrew ennamorato
Ranch Hand

Joined: Oct 03, 2007
Posts: 100
Right - I should have put "popular".

Look at some of the titles in this form for this weeks book contest:

Benefits of Learning Clojure? Dan King
Clojure advantages Sayth renshaw
Why learn Clojure Alvin Watkins
Real-life Clojure examples Toby Matejovsky
...


IMO, it's clear that people like Clojure (or the idea of), like the possibilities, know that Rich and co. are taking their time creating a great language, but...
...they're still looking for that certain demo/example/whatever-you-want-to-call-it that will make it worth the effort to learn a language that uses such a different style.

I'm still curious what that is. Oh well, time will tell if one ever comes up.
Sean Corfield
Ranch Hand

Joined: Feb 09, 2011
Posts: 232
    
    3

andrew ennamorato wrote:...they're still looking for that certain demo/example/whatever-you-want-to-call-it that will make it worth the effort to learn a language that uses such a different style.

"Why should I learn language X?" is usually the first question that a programmer in language Y asks when s/he first hears about language X.

I would expect similar questions about any language - and that's even more true of a language that's so very different from the day-to-day language of most developers here on Java Ranch.

Back in the early 90's, I had to ask similar questions of C++ - an alien technology given my procedural and functional programming background - and I had to ask similar questions later in the 90's as Java became more popular.

However, learning another language - especially a very different language - is worth the effort simply because it teaches you new ways to solve problems in your "daily" language. Imperative, declarative, functional, object-oriented, prototype, logic - all worth learning, to improve your skills and your problem-solving abilities, in my opinion.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Clojures killer app
 
Similar Threads
Clojure
Why learn Clojure
New To Clojure
Creating a cartesian product with to lists
Thinking functionally