Hi all!

So, I'm new to Clojure! I'm coming in from a Java background and am 
currently working on a project that has prompted me to have a look at 
whether Clojure would be useful. 
I have started by going through the "Brave Clojure" website and working 
through the exercises and what I've seen has at many times just made me 
smile at the (at least so far) intuitiveness, simplicity and power of the 
language. My use case is this:

A real time (sealed bid) auctioning system. We have a maximum number of 
bids (example 100) that's set by the owner of the product. Our clients then 
bid on the product. Once a bid is made, it's committed to a database and 
the counter increments. The next bid is processed, and so on. Once the 
maximum number of bids is reached, bidding stops. This auctioning system is 
for a mobile application however the main code for the real time system 
sits on a web server. The mobile app is a very thin client so simply makes 
a call to the app server via an API which then processes that request (and 
returns the result). 

Requests are processed in order - so we're following a "first come first 
serve" approach. If at any time a request is due to be processed and the 
counter hits 100, all requests should gracefully "fail" and be blocked from 
bidding. Now this is obviously possible in Java, albeit with a lot more 
code and thinking about the different ways to make everything thread-safe, 
etc. This is a completely new project so there's no restriction on 
languages to be used, etc. PS: We're all Java developers.

I was really attracted to Clojure because of a) the JVM b) the fact that it 
seems to be able to handle concurrency effortlessly c) our API needs to 
scale and so we want to ensure that we can handle the 100K+ connections 
easily when the project reaches that stage. Obviously this is more to do 
with the hardware, but the way we build the API is a definite factor. 
Finally, there seems to be less verbose codebases on Clojure and it might 
help to keep our overall codebase light and readable! 

My questions therefore are these:

With the time we have (around 1 month for this stage), is this something we 
can easily build in Clojure?
Is the movement from Java to Clojure easy for someone completely new to 
Clojure?
Are the libraries that we might use for this - I had a look at Ring briefly 
robust for our use case?
Does Clojure have good support for using AWS for example? (You can call 
Java from Clojure so I guess this wouldn't really be an issue.)
Does it interface well with MySQL?

I'd be very grateful if someone could point me in the right direction on 
this - like I said, really really like what I'm seeing of Clojure but just 
want to be sure from the community before I recommend this as an action to 
take!

(hash-map :many "thanks")

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  • New to... (hash-map :new "to clojure" :need "assistance")
    • R... Dennis Roberts
      • ... (hash-map :new "to clojure" :need "assistance")
        • ... Christopher Small
    • R... Matching Socks
    • R... Sean Corfield
      • ... (hash-map :new "to clojure" :need "assistance")
    • R... simon lomax
      • ... (hash-map :new "to clojure" :need "assistance")
    • R... Gregg Reynolds
    • R... Gregg Reynolds

Reply via email to