回答編集履歴
1
文章をちょっとだけ修正
answer
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
私も興味を持ってNimをあれこれ調べましたが、
|
|
1
|
-
|
|
2
|
+
実際に使った事がないので分かる箇所だけ回答します。
|
|
2
3
|
|
|
3
4
|
そもそもNimはまだ1.0にもなっていません。
|
|
4
5
|
気に入った少人数のハッカーが手慰みで使う言語です。
|
|
@@ -8,19 +9,23 @@
|
|
|
8
9
|
|
|
9
10
|
> マルチコア、マルチスレッドなどの並列処理
|
|
10
11
|
|
|
11
|
-
まぁNimはCなんで、普通に
|
|
12
|
+
まぁNimはCなんで、普通に[スレッドを生成](https://qiita.com/6in/items/5e07c075c7d760d47ce1)できます。
|
|
13
|
+
(ただし本当にCのスレッドと全く同じ性能かまではよくわかりません)
|
|
12
14
|
|
|
13
15
|
また、NimはCやC++のライブラリを取り込めます。
|
|
14
16
|
Cには[libuv](http://kimitok.hateblo.jp/entry/2014/03/30/185544)という超高速イベントループのライブラリが存在しており、
|
|
15
17
|
Node.jsの高速イベントループはこのlibuvを指しています。
|
|
16
18
|
|
|
19
|
+
この辺の事情から、実際に動かしてベンチマークを取らないとなんとも言えないものの、
|
|
20
|
+
そんじょそこらの言語と比べて遅くて使えないということはまずないと思います。
|
|
21
|
+
|
|
17
22
|
> コールバック地獄対策
|
|
18
23
|
|
|
19
24
|
[ドキュメント](https://nim-lang.org/documentation.html)の[AsyncDispatch](https://nim-lang.org/docs/asyncdispatch.html)です。
|
|
20
25
|
全く読んでませんがざっと眺めた感じでの印象です。
|
|
21
26
|
|
|
22
27
|
yieldやらawaitやら期待できそうな予約語が用意されてるようですね。
|
|
23
|
-
|
|
28
|
+
サンプルコードを見る限り、上手く遅延しながら待つ仕組みが用意されているんじゃないかと思うのですが…
|
|
24
29
|
期待に適うか読み進めて見てください。
|
|
25
30
|
|
|
26
31
|
> PythonとGo言語の共通のメリットの特徴として
|