Nim って python を強調し過ぎてるのはミスリードだと思うな
python と相性が良いってのは事実だけど Nim の特徴のほんの一部でしかない
探検
nim
366デフォルトの名無しさん
2023/12/06(水) 20:32:47.84ID:7Cu2FhSW367デフォルトの名無しさん
2023/12/08(金) 21:38:37.62ID:xBCOoZoU >>366
Python使える人が多いからNimを広めるためにNim言語はpythonと同じだという人は多い。
文法がpythonに近いだけで中身は静的型言語だからpythonよりC++とかRustに近いと思う。
pythonしか知らない人がNimのオーバーロードとかGenericsとかobjectとref objectの違いとかちゃんと理解して使えるのかどうか心配になる。
Python使える人が多いからNimを広めるためにNim言語はpythonと同じだという人は多い。
文法がpythonに近いだけで中身は静的型言語だからpythonよりC++とかRustに近いと思う。
pythonしか知らない人がNimのオーバーロードとかGenericsとかobjectとref objectの違いとかちゃんと理解して使えるのかどうか心配になる。
368デフォルトの名無しさん
2023/12/10(日) 11:41:19.18ID:1MxEINjf 「文法がpythonに近い」が事実じゃないんだよな
観た目が似てるだけであって文法が似てる訳じゃない
全然別物
観た目が似てるだけであって文法が似てる訳じゃない
全然別物
369デフォルトの名無しさん
2023/12/10(日) 17:02:37.56ID:S5Hrhavn そういう意味では構文で結構損してそう
オフサイドルールが気に入らない人にとってはそもそも検討に値しないし
Python好きな人ならそこは気にならないだろうけど、別に移行しやすくもない
オフサイドルールが気に入らない人にとってはそもそも検討に値しないし
Python好きな人ならそこは気にならないだろうけど、別に移行しやすくもない
370デフォルトの名無しさん
2023/12/11(月) 04:52:12.28ID:E9pPgJ3z371デフォルトの名無しさん
2023/12/11(月) 06:10:19.79ID:dU0p99Eo 型で安全性を静的に担保したいと考える人が、同時にインデントで意味が変わってしまうオフサイドを好むってのはちぐはぐさを感じる
372デフォルトの名無しさん
2023/12/11(月) 06:46:36.74ID:Oijs0Efp HaskellとデフォルトF#もオフサイドルールありですね。どうせインデントするんだしって使ってやれってくらいの感じなのかね?
あとは、インデントに意味はないけれど、goが標準のフォーマッタでインデント入れてくるね。
あとは、インデントに意味はないけれど、goが標準のフォーマッタでインデント入れてくるね。
373デフォルトの名無しさん
2023/12/11(月) 06:54:57.74ID:n3cFiyWX Python登場当時だと{}前後のどこで改行するか論争みたいなのがあったりして確かに括弧書くのが面倒な空気はあったんだよな
それがGo/Rustの世代だと言語標準のフォーマッタが勝手にやってくれるってなって
めんどくさくないっていうオフサイドのメリットはなくなってしまった
そうすると自動フォーマットしづらいとかコピペしづらいとかデメリットばかり目立つことになってしまう
それがGo/Rustの世代だと言語標準のフォーマッタが勝手にやってくれるってなって
めんどくさくないっていうオフサイドのメリットはなくなってしまった
そうすると自動フォーマットしづらいとかコピペしづらいとかデメリットばかり目立つことになってしまう
374デフォルトの名無しさん
2023/12/12(火) 04:50:08.02ID:X9wYEqIf ブロック毎に'{}'や行末に';'があるとソースコードが少し汚く見えるし
無いとすっきりして読みやすいと思うけどね。
無いとすっきりして読みやすいと思うけどね。
375デフォルトの名無しさん
2023/12/12(火) 05:58:22.17ID:6YpoyKxr そんなの単なる慣れ
376デフォルトの名無しさん
2023/12/12(火) 08:04:30.17ID:BxX9TTWN まぁ人によるんじゃない
自分は{}がある方がブロックの識別性が良くて読みやすい
オフサイドは特にネストしたブロックの戻りが何段戻ったか見づらいんだよな
自分は{}がある方がブロックの識別性が良くて読みやすい
オフサイドは特にネストしたブロックの戻りが何段戻ったか見づらいんだよな
377デフォルトの名無しさん
2023/12/12(火) 08:08:33.42ID:BYtUbVYs カッコありなら、lisp系が好き。
悩む事が減る。
悩む事が減る。
378デフォルトの名無しさん
2023/12/12(火) 13:00:45.46ID:GxOznL1S >>374
セミコロンはオフサイドルールじゃなくてもRuby/Go/Kotlin/Swiftのように無しできるから関係ないよね
それにセミコロンをタイプするのは面倒だとは思うが慣れると読む時のノイズにはならない
自然言語の文章で句点やピリオド+改行がノイズにならないのと同じこと
セミコロンはオフサイドルールじゃなくてもRuby/Go/Kotlin/Swiftのように無しできるから関係ないよね
それにセミコロンをタイプするのは面倒だとは思うが慣れると読む時のノイズにはならない
自然言語の文章で句点やピリオド+改行がノイズにならないのと同じこと
379デフォルトの名無しさん
2023/12/12(火) 19:48:14.86ID:X9wYEqIf CやC++を10年以上使っていたけど';'や'{}'が無いほうがすっくりして読みやすいと思うから慣れでどうにかなるものでは無いと思う。
こういうのは個人差があるのかもしれないが
こういうのは個人差があるのかもしれないが
380デフォルトの名無しさん
2023/12/12(火) 19:54:02.65ID:X9wYEqIf ttps://github.com/jeetsukumaran/vim-indentwise
このVimのプラグインを使うと同じインデント間のカーソル移動、異なるインデント間のカーソル移動が簡単にできるからお勧めです。
このVimのプラグインを使うと同じインデント間のカーソル移動、異なるインデント間のカーソル移動が簡単にできるからお勧めです。
381デフォルトの名無しさん
2023/12/12(火) 22:53:30.64ID:wCEkJKJx382デフォルトの名無しさん
2023/12/12(火) 23:44:06.92ID:CyOM3fCk そりゃ仕事で使える言語でオフサイドルールなのってPythonくらいだし
ほんとはオフサイドがいいけどC/C++の仕事してるって人くらいいるでしょ
ほんとはオフサイドがいいけどC/C++の仕事してるって人くらいいるでしょ
383デフォルトの名無しさん
2023/12/13(水) 00:18:56.36ID:YitMt0Fm384デフォルトの名無しさん
2023/12/13(水) 04:42:50.35ID:/pcasGi0385デフォルトの名無しさん
2023/12/13(水) 05:36:33.39ID:R3z2LBuJ 主観で読みやすいかどうか力説しても結論でるわけない
オフサイドは誤ってインデントずれても気付かないままになってしまうのが問題
オフサイドは誤ってインデントずれても気付かないままになってしまうのが問題
386デフォルトの名無しさん
2023/12/13(水) 06:48:31.89ID:RhfHz66O387デフォルトの名無しさん
2023/12/13(水) 07:21:31.19ID:vQeZuGNk f#みたいに、使う側が選択できれば、解決なんじゃない?
388デフォルトの名無しさん
2023/12/13(水) 07:35:42.19ID:q/L8o2wk やれやれお前らCOBOLを知らんのか
389デフォルトの名無しさん
2023/12/13(水) 11:38:44.64ID:rzHxkjlX390デフォルトの名無しさん
2023/12/14(木) 19:26:43.32ID:xAMEKx/6 エディタの色設定で{};を薄い色にすればいいだけやん
391デフォルトの名無しさん
2023/12/15(金) 03:05:56.17ID:/ClHmJDY {}がノイズになるようなら:や=はもちろんのことblock:なんて発狂ものだろうからNimは無理やろな
392デフォルトの名無しさん
2023/12/15(金) 05:55:25.21ID:12rLPAnL 思考ノイズって
エロい事連想してるって意味だよな?
エロい事連想してるって意味だよな?
393デフォルトの名無しさん
2023/12/15(金) 06:50:06.26ID:4QMbv0z8 Nimってオフサイドルール以外の所は目立った欠点の無い言語なんかな。
それに実際にオフサイドルールでコードを書いていて困ったことないし。
インデントがずれても困るという人はインデントの幅をスペース4個とか広めにすればいいのでは
それに実際にオフサイドルールでコードを書いていて困ったことないし。
インデントがずれても困るという人はインデントの幅をスペース4個とか広めにすればいいのでは
394デフォルトの名無しさん
2023/12/15(金) 17:55:10.13ID:BxRUp1+8 オフサイドルールは欠点だらけ
Pythonを例にすると
- カットペーストは命がけ
- ネット等で共有しにくい
- テキストエディタやIDEの支援が激弱
- dedentは手動タイピング必須
- 改行のために追加の()や\が結局必要
- インデントだけでは可読性が低いから余計な:が必要
- 空行の数まで厳密に意識する必要もある
- lambdaのone expression縛りのように言語の成長を阻害しやすい
- “explicit is better than implicit”と言いながらブロックはimplicit
Pythonを例にすると
- カットペーストは命がけ
- ネット等で共有しにくい
- テキストエディタやIDEの支援が激弱
- dedentは手動タイピング必須
- 改行のために追加の()や\が結局必要
- インデントだけでは可読性が低いから余計な:が必要
- 空行の数まで厳密に意識する必要もある
- lambdaのone expression縛りのように言語の成長を阻害しやすい
- “explicit is better than implicit”と言いながらブロックはimplicit
395デフォルトの名無しさん
2023/12/15(金) 18:18:19.69ID:b3hxnew5 次は、良い点を挙げてみて!
396デフォルトの名無しさん
2023/12/15(金) 18:24:50.43ID:pkr2dCwK397デフォルトの名無しさん
2023/12/15(金) 20:46:34.27ID:4QMbv0z8 Vim使ってるけどコピペは問題無くできるしインデントの深さもブロックごと'>'で調整できる。
vim-indentwiseでブロック毎カーソル移動可能。
スペース一個分だけでインデントするとかしない限りブロックの開始、終わりは前後の行のインデントの位置の違いでわかる。
vim-indentwiseでカーソル移動すればブロックの範囲も簡単にわかる。
以前はC/C++を書いてたけど{}や;が無くて読みづらいとか書きづらいとか思ったことは無いよ。
Nim書いていて改行のために追加の()や\が必要になることはほぼ無い
空行の数を厳密に意識する必要もない。
Nimを実際に書いたことあるの?
vim-indentwiseでブロック毎カーソル移動可能。
スペース一個分だけでインデントするとかしない限りブロックの開始、終わりは前後の行のインデントの位置の違いでわかる。
vim-indentwiseでカーソル移動すればブロックの範囲も簡単にわかる。
以前はC/C++を書いてたけど{}や;が無くて読みづらいとか書きづらいとか思ったことは無いよ。
Nim書いていて改行のために追加の()や\が必要になることはほぼ無い
空行の数を厳密に意識する必要もない。
Nimを実際に書いたことあるの?
398デフォルトの名無しさん
2023/12/15(金) 21:02:40.08ID:4QMbv0z8399デフォルトの名無しさん
2023/12/15(金) 22:17:03.24ID:kBMLRaUx400デフォルトの名無しさん
2023/12/15(金) 22:29:33.41ID:kBMLRaUx >>397
論点理解せずにvim使いなら誰でも知ってる基本を必死に解説されても困るわ
>以前はC/C++を書いてたけど{}や;が無くて読みづらいとか書きづらいとか思ったことは無いよ。
{}や;が無くて読みづらいとか書きづらいとか誰もそんなこと言ってないだろ?
勝手に脳内変換するなや
ついでに言うとセミコロン無い方が書きやすいのは当たり前のこと
だから新しい言語の多くがセミコロンレスを採用してる(オフサイドは採用しないけど)
論点理解せずにvim使いなら誰でも知ってる基本を必死に解説されても困るわ
>以前はC/C++を書いてたけど{}や;が無くて読みづらいとか書きづらいとか思ったことは無いよ。
{}や;が無くて読みづらいとか書きづらいとか誰もそんなこと言ってないだろ?
勝手に脳内変換するなや
ついでに言うとセミコロン無い方が書きやすいのは当たり前のこと
だから新しい言語の多くがセミコロンレスを採用してる(オフサイドは採用しないけど)
401デフォルトの名無しさん
2023/12/15(金) 23:45:28.85ID:4QMbv0z8 >>399
アロー関数ってNimのsugarモジュールにある`=>`マクロのこと?
あくまでこの=>は二項演算子だから両辺は式になっていないといけない。
オフサイドルールに関係無く二項演算子の両辺に文を直接書けず式を置かないといけないのは殆どのプログラミング言語で同じじゃない?
複数文を書きたければanonymous procedureで書けばよいし。
オフサイドルールじゃない言語で無名関数に複数文を書くときは必ず{}で囲む必要があるし。
どうしてこれが言語の成長を阻害していることになるの?
明らかなバグなのに修正しようとしないって言うけどGithubのNimのリポジトリにそういうissueある?
無名関数を書くときはdo notationというのもあるよ。
https://nim-lang.org/docs/manual.html#procedures-do-notation
アロー関数ってNimのsugarモジュールにある`=>`マクロのこと?
あくまでこの=>は二項演算子だから両辺は式になっていないといけない。
オフサイドルールに関係無く二項演算子の両辺に文を直接書けず式を置かないといけないのは殆どのプログラミング言語で同じじゃない?
複数文を書きたければanonymous procedureで書けばよいし。
オフサイドルールじゃない言語で無名関数に複数文を書くときは必ず{}で囲む必要があるし。
どうしてこれが言語の成長を阻害していることになるの?
明らかなバグなのに修正しようとしないって言うけどGithubのNimのリポジトリにそういうissueある?
無名関数を書くときはdo notationというのもあるよ。
https://nim-lang.org/docs/manual.html#procedures-do-notation
402デフォルトの名無しさん
2023/12/16(土) 08:47:38.44ID:yzC0WAGQ 「vimを使えばいい」とか「無名関数を使えばいい」などと列挙されても
他の言語はそんな特別なケアなしに使えるわけでな…
このあたりがいまいち広まらない原因なんじゃない?
他の言語はそんな特別なケアなしに使えるわけでな…
このあたりがいまいち広まらない原因なんじゃない?
403デフォルトの名無しさん
2023/12/16(土) 08:53:10.18ID:mPzLcjX0 以前インデントの代わりに{}を使える機能があったようだ。
https://github.com/nim-lang/Nim/commit/10bd488daafa79f52fec0d5e7ea76ec8d5902465
https://forum.nim-lang.org/t/10730#71570
けれども殆ど使われなかったのと、{}があるとgrammarとparserが発展するのが難しくなるので削除されたらしい。
https://forum.nim-lang.org/t/10349#68930
https://github.com/nim-lang/Nim/commit/10bd488daafa79f52fec0d5e7ea76ec8d5902465
https://forum.nim-lang.org/t/10730#71570
けれども殆ど使われなかったのと、{}があるとgrammarとparserが発展するのが難しくなるので削除されたらしい。
https://forum.nim-lang.org/t/10349#68930
404デフォルトの名無しさん
2023/12/16(土) 09:38:42.94ID:mPzLcjX0 >>402
現代では高機能なテキストエディタやIDEが使えるから
それを使うことを前提にプログラミング言語をデザインしたらいいんじゃね?
って話は聞いたことがある。
sugarの`=>`マクロはNim言語のanonymous procedureを特定の条件下で簡単に書けるよう作られたもので完全にanonymous procedureを置き換えられるものでない。
sugarモジュール自体がシンタックスシュガーのようなものを提供するマクロなどを集めたものだし。
制限とか気にせずにanonymous procedureを書きたかったら=>を使わずに書くしかない。
現代では高機能なテキストエディタやIDEが使えるから
それを使うことを前提にプログラミング言語をデザインしたらいいんじゃね?
って話は聞いたことがある。
sugarの`=>`マクロはNim言語のanonymous procedureを特定の条件下で簡単に書けるよう作られたもので完全にanonymous procedureを置き換えられるものでない。
sugarモジュール自体がシンタックスシュガーのようなものを提供するマクロなどを集めたものだし。
制限とか気にせずにanonymous procedureを書きたかったら=>を使わずに書くしかない。
405デフォルトの名無しさん
2023/12/16(土) 09:56:43.39ID:yzC0WAGQ >>404
そのへんがまさに省略記法の悪い点が出てる感じするな
省略するってことはソースコードの情報量は減っていて、それはタダではない
「OOのときにはXXを使う」みたいな規則がたくさん発生するというコストがあるんだよね
これはセミコロンレスもそうで、時々変なエッジケースが発生したりする
そのへんがまさに省略記法の悪い点が出てる感じするな
省略するってことはソースコードの情報量は減っていて、それはタダではない
「OOのときにはXXを使う」みたいな規則がたくさん発生するというコストがあるんだよね
これはセミコロンレスもそうで、時々変なエッジケースが発生したりする
406デフォルトの名無しさん
2023/12/16(土) 16:45:38.17ID:kvk3r8Lt オフサイドルールと違ってセミコロンレス(optional semicolon)は多くの言語で妥当なトレードオフ
オフサイドルールが妥当なトレードオフとして成立してるのはHaskell系の言語くらい
オフサイドルールが妥当なトレードオフとして成立してるのはHaskell系の言語くらい
407デフォルトの名無しさん
2023/12/16(土) 20:00:00.36ID:USjLXMUH なんかどうでもいいことをいつまでも
うじうじと
気に入らないなら使わなきゃいいだけ
気に入ったら使えばいいだけ
うじうじと
気に入らないなら使わなきゃいいだけ
気に入ったら使えばいいだけ
408デフォルトの名無しさん
2023/12/17(日) 07:10:31.29ID:clYlz397 >>407
気に入っていても:
ある日突然:
気に入らなくなる事ってあるよね?
気に入らなくても:
ちょっとしたきっかけで:
すごく気に入ってしまうことも
あるよね?
そういう時はどうすればいいの?
気に入っていても:
ある日突然:
気に入らなくなる事ってあるよね?
気に入らなくても:
ちょっとしたきっかけで:
すごく気に入ってしまうことも
あるよね?
そういう時はどうすればいいの?
409デフォルトの名無しさん
2023/12/17(日) 12:19:34.98ID:WUPd6f5k >>408
> すごく気に入ってしまうことも
> あるよね?
Error: invalid indentation
> すごく気に入ってしまうことも
> あるよね?
Error: invalid indentation
410デフォルトの名無しさん
2023/12/17(日) 18:41:59.56ID:F9NekDqG Nimはよく考えずに機能追加して既にC++並みに複雑化してる
目新しさだけで飛びつくと後悔するぞ
目新しさだけで飛びつくと後悔するぞ
411デフォルトの名無しさん
2023/12/18(月) 02:13:02.65ID:DdCrjTir そうなの? じゃあもうC++でいいじゃん
412デフォルトの名無しさん
2023/12/18(月) 08:55:26.31ID:DG+uqCiP 例えば最近実装している変更についてもちゃんとここに理由とか書いてあるよ。
https://github.com/nim-lang/RFCs/issues/516
このあたりをよく読めばちゃんと考えて機能を実装していることがわかるよ。
https://github.com/nim-lang/RFCs/issues
https://github.com/nim-lang/Nim/pulls
Discord/Nimのinternalチャンネルをときどき読んでるけど
開発者は論文読んだり他のプログラミング言語の機能を調査しているようだよ。
https://en.cppreference.com/w/cpp
と
https://nim-lang.org/docs/manual.html
を読み比べてみればわかると思うけどC++のほうがはるかに複雑だよ。
https://github.com/nim-lang/RFCs/issues/516
このあたりをよく読めばちゃんと考えて機能を実装していることがわかるよ。
https://github.com/nim-lang/RFCs/issues
https://github.com/nim-lang/Nim/pulls
Discord/Nimのinternalチャンネルをときどき読んでるけど
開発者は論文読んだり他のプログラミング言語の機能を調査しているようだよ。
https://en.cppreference.com/w/cpp
と
https://nim-lang.org/docs/manual.html
を読み比べてみればわかると思うけどC++のほうがはるかに複雑だよ。
413デフォルトの名無しさん
2023/12/18(月) 20:40:29.88ID:DG+uqCiP Nim言語がどのような考えで設計されたか知りたい人はNimのblogを読むといいよ。
https://nim-lang.org/araq/
https://nim-lang.org/blog.html
https://nim-lang.org/araq/
https://nim-lang.org/blog.html
414デフォルトの名無しさん
2023/12/18(月) 20:49:37.54ID:CbnA3O4k Nimの現状を知りたい人はこれを読むといい
https://forum.nim-lang.org/t/9145
https://forum.nim-lang.org/t/9145
415デフォルトの名無しさん
2023/12/19(火) 00:16:35.74ID:mrSFrPG8 議論をよく読めば何やらちゃんと考えて実装しているらしいのはC++も同じなんだよなあ
416デフォルトの名無しさん
2023/12/19(火) 08:00:58.06ID:w9OEXcqM417デフォルトの名無しさん
2023/12/20(水) 12:37:14.01ID:Cvw2c2UZ バグ修正版のNim 2.0.2と1.6.18がリリースされました。
https://nim-lang.org/blog/2023/12/19/versions-1618-202-released.html
https://nim-lang.org/blog/2023/12/19/versions-1618-202-released.html
418デフォルトの名無しさん
2023/12/23(土) 09:16:16.92ID:VfEmk1mn 寂しいスポンサーページだな😢
https://nim-lang.org/sponsors.html
こりゃnimが普及しないのも当然か
rustとは大違い
https://foundation.rust-lang.org/members/
https://nim-lang.org/sponsors.html
こりゃnimが普及しないのも当然か
rustとは大違い
https://foundation.rust-lang.org/members/
419デフォルトの名無しさん
2023/12/23(土) 10:35:51.40ID:M8dtHAyN でもRustは誰も使ってないじゃん
420デフォルトの名無しさん
2023/12/23(土) 11:58:51.47ID:BXldyzev Rust言語はトヨタ自動車が採用してると
どこかで読んだ
どこかで読んだ
421デフォルトの名無しさん
2023/12/23(土) 13:41:38.19ID:fLdoaHTJ >>419
誰も使ってないは草
誰も使ってないは草
422デフォルトの名無しさん
2023/12/23(土) 13:46:35.58ID:6J3b/0Sr Nimと書き間違えたんだと思うが
423デフォルトの名無しさん
2023/12/23(土) 18:13:17.30ID:A6gu1Hml Nimを使っている組織のリスト
https://github.com/nim-lang/Nim/wiki/Organizations-using-Nim
https://github.com/nim-lang/Nim/wiki/Organizations-using-Nim
424デフォルトの名無しさん
2023/12/27(水) 19:41:58.29ID:g/RhhP+m プログラムをビルドするためにC++だったらCMake、Rustだったらcargo.tomlにTOMLを使う。
Nimだったらconfig.nimsも.nimbleファイルもNim言語で書ける。
一つの言語でコンパイル言語としてもスクリプト言語としても使えて便利。
Nimはマクロやconstなどをコンパイル時に実行するためにVM使ってるんだけど、そのVMを使ってNimをスクリプト言語のように実行できるらしい。
Nimだったらconfig.nimsも.nimbleファイルもNim言語で書ける。
一つの言語でコンパイル言語としてもスクリプト言語としても使えて便利。
Nimはマクロやconstなどをコンパイル時に実行するためにVM使ってるんだけど、そのVMを使ってNimをスクリプト言語のように実行できるらしい。
425デフォルトの名無しさん
2023/12/27(水) 19:50:00.04ID:J2C6aYvl rustも複雑なことをしようと思ったらbuild.rsに書けるけど、それはそうとして依存関係をプログラム言語で書きたいかと言われると
426デフォルトの名無しさん
2023/12/27(水) 20:16:43.40ID:E4kPlntL あれもこれもできて便利!みたいなのはぱっと見良さそうでも
大規模・多人数・長期開発になると負債になりがちではある
大規模・多人数・長期開発になると負債になりがちではある
427デフォルトの名無しさん
2023/12/27(水) 20:24:29.72ID:qErwbOrg happyxが起爆剤にならないかなぁ、、🙏
428デフォルトの名無しさん
2023/12/27(水) 23:05:07.37ID:LUGQIuRd zigなら全部zigで書ける(便乗)
429デフォルトの名無しさん
2023/12/27(水) 23:27:30.38ID:7WiLoZ1Z 一体なにがエレガントなんだろうなこの言語って
430デフォルトの名無しさん
2023/12/27(水) 23:34:47.36ID:qmMlPacq まあアイコンはエレガントなんじゃない?王冠だし
431デフォルトの名無しさん
2023/12/27(水) 23:51:57.04ID:Ra91RrOg procとmethodとfuncを使い分けつつ{.global.}や{.async.}なとの{.pragma.}とmacroでぐちゃぐちゃにかき混ぜられるのが超エレガントw
他の言語では類を見ない
他の言語では類を見ない
432デフォルトの名無しさん
2023/12/28(木) 22:46:05.11ID:u+MANgUc エレガントすぎてついていけないわ
433デフォルトの名無しさん
2023/12/28(木) 23:18:44.60ID:u+MANgUc エレガントすぎてついていけないわ
434デフォルトの名無しさん
2024/02/20(火) 19:40:26.76ID:iQdtjO/s 新年の記念 保守
435デフォルトの名無しさん
2024/06/17(月) 22:36:28.67ID:y0rZbngO https://nim-lang.org/blog/2024/06/17/version-206-released.html
Nim version 2.0.6がリリースされました。
Nim version 2.0.6がリリースされました。
436デフォルトの名無しさん
2024/10/04(金) 21:03:40.29ID:jm0g8/rX https://github.com/kostya/benchmarks#primes
から派生させた、Atkin Sieveベンチマーク
計算本体だけの計測に改め、更に桁を増やし、途中計算がオーバーフローしないように関係変数はすべて64bit
UPPER_BOUND: 500_000_000
Zig 1912ms
g++ 1916ms
Nim 1920ms gcc
Nim 1969ms clang
clang++ 2151ms
Rust 2411ms overflow-checks = false
Rust 2430ms overflow-checks = true
Zigが速かったので他は色々と変更した
Zigの変更は最小限なので再現検証をする場合は各自のZig計測値を基準にしてください
から派生させた、Atkin Sieveベンチマーク
計算本体だけの計測に改め、更に桁を増やし、途中計算がオーバーフローしないように関係変数はすべて64bit
UPPER_BOUND: 500_000_000
Zig 1912ms
g++ 1916ms
Nim 1920ms gcc
Nim 1969ms clang
clang++ 2151ms
Rust 2411ms overflow-checks = false
Rust 2430ms overflow-checks = true
Zigが速かったので他は色々と変更した
Zigの変更は最小限なので再現検証をする場合は各自のZig計測値を基準にしてください
437デフォルトの名無しさん
2024/10/04(金) 21:11:00.73ID:jm0g8/rX 特にデータ構造で
Nim seq[bool]
Rust Vec<bool>
は遅いので直ぐに取り換えてください
C++のvector<bool>は最適化がされていますが、最終的に別のものにしました
Nim seq[bool]
Rust Vec<bool>
は遅いので直ぐに取り換えてください
C++のvector<bool>は最適化がされていますが、最終的に別のものにしました
438デフォルトの名無しさん
2024/10/04(金) 21:12:20.19ID:jm0g8/rX >>436は取り換えた後の計測値です
439デフォルトの名無しさん
2024/12/31(火) 13:29:53.82ID:dvbSbmj1 ねんまつ記念 保守
440デフォルトの名無しさん
2025/02/18(火) 12:43:21.45ID:HbHlBTpR C++のVectorは最悪
441デフォルトの名無しさん
2025/03/30(日) 03:12:16.26ID:oBGwoxyW 最近元気ないな
442デフォルトの名無しさん
2025/04/27(日) 14:57:44.22ID:rRExk4WB ねこのすれ
443デフォルトの名無しさん
2025/05/08(木) 16:20:58.41ID:anhDrZ/H バイアグラ飲め
レスを投稿する
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「COP30」開催地を軽蔑? ドイツ首相発言に批判 [蚤の市★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【カブス】今永昇太 1年約34億円で残留へ QO受諾 米メディア報じる [鉄チーズ烏★]
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
- 【雑談】暇人集会所part19
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】女の子、整形で片目失明...高市助けて... [856698234]
- 【悲報】風俗嬢「風俗の客は既婚者や彼女持ちがほとんど。いわゆる弱者男性の客はほぼない」なぜ弱者男性は風俗を嫌うのか? [257926174]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
