On 04/18/14 11:18, Maxim Kammerer wrote: > On Fri, Apr 18, 2014 at 11:26 AM, Stevens Le Blond <[email protected]> > wrote: >> We are a team of researchers working on the design and implementation of >> a traffic-analysis resistant anonymity network and we would like to >> request your opinion regarding the choice of a programming language / >> environment. > Are you aiming at a production version from the get go? For an > academic setting, I always recommend Java, especially for developing a > prototype. The main problems with Java is that it attracts mediocrity > (which is probably irrelevant in your present setting, but would be > problematic with a community), and that it is difficult to integrate > in non-mainstream surroundings (see, e.g., I2P). After the prototype > is polished, you could port it to C, or hire professionals to do so. > > Anyway, your criteria are pretty conflicting, and do not stress the > important points, in my opinion. The main problem with C is not > security, but being a primitive language with codebases that are hard > to maintain. I suggest that you look into Tor codebase, for instance, > and compare the amount of code implementing design choices vs. code > doing trivial things like linked list search. For potential problems > with Java, look in I2P codebase, and try to find the essence of, e.g., > time synchronization in this enterprise-grade code that only works > reasonably with a certain JDK. > Did you consider Go ? It has some advantages : * Good performances * Built-in memory management (no buffer overflow). * Portability * Great (portable) standard library that includes networking and crypto you may need.
Take a look at http://golang.org Piotr Chmielnicki -- Liberationtech is public & archives are searchable on Google. Violations of list guidelines will get you moderated: https://mailman.stanford.edu/mailman/listinfo/liberationtech. Unsubscribe, change to digest, or change password by emailing moderator at [email protected].
