On Thu, May 5, 2011 at 7:10 PM, Diwaker Gupta <diwa...@maginatics.com> wrote:
>
> Well this isn't really a point of comparison since the protobuf
> compiler is also in C++ and equally "less portable".

yes and no. yes protoc is written in C++.  no, it is easier to build
on more platforms and it is way easier to use in cross platform
projects because we never had to keep lots of different versions
around.  maintaining several versions of the Thrift compiler for a
Java project that was used on multiple platforms and where the source
needed to build on a "clean" machine with just Java and Maven
installed was a pain in the butt and too annoying for me to re-live
all the time we wasted on getting it all to play nice.

now, it should be pointed out that the reason we needed to keep
several versions around was that we were using Thrift from a
relatively early point in time and there were some changes that
introduced incompatibilities.  this is _okay_ for a young project and
it is to be _expected_.

in any case, I still maintain that it would have made more sense to
implement the Thrift compiler in a portable language.  probably
Python, but personally I would have preferred Java.

> Further, while I
> agree that it is important for the libraries to be cross-platform, I
> imagine most users being OK with the compiler available on one or two
> platforms.

well, no.  the whole point of using Thrift is to have something that
works on all platforms and with all language environments.  having a
compiler on just a few platforms leads to people checking in generated
code, which is generally not a brilliant idea.

> Finally, I know for a fact that the Thrift compiler can be
> compiled on Mac and Windows (with some effort) so there's proof of
> existence. Things can certainly be improved though.

I didn't claim that it couldn't be compiled on Mac and Windows.

-Bjørn

Reply via email to