[liberationtech] [p2p-hackers] Programming language for anonymity network

Hannes Mehnert hannes at mehnert.org
Tue Apr 22 13:04:23 PDT 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

On 04/22/2014 21:15, Christof Leng wrote:
> I was very happy with Standard ML (non-object-oriented
> 'predecessor' of OCAML) for writing complex P2P systems and even
> user-land transport protocols.

Agreed. I use the Caml part of OCaml. :)

> 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.

But if you have a chance to start from scratch, you should look at
possible solutions and use a viable one. Especially the readability
and maintainability of a programming language should be considered.
Otherwise you end up with a piece of code which is not maintainable
once the PhDs have graduated. You have to pay the technical debt at
some point. And I'm not sure how to hand over a research project to
'the open source community'... Are there best practices/guidelines
availble?

I think the OCaml community is rather larger compared to other
functional programming languages, and it is very helpful. Both the
real world ocaml book, available online https://realworldocaml.org/,
and their package management system OPAM, are awesome contributions
over the last years to easily start with OCaml and to get more people
involved.


Cheers,

Hannes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQIcBAEBCQAGBQJTVstHAAoJELyJZYjffCjuUqcQAKFUvtAfbLu2yU3EEkR5Mjsv
N9f19Ao0tIvmU6PmQAEfrdXNhs1e19xFSseaLPEQibxWBbYXTzx+J0es+/H6a116
CcrZ8N51kM/aOydnRTk2NmoP1BYh9X+S3bQRLPu/lYipgYVyuV7ohzZMqmrguARu
15uWjqmvaDahYZhuu4tnfksggveL59pF/08UA5xd8wZ3I+XMiXB7JviN3Mii2rbk
8BjWFFXW66xQGSxg+nsIp+rGiX6r12gCNZZHJHSoQGcmbalGPVF+o2r7+j+D2ZcC
n/tXVVgIy2TO+7mxp+ueX+OK5p+YDqOzFTPDKQhARVP+EjEqZXPRKY4YkgMno8ug
7CT4yCuV84gdrNfudOFKTOx4G0k/4OSZzPVn/g1i9vmqAUU8z6UUBr9tjSR1jZq6
iZqDBGkz34550DlPhxE3mwdFh/woBv2ExgrOvM3iSX/dtKBa7p/fCGNHX17dEIgW
0d1DKQatRjuIGIdAjowy8CuJ4rPceoqoObPutLYVw+PeMfSencjDmf9bmXgFI3jB
WU6Jo+akCd/BlvABnV2qLnJXqbo3ixM0B7WbI+c5EyQaPapS5J4Im+b66EE9o57Y
Ab5Vf7h0GLVovA+VFXbnNCjoiawQo8rKU276Lwid7i8ZByQhm7iX/obMPTQchyKU
z5MCXzwWyXnFRt8MbI+G
=N6Jn
-----END PGP SIGNATURE-----



More information about the cypherpunks mailing list