次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
次世代言語27 Nim Zig Pony Carbon Gleam http://mevius.5ch.net/test/read.cgi/tech/1659660050/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
219: デフォルトの名無しさん (ワッチョイ 427c-ts/j) [] 2023/11/23(木) 18:54:51.91 ID:AGqDCJM/0 odinについて知りたかったらhacker newsを見てくれ。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/219
220: デフォルトの名無しさん (ワッチョイ a111-1See) [sage] 2023/11/23(木) 19:18:19.30 ID:HQ3SaqO80 >>209 Error Union はペイロードを持てないので、erronoと同じと見て差し支えない。 ニュアンスとしてはgo言語のエラーと値を返すスタイルが近いかな。 go言語と違って、エラーがなければ値が保証される(毎度のエラーチェック不要)のと、エラーハンドリング不要ならtryで呼び出し元に押しつけられる楽さはある。 C#のTry〜メソッドのout引数を戻り値で扱えるが、zigはポインタ渡しもできるのでさらに強力。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/220
221: デフォルトの名無しさん (ワッチョイ a111-1See) [sage] 2023/11/23(木) 19:25:49.77 ID:HQ3SaqO80 >>218 deferの使用を癖づけしておけば、おおむね安全だから・・・。 動的確保したu8のスライスを別の変数にも持たせ、 元の変数の破棄によるダングリングポインタで自分の足を撃ち抜くくらいかな? よく事故るところは。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/221
222: デフォルトの名無しさん (ワッチョイ a111-1See) [sage] 2023/11/23(木) 19:28:51.80 ID:HQ3SaqO80 >>217 haxeは構文マクロ書きやすくて好きなだけに悲しい http://mevius.5ch.net/test/read.cgi/tech/1659660050/222
223: デフォルトの名無しさん (ワッチョイ 427c-ts/j) [] 2023/11/23(木) 21:24:37.29 ID:AGqDCJM/0 >>222 haxe知ってる人がいて嬉しい。 マイナーで終わったのが残念。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/223
224: デフォルトの名無しさん (アウアウウー Sa85-UHOz) [] 2023/11/23(木) 22:52:57.39 ID:38VIgpCLa >>212 おまえなんも判ってないな >Cが使われているような領域で使えるものでもない 使えるだろ >C++と競合するが、置き換えれるほどの何かがない NimはC++とは競合しないC++と共存する >恐らくC++から置き換えるならRustになる RustにCの置き換えはあっても RustがC++を置き換えることは無いわ http://mevius.5ch.net/test/read.cgi/tech/1659660050/224
225: デフォルトの名無しさん (アウアウウー Sa85-UHOz) [] 2023/11/23(木) 22:57:33.95 ID:38VIgpCLa >>215 >文法もC系ではなくPython系って側面も込み 事実誤認だ よくそんな平気で嘘が吐けるな http://mevius.5ch.net/test/read.cgi/tech/1659660050/225
226: デフォルトの名無しさん (アウアウウー Sa85-UHOz) [] 2023/11/23(木) 22:58:53.23 ID:38VIgpCLa >>214 君は表面的なところしか観れないhusianasann http://mevius.5ch.net/test/read.cgi/tech/1659660050/226
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
228: デフォルトの名無しさん (ワッチョイ 6ecf-ekUX) [sage] 2023/11/24(金) 00:02:43.09 ID:cA/HuquY0 俺も>>211と同じような印象を持ってるけど、一方でこうやって熱心に布教してくるユーザーが目につくんだよね。 温度差が面白い。 pythonスレで宣伝するのはさすがにスレチだからやめてほしいが。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/228
229: デフォルトの名無しさん (ワッチョイ 22fa-rrr/) [] 2023/11/24(金) 00:24:17.65 ID:Wcn967L80 >>218 rustほどではないけどcと比較すればかなりメモリ安全な言語 http://mevius.5ch.net/test/read.cgi/tech/1659660050/229
230: デフォルトの名無しさん (ワッチョイ 427c-ts/j) [] 2023/11/24(金) 00:45:17.10 ID:6OrpRj0R0 >>227 nimのマクロはASTいじれるから強いよな。 俺もnim好きだし。 一方で >>217 で書いたようにまだライブラリに旧いGC使ってるの混じってるのと、CだけじゃなくJavaScriptへのトランスレートとかして開発リソースを消費してるのが懸念。 あとRustのマクロならたぶん近いことできるんじゃないかね? あれは hygienicマクロうたってるし。ただ複雑過ぎるとも思う。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/230
231: デフォルトの名無しさん (ワッチョイ 22fa-rrr/) [] 2023/11/24(金) 00:56:07.29 ID:Wcn967L80 C++もGCありの開発可能だからnimはC++と近いのでは? 主にC++が使われてるのはミドルウェア、webブラウザ、ゲームとかだけど いずれもGCが動かない環境ではない http://mevius.5ch.net/test/read.cgi/tech/1659660050/231
232: デフォルトの名無しさん (ワッチョイ 22fa-rrr/) [] 2023/11/24(金) 01:04:25.73 ID:Wcn967L80 nimがcと競合すると考えるなら、 nimがカーネルやデバドラで使われると思うのか http://mevius.5ch.net/test/read.cgi/tech/1659660050/232
233: デフォルトの名無しさん (ワッチョイ e97e-OZuz) [sage] 2023/11/24(金) 08:28:38.02 ID:ksIXeJJJ0 >>228 熱心に布教するユーザが目に付くというのがまさにとりたてて特徴がないということの証明になっているかもね 他言語だと多少気にいらなくても〇〇のために使っている、となるがNimはその思想に完全にマッチした人しか残っていないという http://mevius.5ch.net/test/read.cgi/tech/1659660050/233
234: デフォルトの名無しさん (ワッチョイ 6e83-aicd) [sage] 2023/11/24(金) 13:19:56.18 ID:+HdIulh/0 Nimユーザーから見るとRustなどの他の言語はいちいち;とか{}を入力したりそれらの文字で少し見づらくなるがそれを大きく上回るメリットがあるとは思えない。 RustやC++やZigで書いたコードがNimより速くなるわけではない。 NimはGC使ってるから遅いみたいに言う人はいるがヒープメモリを使わないようにするとかヒープメモリをループの外側でのみ確保するようにすればメモリ管理のコストがボトルネックにならない。 どうしてもヒープ確保が必要になる場合でもARCかORCを使えばshared_ptrやRcと同じように参照数が0になったら即解放するようになる。 Rustはメモリ安全だというが普通にNimのコードを書いていてメモリ関係のバグで困ったことは無い。 Win32 APIとかLinuxのシステムコールを呼ぶときはポインタを使うからメモリ安全性に気を付けないといけなくなるがRustでもそういう関数を呼ぶときにはunsafeコードを書かないといけないらしいし。 C/C++はライブラリが豊富にあるがNimからその殆どが使える。 NimはCかC++を出力するからCのマクロとかC++のテンプレートクラス/関数まで呼べる。 C++言語はC++14,17,2xと言語仕様がどんどん複雑になっているから完全に対応は難しいかもしれんが。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/234
235: デフォルトの名無しさん (ワッチョイ 075f-fzX6) [sage] 2023/11/27(月) 09:37:28.94 ID:BB7NmH0K0 >>234 Rustのいいところはコンパイルが通らないから誰が書いてもある程度同じようなコードが出来上がることだと思う とても極端な話すればレビューもいらない めちゃくちゃチーム開発に向いてる Nimは既存の資産を活かせるかつ自由度が高いから小、中規模向けなのかな http://mevius.5ch.net/test/read.cgi/tech/1659660050/235
236: デフォルトの名無しさん (ワッチョイ a737-psIa) [sage] 2023/11/27(月) 12:16:24.67 ID:0LRMXswf0 >>235 > 誰が書いてもある程度同じようなコードが出来上がる これは幻想がひどい気がする。コンパイル通らない時にどう解決するか結構個性が出ると思う。 無限に unsafe 指摘されて切れたwebフレームワークのメンテナ居なかったか? http://mevius.5ch.net/test/read.cgi/tech/1659660050/236
237: デフォルトの名無しさん (アウアウウー Sa0b-6V65) [] 2023/11/29(水) 06:07:56.97 ID:n75oaT1ga >>236 >無限に unsafe 指摘されて切れた このひとのことかな https://wolfbash.hateblo.jp/entry/2017/07/30/193412 http://mevius.5ch.net/test/read.cgi/tech/1659660050/237
238: デフォルトの名無しさん (ワッチョイ a7fd-psIa) [sage] 2023/11/29(水) 12:33:39.58 ID:fVcl6vAK0 >>237 そこまでレベル低い人の話はしていない。 掘り直したら actix-web だった。 以下のページが日本語で問題まとまってる。 ttps://scrapbox.io/nekketsuuu/actix-web%E4%BA%8B%E4%BB%B6 http://mevius.5ch.net/test/read.cgi/tech/1659660050/238
239: デフォルトの名無しさん (ワッチョイ a6ac-fxPS) [sage] 2023/12/06(水) 14:35:16.69 ID:FgD2yr5e0 Rust2006年、Nim2008年(or 2005年生誕説)、Go2009年にそれぞれオープン化して同期の中でNimの言語コンセプトだけ主要な席を取れなかったのはおかしい。 Nim好きユーザーとしてはここからの巻き返しを超絶妄想してる。 現世代言語の仕様に引けを取ってないし8月に本体2.0.0に上がったし周辺パッケージも育って熱心な布教者まで揃ってるのにそもそもの認知度が低すぎるままなのは不思議でならない。 いまNimで書いてる人たちは何用途で使ってる?まずは特定用途で知名度を上げることに突破口があると思うんだよね結局は。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/239
240: デフォルトの名無しさん (ワッチョイ 2a7c-1JZ4) [] 2023/12/06(水) 15:24:48.70 ID:MT5mgeUa0 >>239 個人で始めたか、法人所属の人が始めたか。 pythonはメジャーになるまで30年以上かかってる。 法人の後ろ楯あると早いね。 何かキラーアプリがでることを期待してる。俺はそんなスキル無い。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/240
241: デフォルトの名無しさん (ブーイモ MM3e-vHfD) [sage] 2023/12/06(水) 15:53:12.48 ID:KVh/UeYmM >>239 同期だからこそ、潜在ユーザをみんなGoとRustに取られた感はある 企業がついてない分エコシステムとかはどうしても負けるし あとはC系の人にPython風構文はあまり歓迎されないというのはあるかも MojoみたくPythonユーザを直接取りに行ったほうが良かったかもね http://mevius.5ch.net/test/read.cgi/tech/1659660050/241
242: デフォルトの名無しさん (ワッチョイ 2a7c-1JZ4) [] 2023/12/06(水) 16:40:19.51 ID:MT5mgeUa0 >>240 30年以上は言い過ぎ?30年近く。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/242
243: デフォルトの名無しさん (ワッチョイ 66cf-tBUZ) [sage] 2023/12/06(水) 18:39:52.78 ID:Lg+sIo970 pythonは2000年代初頭にはperlよりメジャーになってただろ。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/243
244: デフォルトの名無しさん (ワッチョイ 8ab6-yDrh) [] 2023/12/08(金) 03:22:50.77 ID:OHR+wWxR0 やっぱりrustなんだろうね OSも徐々にRustになってくっぽい 主要OSが完全に移行するには100年かかるだろうけど http://mevius.5ch.net/test/read.cgi/tech/1659660050/244
245: デフォルトの名無しさん (ワッチョイ 6683-9d3Q) [sage] 2023/12/08(金) 05:55:14.09 ID:xBCOoZoU0 LinuxカーネルのコードがRustに置き換わるとコンパイル時間が大幅に増加しないか心配。 Cだけのカーネルでもビルドに一時間くらいかかるのに http://mevius.5ch.net/test/read.cgi/tech/1659660050/245
246: デフォルトの名無しさん (アウアウウー Sa21-wVFe) [sage] 2023/12/08(金) 09:48:35.93 ID:k3Bpg+TDa コンパイルよりCargoのdb更新に時間掛かってるんだよないっつも http://mevius.5ch.net/test/read.cgi/tech/1659660050/246
247: デフォルトの名無しさん (ワッチョイ 7501-M0la) [sage] 2023/12/08(金) 23:03:52.41 ID:Pln0qn0V0 >>246 それいくつか前のバージョンで改善されたやつじゃなくて? http://mevius.5ch.net/test/read.cgi/tech/1659660050/247
248: デフォルトの名無しさん (ワッチョイ 9734-C3j7) [sage] 2023/12/13(水) 08:12:56.25 ID:SOLvnyCP0 待望の新言語 WebAssemblyへのコンパイルだけに特化した新言語「Onyx」登場、Wasmerが発表 https://www.publickey1.jp/blog/23/webassemblyonyxwasmer.html http://mevius.5ch.net/test/read.cgi/tech/1659660050/248
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 60 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s