First of all, thanks all of you guys who are contributing to this amazing project. I've been looking at Cassandra for a couple of days now, and I'm still impressed by the whole thing.

However, it wasn't all that straight-forward getting my first "hello world" programs to run with Cassandra. As a newbie I was (probably as many of those who do their first steps with Cassandra) in doubt with API to choose, and the Wiki and examples provided little help here. I have to add that I'm playing with 0.6.0beta3, maybe that's the reason the Java Thrift API doesn't work like in the Wiki examples (but I was able to adapt to make it working).

Still, I'm somewhat confused which API to choose if I was heading for a bigger project

1. plain Thrift (for Java)?
Seems the major advantage is that Thrift is available in many languages, but if I'm only interested in Java that doesn't give me much. The Java code on the native Thrift interface looks quite awful. It also seems to me as if it would result in many lines of code even for quite trivial jobs.

2. a higher level Java Client?
I didn't look at Hector right now, however it confused me somewhat that if something like Hector was the "best choice", why isn't this then bundled with Cassandra?

3. the "native Java fat Client"
I started some experiments with it, however couldn't get it completely working, documentation in the Wiki is not really usuable at all. Question would be if this is something that you (the developers) consider as the "big thing for the future" or is this some niche for lets say high performance bulk jobs but not for the "everyday Java client program"?

Maybe someone could give me a hint in which direction things should move.

Best regards,