次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
次世代言語27 Nim Zig Pony Carbon Gleam http://mevius.5ch.net/test/read.cgi/tech/1659660050/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
210: デフォルトの名無しさん (ワッチョイ 6e83-aicd) [sage] 2023/11/23(木) 12:50:09.22 ID:45eqFX8V0 >>205 >>206 Nimのどこがダメなんでしょうか? 少なくともC++よりシンプルな言語だし読みやすく書きやすい言語だと思うのですが。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/210
227: デフォルトの名無しさん (ワッチョイ 6e83-aicd) [sage] 2023/11/23(木) 23:16:34.09 ID:45eqFX8V0 Nim言語はC言語やJavascript言語を出力するのでそれらの言語が動くプラットフォームならほぼ動く。 Raspberry Pi zeroやTermux上でもNimコンパイラが動くし Goodboy GalaxyっていうNim言語で書かれたGame boy advanceで動くゲームもあるしRaspberry Pi Picoで動くプログラムも作れる。 GC付き言語だとすべてのオブジェクトがヒープに作成されると勘違いする人がいるけどNimでもC++のようにオブジェクトをヒープに確保するかスタックに確保するか選ぶことができる。 NimではGCの代わりにARCっていうメモリ管理方法を選択できてこれはC++のshared_ptrやRustのRcと同じ参照カウンタ方式でヒープを管理する。 なのでARCが使えるかどうかは循環参照があるかないかで決まる。 Nim2.0からはORC(循環参照があっても解放できるようにARCに機能を追加したもの)がデフォルトになっている。 Nimのマクロは式や文のASTを受け取ってそのASTを読んだりASTを生成して返すのでいろんなことができる。 例えばNimの標準機能にあるstrformatモジュールを使えばfmt"x*y={x*y}"のように文字列の中の{}で囲まれた部分に直接式を書くことができる。 fmtマクロはコンパイル時に文字列リテラルを読んで"x*y="という文字列にx*yの結果を文字列化したものを付け足すコードを生成する。 C++やRustで言語に備わった機能だけでfmtマクロのようなものを作ることは無理じゃない? http://mevius.5ch.net/test/read.cgi/tech/1659660050/227
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.024s