thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew McGeachie <>
Subject Re: Some thoughts about changes to Thrift
Date Fri, 06 Mar 2009 17:26:26 GMT

- a

On Mar 6, 2009, at 11:02 AM, Bryan Duxbury wrote:

> It seems like there's some consensus on a JavaCC based compiler.  
> Should we open an JIRA issue and start to explore feasibility?
> -Bryan
> On Mar 6, 2009, at 3:03 AM, Esteve Fernandez wrote:
>> On Friday 06 March 2009 03:24:23 Mark Slee wrote:
>>> That's pretty much my fault.
>> Actually the current Thrift compiler served its puporse quite  
>> decently, but
>> the coming of new languages and features has made it (along with the
>> generators) a bit more complex and less easy to maintain.
>>> I personally like Java and think it'd be a decent choice, but  
>>> there do seem
>>> to be a decent number of people out there building services who  
>>> seem to
>>> vehemently hate Java. Lots of *nix systems do not have a JVM or JDK
>>> installed by default -- and it's pretty annoying for users who  
>>> aren't
>>> writing services in Java to have to install it to build the  
>>> compiler.
>> I'd argue for writing a parser in Java and use a template engine  
>> (Velocity,
>> Freemarker, etc.). Why not Python? Dunno :-) I think Java is more  
>> widely
>> deployed, it has better tools for scanning and parsing and more  
>> developers.
>> Etch, another incubating project with similar goals to Thrift, uses  
>> JavaCC
>> for parsing and Velocity as template engine for its compiler and  
>> generators,
>> even though it also emits C#
>> Using a template engine would make development of new features and  
>> the
>> inclusion of more languages much easier. Instead of having to hack a
>> generator to add some new feature, we could simply supply a new  
>> template
>> file. For example, at some point in the future I'd like to build a  
>> generator
>> for Javascript, and if we used a template engine, it would be a  
>> matter of
>> writing a minimal generator and a bunch of templates.
>> Cheers.

View raw message