<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">2014-02-18 17:44 GMT+01:00 Tomasz Rola <span dir="ltr"><<a href="mailto:rtomek@ceti.pl" target="_blank">rtomek@ceti.pl</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Mon, 10 Feb 2014, Yuhao Dong wrote:<br>
<br>
> Hi,<br>
><br>
> I'm trying to decide between Racket and Go on writing my onion-routing<br>
> system inspired by Tor. Basically, a network server, involving lots of<br>
> long-lived connections that often pass large amounts of data. The thing<br>
> needs to be super scalable; I often find that these servers, although<br>
> network servers, often become CPU-bound doing encryption and<br>
> encapsulation of protocols, so I do have experience that this is not<br>
> "premature optimization"!<br>
><br>
<br>
[... many faults of Go-choice ...]<br>
[... many faults of Racket-choice ...]<br>
<br>
<br>
Of other languages mentioned by others, Erlang is perhaps a good choice<br>
but I don't know it at all, so I cannot comment. </blockquote><div><br></div><div>Yes I also think that  Erlang is the best candidate. Erlang has been created for network centric problem. <br>If you dislike the language try Elixir. Elixir compile to ErlangVM and bring not only new syntax but also macro capability to create DSL  and It is close to V1.0 coming in the next few  month.<br>
<br></div><div>Racket is an excellent language and environment and I love it, but  Erlang offer better network layer and scalability on multi-core for this kind of project. <br></div><div><br></div><div>Cheer <br></div><div>
Yvan Godin<br></div></div></div></div>