CodeTown

www.codetown.us ::: a software developer's community

Last nights GatorJUG prestation on Clojure with Eric Lavigne introduced us to Clojure's language elements. Say your customer, a timeshare company, wanted a new database driven reservation website. Build a case for Clojure and lay out a reasonable architecture, including use of existing Java components and object relational mapping, or not.

Reply to This

Replies to This Discussion

If I offered to finish the site in a week, would my client need further justification :-)

A timeshare reservation site would be fairly trivial from a technology perspective. For the web front-end, I would use Compojure, just as I did with the Wari contest. For database access, I would use clojure.contrib.sql, which has the same capabilities as java.sql but without being so incredibly verbose.

Architecture is important for big projects. This isn't a big project.

Reply to This

So, Eric - can you say a few words about Compojure? Just enough to get us started. And, please point us to a reference. Is clojure.contrib.sql fairly full featured? Can it to stored procs and transactions? What are some of its strengths and limitations? Just a taste...

Eric Lavigne said:
If I offered to finish the site in a week, would my client need further justification :-)

A timeshare reservation site would be fairly trivial from a technology perspective. For the web front-end, I would use Compojure, just as I did with the Wari contest. For database access, I would use clojure.contrib.sql, which has the same capabilities as java.sql but without being so incredibly verbose.

Architecture is important for big projects. This isn't a big project.

Reply to This

Compojure is a web development library with a focus on simple, RESTful applications. This example should give you a feeling for Compojure:

http://en.wikibooks.org/wiki/Compojure/Getting_Started#A_bit_more_v...

And here are some references:

http://en.wikibooks.org/wiki/Compojure/Core_Libraries
http://en.wikibooks.org/wiki/Compojure/Tutorials_and_Tips
http://github.com/weavejester/compojure


You can find some examples of clojure.contrib.sql here:

http://github.com/richhickey/clojure-contrib/blob/master/src/clojur...

And here's a reference:

http://richhickey.github.com/clojure-contrib/sql-api.html

clojure.contrib.sql has transactions and prepared statements. I don't know about stored procedures, since I have never used them in Clojure or Java.

Reply to This

Reply to This

RSS



Reading List

Systems engineer deemed best job in America - CNET News

A deep and detailed survey by Focus.com concludes that the best job in the United States is a tech job: systems engineer. No. 2: physician assistant. No. 3: college professor.

Open Source Bridge: The conference for open source citizens / June 1-4, 2010 / Portland, OR

2010 Call for Proposals is open!

We would love to hear all of those interesting ideas you have in your head---and so would everyone else. That's why we will be accepting your proposals for Open Source Bridge through March 18.

Like, Python

Like making computers do your bidding?
Enjoy Python features like lambdas? Indent-grouping? List comprehensions?
Tired of Old Man Python telling you what you can and can't say to your computer?

It's about time programming languages understood what the kids are typing these days. So let's start with a baby step in that direction: Like, Python.

Rails 3.0: Release Notes

Rails 3.0 is ponies and rainbows! It’s going to cook you dinner and fold your laundry. You’re going to wonder how life was ever possible before it arrived. It’s the Best Version of Rails We’ve Ever Done!

Riding Rails: Rails 3.0: Beta release

You thought we were never going to get to this day, didn’t you? Ye of little faith. Because here is the first real, public release of Rails 3.0 in the form of a beta package that we’ve toiled long and hard over...

Clojure

Clojure links on Reddit

weavejester's compojure at master - GitHub

Compojure Web Development Framework

Clojure - home

Clojure is a dynamic programming language that targets the Java Virtual Machine (and the CLR ). It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.
Locations of visitors to this page


© 2010   Created by Michael Levin on Ning.   Create a Ning Network!

Badges  |  Report an Issue  |  Privacy  |  Terms of Service

Sign in to chat!