次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
次世代言語27 Nim Zig Pony Carbon Gleam http://mevius.5ch.net/test/read.cgi/tech/1659660050/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
189: デフォルトの名無しさん (ワッチョイ 22f1-rrr/) [] 2023/11/21(火) 03:09:25.53 ID:60zWiP9n0 wasmはどうせgcを採用するんだろうなと思ってたがやっぱりか jdkと変わらん http://mevius.5ch.net/test/read.cgi/tech/1659660050/189
190: デフォルトの名無しさん (ワッチョイ 22f1-rrr/) [] 2023/11/21(火) 03:12:08.32 ID:60zWiP9n0 wasmは初期の頃jdkと何が違うの?と言われてた jdkはバグが多いからとか説明してたが、実際そうでもない なぜかその界隈の人達が漠然とjavaを嫌ってるだけだな http://mevius.5ch.net/test/read.cgi/tech/1659660050/190
191: 188 (ワッチョイ 22f1-rrr/) [] 2023/11/21(火) 04:46:48.83 ID:60zWiP9n0 compiletじゃなくてcomptimeだった http://mevius.5ch.net/test/read.cgi/tech/1659660050/191
192: デフォルトの名無しさん (ワッチョイ 22f1-rrr/) [] 2023/11/21(火) 05:27:43.98 ID:60zWiP9n0 zigのジェネリック、やりたいことは分かるんだけど構文がよく分からん https://ziglang.org/documentation/master/#Generic-Data-Structures fn List(comptime T: type) type { return struct { items: []T, len: usize, }; } // The generic List data structure can be instantiated by passing in a type: var buffer: [10]i32 = undefined; var list = List(i32){ .items = &buffer, .len = 0, }; List()の返値はList型じゃなくてi32型なの? でもi32の変数があったときにいつもその構造体への初期化処理みたいなのかけるわけじゃないでしょ。 でもfn Listの宣言によれば返値の型はtype=i32なんでしょ?謎すぎ http://mevius.5ch.net/test/read.cgi/tech/1659660050/192
193: デフォルトの名無しさん (ワッチョイ 22f1-rrr/) [] 2023/11/21(火) 05:34:22.13 ID:60zWiP9n0 List()の型は匿名のstructだな でもじゃあこれはなに?っていう fn List(comptime T: type) type 引数に入力されたtypeの型が返値の型じゃないの? http://mevius.5ch.net/test/read.cgi/tech/1659660050/193
194: デフォルトの名無しさん (ワッチョイ cd26-1See) [sage] 2023/11/21(火) 10:29:25.70 ID:Z3uiTyFT0 >>193 >>192の例で説明すると、引数として渡されたtypeはitemsフィールドの要素の型。 戻り値のtypeは匿名structの型。 引数の方のtypeは、匿名struct内の関数の引数や戻り値、その関数の戻り値を組み立てるための型引数などにも使える(文字で書くとややこしい)。 戻り値の方のtypeは、builtin.Typeでサポートされてるものが返せる。 あと引数に渡されるtypeは、戻り値を組み立てる型の中で、例えば「T.foo()」と書くことでT型はfoo関数の存在を制約として与えることもできる(foo関数を持たない型が渡されたらコンパイルエラー)。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/194
195: デフォルトの名無しさん (ワッチョイ 22f1-rrr/) [] 2023/11/21(火) 11:43:47.98 ID:60zWiP9n0 ありがとう分かった。 typeはzig標準型全体を指すものということか。 任意の標準型を受け取って、任意の標準型を返す総称型関数ということね。 ダックタイピングも分かった。 宣言じゃなくコードの内容から推論してコンパイルエラー出してくということね。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/195
196: デフォルトの名無しさん (ワッチョイ 226b-rrr/) [] 2023/11/21(火) 14:41:07.08 ID:60zWiP9n0 チュートリアル読んでるけどzig良い。 Cの代替としては最有力かな? 世の中はメモリ安全のためにRust推奨なんだろうけど。 本当はそっちに進んじゃいけない、と思ってる。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/196
197: デフォルトの名無しさん (ワッチョイ aedc-f5/H) [sage] 2023/11/21(火) 21:16:37.31 ID:NcXE8D4H0 Zigのマイルストーン見ると先送りしてきたv0.11.1のバグ180件以上残ったままv0.12.0側のissueばっかり片付けてるな これはついにマイナーバージョンアップ近づいて来たのかな http://mevius.5ch.net/test/read.cgi/tech/1659660050/197
198: デフォルトの名無しさん (ワッチョイ 22f8-rrr/) [] 2023/11/22(水) 01:53:36.06 ID:bjqLP0h40 linux kernelがrustのサポートを確定したという記事を読んだ。 だったらrustなのかなあ。googleもandroidをrustで書くらしい。 rustなのか。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/198
199: デフォルトの名無しさん (ワッチョイ 22f8-rrr/) [] 2023/11/22(水) 03:30:03.94 ID:bjqLP0h40 俺はzigやってこう・・・。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/199
200: デフォルトの名無しさん (ワッチョイ 22f8-rrr/) [] 2023/11/22(水) 07:56:27.67 ID:bjqLP0h40 いや、やっぱりrustかなあ。 将来のベアメタルプログラマーは抽象的な言語概念から逃げられないね。 そうなると、初学者はむしろマネージド言語から入るのかな。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/200
201: デフォルトの名無しさん (ブーイモ MM66-OZuz) [sage] 2023/11/22(水) 12:13:14.04 ID:Xn3ar1UbM Cの後継としてZigは結構ありだと思うけど、 Cが残ってる分野ってISO標準とか組み込みベンダーサポートとかが必須な分野が多くて Zigがそこまでたどり着くには10年とかかかりそうだよな… http://mevius.5ch.net/test/read.cgi/tech/1659660050/201
202: デフォルトの名無しさん (スプッッ Sd82-ts/j) [] 2023/11/22(水) 12:17:19.10 ID:o4kbjPDBd Odinはいかが? http://mevius.5ch.net/test/read.cgi/tech/1659660050/202
203: デフォルトの名無しさん (アウアウウー Sa85-UHOz) [] 2023/11/23(木) 09:55:21.62 ID:mHKDjshta >>196 わかります http://mevius.5ch.net/test/read.cgi/tech/1659660050/203
204: デフォルトの名無しさん (アウアウウー Sa85-UHOz) [] 2023/11/23(木) 09:55:57.11 ID:mHKDjshta >>201 10年待てない人はNimで http://mevius.5ch.net/test/read.cgi/tech/1659660050/204
205: デフォルトの名無しさん (ワッチョイ 226d-rrr/) [] 2023/11/23(木) 10:39:32.37 ID:h/UsGTLS0 nimは概要を読む限り全然いいと思えない。 C++をさらに悪化させたような言語じゃないの? http://mevius.5ch.net/test/read.cgi/tech/1659660050/205
206: デフォルトの名無しさん (ワッチョイ 226d-rrr/) [] 2023/11/23(木) 10:41:14.18 ID:h/UsGTLS0 nim使うならC++で良いはずだよ。既に多用されてて信頼性あるし。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/206
207: デフォルトの名無しさん (ワッチョイ 226d-rrr/) [] 2023/11/23(木) 10:53:59.84 ID:h/UsGTLS0 odinのアイデアはほぼzigと同じじゃないか? zigの方が先に出てきて、その直後にodinが出てきたようだ メモリ安全と言われているようだが全くそうではないというレビューも見かけた。 後出し追いかけ言語で政治力とエンジニアリングのパワーで優っているのがodinということじゃないか? Cの代替がzigのようなものであるべきという着眼点を最初にもたらしたのはzigじゃないだろうか 他にそういう方向性の言語がzigより先にあったのだろうか http://mevius.5ch.net/test/read.cgi/tech/1659660050/207
208: デフォルトの名無しさん (ワッチョイ 226d-rrr/) [] 2023/11/23(木) 11:21:12.37 ID:h/UsGTLS0 zigのwikipedia読んでたらCからの変更点という観点でzigが説明されてる。 Cを出発点としていくつかの改善点を加えた言語というのが重要なんだ。 その中でもメモリ安全とcomptimeによる類似関数をひとまとめにするというアイデアが重要と思う。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/208
209: デフォルトの名無しさん (ワッチョイ 226d-rrr/) [] 2023/11/23(木) 12:21:13.00 ID:h/UsGTLS0 fn () err!val みたいな共用体を返す構文はCのerrnoとかC#のoutとかの代用になるのかな 共用体はenumと連携させてswitchで使えるようだから中身に応じて処理を分けれる 実際使ってみないと分からんが、まあ学習は順調に進むし良い印象がある http://mevius.5ch.net/test/read.cgi/tech/1659660050/209
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
211: デフォルトの名無しさん (ワッチョイ aeb4-OZuz) [sage] 2023/11/23(木) 13:59:38.28 ID:/UTIXb+w0 NimはまぁPythonっぽい構文が好きな人にはいいかもねって感じなだけで わざわざ他言語から乗り換えるような特徴がないんだよね http://mevius.5ch.net/test/read.cgi/tech/1659660050/211
212: デフォルトの名無しさん (ワッチョイ 225b-rrr/) [] 2023/11/23(木) 14:59:02.66 ID:h/UsGTLS0 NimはJavaとかC#みたいなクロスプラットフォーム性があるわけではないし Cが使われているような領域で使えるものでもない だからそういった領域では論外 C++と競合するが、置き換えれるほどの何かがない 恐らくC++から置き換えるならRustになる という認識。Nimの言語仕様がJavaやCと比較して優れてる!とか言ってみても仕方ない。 競争相手になり得ない。 C++かRustと比較して総合的に優れてると言えたら重要なものになるだろうけど。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/212
213: デフォルトの名無しさん (ワッチョイ 225b-rrr/) [] 2023/11/23(木) 15:03:11.78 ID:h/UsGTLS0 nimはgcありとなしモードあるけどライブラリちゃんと動くの? gcありじゃないとほとんどのライブラリが動かないということになるなら、 C++にもRustにも到底比較対象にならない どの領域に入るつもりなんだという印象 http://mevius.5ch.net/test/read.cgi/tech/1659660050/213
214: デフォルトの名無しさん (ワッチョイ 225b-rrr/) [] 2023/11/23(木) 15:16:17.32 ID:h/UsGTLS0 要するに、総合的に優れてるように思えても「あらゆる領域でちょっと負ける言語」は使われない。 戦略は?ということ。 C#やjavaと比較→ネイティブコード作れる!エレガントな文法!→java使ってる人達には全くどうでもいいです Cと比較→たくさんの抽象的な言語概念!大規模開発に強い!→C使ってる人達には全くどうでもいいです C++やRustと比較→GCがあって簡単にコーディングできるぞ!→彼らにはGCは不要あるいは邪魔です http://mevius.5ch.net/test/read.cgi/tech/1659660050/214
215: デフォルトの名無しさん (ワッチョイ ae6b-f5/H) [sage] 2023/11/23(木) 15:46:50.74 ID:o2OM8ETk0 NimのライバルはZigじゃなくてV言語だと思う ベターCっぽいけどCの置き換えできないしC++にも届かないって立ち位置の点でね (文法もC系ではなくPython系って側面も込み) http://mevius.5ch.net/test/read.cgi/tech/1659660050/215
216: デフォルトの名無しさん (ワッチョイ 427c-ts/j) [] 2023/11/23(木) 18:39:43.19 ID:AGqDCJM/0 >>207 >odinのアイデアはほぼzigと同じじゃないか? 違うな。 zigはcをそのまま取り込む感じだが、odinはあくまでもodin。 cとの連携もzigみたいにそのままでは無い。 >メモリ安全と言われているようだが全くそうではないというレビューも見かけた。 odinはメモリ安全なんかじゃ全くないぞ。別なもの見てないか? >後出し追いかけ言語で政治力とエンジニアリングのパワーで優っているのがodinということじゃないか? 政治力っていったいなんのことよ。 イチャモン着けたいだけか? >Cの代替がzigのようなものであるべきと 「zigのようなものであるべき」って言ったらzigしかないじゃん。 言ってることがメチャクチャ。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/216
217: デフォルトの名無しさん (ワッチョイ 427c-ts/j) [] 2023/11/23(木) 18:51:14.02 ID:AGqDCJM/0 >>212 >NimはJavaとかC#みたいなクロスプラットフォーム性があるわけではないし JavaとかC#はマルチプラットフォームという。 マルチプラットフォームとクロスプラットフォームの違いは自分で調べてね。 >C++と競合するが、置き換えれるほどの何かがない GCあるから置き換えは無理だね。 使わないようにも出きるし、その方向に向かってるけど既にあるライブラリがGC前提だったりするし。 nimはトランスレーター系で、出力がcだったりjavascriptへだったりして、そこでリソース消費しちゃってる感あるのがな。 かつてhaxeという言語があったが結局流行らなかった。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/217
218: デフォルトの名無しさん (ワッチョイ 427c-ts/j) [] 2023/11/23(木) 18:53:19.90 ID:AGqDCJM/0 >>208 zigはメモリ安全なんかじゃねーぞ http://mevius.5ch.net/test/read.cgi/tech/1659660050/218
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 90 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s