Hi,
With that said, I highly recommend that you DON'T expose your Thrift API directly to users. Thrift is a GREAT framework for generating rpc code in many languages, but it has to support the lowest common denominator of languages features so that means it feels clunky and unnatural in most languages.
Sorry, I can't agree with that - at least not as it is written. The lowest common denominator is right, but that's a very technical restriction too a good portion.
In the early days, Cassandra exposed their Thrift API directly to users and it didn't work out well.
If the API is shitty by design, it will not help much to shoot the messenger. No, I don't say that the Cassandra Thrift API is badly designed. What I want to point out by this is this: The quality of any API is made in the design step.
Whether you expose the result of the API contract design via Thrift or by some other means does not really matter that much in my experience (except if you try to do RPC with REST, but that's a whole other story). Especially with Thrift the generated API interface feels very natural, at least that's my personal impression.
Re DateTime: We had that discussion before. There is no built-in data type for this. Main reason is that there are too many date/time formats around. I don't remember the whole discussion but I'm sure it is in the mailing list archives.
Have fun, JensG
