4 ms·
Name a language having a compiler that most similar to Go in the threading domain, e.g.: compiles to machine code have green threads use non-blocking IO in t
by szemet 10y ago
Name a language having a compiler that most similar to Go in the threading domain, e.g.:
compiles to machine code
have green threads
use non-blocking IO in the background
have parallel runtime
Haskell is the first that comes to my mind. (I guess that Common Lisp is a safe bet too, as it had everything for ages before it was cool;), but I'm not familiar with that domain to be sure)
Erlang have everything except machine code compilation.
What else? I guess the rest is from the newer, lesser known or experimental languages. So is there anything more popular than Haskell?
- coldtea 10y agoOccam (!= Ocaml) did CSP akin to Go AND static compiling back in the eighties. Various schemes have had both too (Racket, Chicken, etc), and CommonLisp is indeed a safe bet... I think Julia is there too, not sure.
- pjmlp 10y agoActive Oberon, initially developed in 1996. - compiles to machine code, check. A whole operating was written in it, AOS (aka BlueBottle). - have green threads, check. That is where the name Active comes from. It makes use of tasks. - use non-blocking IO in the background, check. Tasks are used everywhere across whole OS. - have parallel runtime, check. The whole OS makes use of parallelism and its compiler, Paco, does compilation of modules in parallel https://en.wikipedia.org/wiki/Active_Oberon https://en.wikipedia.org/wiki/Active_Oberon http://www.ocp.inf.ethz.ch/wiki/Documentation/Front http://www.ocp.inf.ethz.ch/wiki/Documentation/Front http://www.progtools.org/article.php?name=oberon§ion=compilers&type=tutorial http://www.progtools.org/article.php?name=oberon§ion=com...
- Manishearth 10y agoI absolutely love how in PL discussions you and nickpsecurity always have examples of random languages to fit every niche.
- pjmlp 10y agoThanks! :) I majored in systems and distributed programming, and had the luck of having a set of teachers that cared we should know the history of computing, making us curious about our past and how those designs could influence current ones. So the habit of hunting and reading papers stayed with me, even if during the day I just do boring enterprise consulting. Many times they are more entertaining than reading newspapers on the daily commute.
- Manishearth 10y agoYou should blog about this stuff if you don't already and have the time :)
- suraj 10y agoDoes Swift qualify? compiles to machine code: yes have green threads: I think DispatchQueues should qualify for this use non-blocking IO in background: yes have parallel runtime: I am not sure