[liberationtech] Programming language for anonymity network

Piotr Chmielnicki piotr at chmielnicki.com
Fri Apr 18 02:42:37 PDT 2014


On 04/18/14 11:18, Maxim Kammerer wrote:
> On Fri, Apr 18, 2014 at 11:26 AM, Stevens Le Blond <stevens at mpi-sws.org> 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




More information about the liberationtech mailing list