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