[liberationtech] [p2p-hackers] Programming language for anonymity network
Christof Leng
cleng at icsi.berkeley.edu
Tue Apr 22 12:15:35 PDT 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 22.04.14 11:48, Hannes Mehnert wrote:
> At the time being I'd suggest to look into OCaml/Haskell/Erlang or
> Idris (if you need a really expressive type system), maybe write
> specifications upfront in Coq/HOL/Lem. I don't see any reason these
> days to use C/C++ or another unsafe macro-assembly language (and
> currently develop a TLS stack in pure OCaml to run with openmirage.org
> / be used by nymote.org).
>
I was very happy with Standard ML (non-object-oriented 'predecessor' of
OCAML) for writing complex P2P systems and even user-land transport
protocols.
Functional programming and static typing helps to discover subtle bugs
that go unnoticed in imperative languages (and I'm not talking about
something as ridiculous as buffer overruns).
Unfortunately, Stevens requirement of familiarity still speaks against
functional programming languages, even for something as popular (and
watered-down) as Scala. It's very hard to find code contributors who
know the language or are willing to learn it.
I think it's a trade-off between the code quality you want to achieve
and the accessibility for a larger coder community. There is no golden
standard right now.
Stevens: If you want to look into Standard ML, I think you have some
in-house experts at MPI SWS.
Cheers,
Christof
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJTVr/XAAoJECloHL5dRDpuScYIAKvG6UG6O3l22ZcKuKxbxaFw
oSGdZ5gcYcPqFsOKx+KI4eb0Yf6v/+aFR3cgJEJR18wTU6Z050kvdZMYKzn/cvjF
sSPI9ZzZYy5croVh+x75gpWuIwuMcem3/UFnv+U5D59KwN6U85JJQkfq7yy6looF
abiPOS+EkAxX6EmG7lbNGeIdHWA7gwlkHqeLBLw4S3nbGKWGqZ+ZKOXQE3dnuLES
fcCVYukaQslvsZdDH02Wc1mBjBqL1s0oSNn1J79mlXTolxYzq/OJs+P7t1S/O7ux
q+0ibDLuv64ARzW6wa51CRszT6x36/bHssot3hxM6i22TtzTgGz+PAeDIa8XIX0=
=NJR2
-----END PGP SIGNATURE-----
More information about the liberationtech
mailing list