!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
スレタイ(順番はRedMonk準拠)以外の言語もok
前スレ
次世代言語26 TypeScript Swift Go Kotlin Nim
https://mevius.5ch.net/test/read.cgi/tech/1655771266/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
次世代言語27 Nim Zig Pony Carbon Gleam
1デフォルトの名無しさん (ワッチョイ c35f-St8y)
2022/08/05(金) 09:40:50.22ID:/hLfNpmA0137デフォルトの名無しさん (ワッチョイ ff7c-OaH6)
2023/05/19(金) 18:44:24.43ID:fagGQhCY0 YAML拡張してifとかの制御構造入れるやつもいるからな。
138デフォルトの名無しさん (ワッチョイ 03cf-Np+b)
2023/05/19(金) 22:29:50.83ID:O8g/UjD80 >>136
後ろのインデントには依存しないんじゃね
後ろのインデントには依存しないんじゃね
139デフォルトの名無しさん (ワッチョイ a7a4-A5UL)
2023/05/20(土) 12:03:13.56ID:Ok/r6Mln0 オフサイドルールでブロック表すのも、ブレースでブロック表すのも、構文解析的にはは同じことでしょ
140デフォルトの名無しさん (テテンテンテン MM86-uVPi)
2023/05/20(土) 16:28:20.57ID:/tIrPGWZM インデントの深さに依存するから、フレーズみたいに「現在のブロックを閉じる」だけの操作では済まない。
オフサイドルールのプッシュダウンオートマトン実装例あったっけ?
オフサイドルールのプッシュダウンオートマトン実装例あったっけ?
141デフォルトの名無しさん (ブーイモ MM86-F7IQ)
2023/05/20(土) 16:36:35.19ID:A/kRENRgM 構文解析的にはほぼ同じ
間違ってても検出できない(ケースが多い)
オートフォーマットができない
のがデメリット
間違ってても検出できない(ケースが多い)
オートフォーマットができない
のがデメリット
142デフォルトの名無しさん (テテンテンテン MM86-uVPi)
2023/05/20(土) 16:40:15.10ID:/tIrPGWZM >>141
PDAの実装は?
PDAの実装は?
143デフォルトの名無しさん (ワッチョイ 6f5f-u1DA)
2023/05/20(土) 16:43:18.84ID:PfZyfbnf0 前処理でブレース挿入して処理するから実際のパーサ部分は似たようなものって言いたいんだろうか
144デフォルトの名無しさん (テテンテンテン MM86-uVPi)
2023/05/20(土) 16:48:04.32ID:/tIrPGWZM >>143
そりゃ乱暴すぎる。
そりゃ乱暴すぎる。
145デフォルトの名無しさん (ブーイモ MM27-F7IQ)
2023/05/20(土) 18:06:52.09ID:EUGtogADM146デフォルトの名無しさん (ワッチョイ a7a4-A5UL)
2023/05/21(日) 01:17:46.07ID:CmXU6CGz0 https://docs.python.org/3/reference/lexical_analysis.html#indentation
Pythonの場合はここに書かれてるようにlexerの時点でスタックを使って処理できるという仕様だけど
他の言語のオフサイドルールはもっと複雑になるの?
Pythonの場合はここに書かれてるようにlexerの時点でスタックを使って処理できるという仕様だけど
他の言語のオフサイドルールはもっと複雑になるの?
147デフォルトの名無しさん (テテンテンテン MM86-uVPi)
2023/05/21(日) 15:37:31.99ID:7unpu3NzM148デフォルトの名無しさん (ワッチョイ 1302-mVGR)
2023/06/12(月) 15:08:29.37ID:kB7As+JK0 Zigの単行tryとcatchは馴染みないから怪訝してたけど使ってみるとtry-catchブロックよりフローが明確になって良いね
これって他言語にもある言語仕様なのかな
これって他言語にもある言語仕様なのかな
149デフォルトの名無しさん (スプッッ Sd73-fEz/)
2023/06/12(月) 18:10:45.80ID:7lxvOpjdd >>148
つ アダムタッチ
つ アダムタッチ
150デフォルトの名無しさん (スッップ Sd33-kZ0E)
2023/06/13(火) 16:03:31.28ID:xDyMFOGFd NimってPythonのライブラリにアクセスしてfor文回すともはやNimに求めてた性能ははpythonよりになってしまうのでは?型推論できないからねぇ。
151デフォルトの名無しさん (ワッチョイ 534b-2rqm)
2023/06/13(火) 18:32:28.49ID:yeDPLuAI0152デフォルトの名無しさん (テテンテンテン MMeb-jufV)
2023/06/14(水) 07:40:07.84ID:8mvudo25M pythonのダメ記法を捨てられるだけでもメリットデカイね。
153デフォルトの名無しさん (アウアウウー Sadd-g1CP)
2023/06/14(水) 11:21:50.21ID:iWYHYN4ra for を python で描くと遅い
for は Nim で描いて
中身だけ python ならまだマシ
もちろんネイティブの速度ではないがそんなの Nim だからじゃなくて
C++ でも Rust でも python 呼べば同じ結果になるぞ
for は Nim で描いて
中身だけ python ならまだマシ
もちろんネイティブの速度ではないがそんなの Nim だからじゃなくて
C++ でも Rust でも python 呼べば同じ結果になるぞ
154デフォルトの名無しさん (ワッチョイ 315f-kZ0E)
2023/06/14(水) 14:43:32.26ID:NMm4TZav0 >>153
for文をNimで書いて、中身をpythonにして実行速度を計測してみたらpythonオンリーとあまり変わらなくてがっかりしたという経験がある。ただ、自分のコーディングが悪かった可能性もあるけど。
for文をNimで書いて、中身をpythonにして実行速度を計測してみたらpythonオンリーとあまり変わらなくてがっかりしたという経験がある。ただ、自分のコーディングが悪かった可能性もあるけど。
155デフォルトの名無しさん (ワッチョイ 3961-dT3e)
2023/06/14(水) 16:19:12.32ID:rOshoQaM0 >>154
中身の計算コストがforループ自体のコストと比べて大きければNimでもpythonでも変わらないんじゃない?
中身の計算コストがforループ自体のコストと比べて大きければNimでもpythonでも変わらないんじゃない?
156デフォルトの名無しさん (ワッチョイ 4f5f-JtsX)
2023/07/04(火) 03:53:42.95ID:ZyJ9aZuM0 病∞!!!!
症∞!!!!!
漠∞!!!!!!
西∞!!!!!!!
卵∞!!!!!!!!
多∞!!!!!!!!!
症∞!!!!!
漠∞!!!!!!
西∞!!!!!!!
卵∞!!!!!!!!
多∞!!!!!!!!!
157デフォルトの名無しさん (ワッチョイ 4f5f-JtsX)
2023/07/04(火) 09:47:08.65ID:c7VqsKCG0 待望の新言語
Apache Sparkのための新しいプログラミング言語としての「英語」
https://www.databricks.com/jp/blog/introducing-english-new-programming-language-apache-spark
Data & AIのサミットで発表された新機能:DatabricksのEnglish SDK for Apache Sparkを試してみた
https://qiita.com/maroon-db/items/89f7a1aae11a112f9700
Apache Sparkのための新しいプログラミング言語としての「英語」
https://www.databricks.com/jp/blog/introducing-english-new-programming-language-apache-spark
Data & AIのサミットで発表された新機能:DatabricksのEnglish SDK for Apache Sparkを試してみた
https://qiita.com/maroon-db/items/89f7a1aae11a112f9700
158デフォルトの名無しさん (ワッチョイ e202-5LlG)
2023/07/20(木) 05:33:25.43ID:LIvlv7Wc0 Zig 0.11.0のマイルストーンが7月17日から8月3日に延期されてしまった
やはり未解決のissue多すぎて再延長もあり得るかこれは
やはり未解決のissue多すぎて再延長もあり得るかこれは
159デフォルトの名無しさん (スプッッ Sd7f-NY88)
2023/07/25(火) 11:52:50.13ID:yYWffJVbd >>158
1.0も遠のいた?
1.0も遠のいた?
160デフォルトの名無しさん (ワッチョイ df02-rRCM)
2023/07/26(水) 00:31:41.04ID:gfwPzIhn0 >>159
1.0も遠のいた…
今回のリリースは目玉のasync関連も見送りっぽいし内容的には実質0.10.6くらいなイメージ
残ってた300前後のissueは未解決のまま公式Newsのとおり0.11.1から1.0.0の各マイルストーンへ再分配中
(大半を単に先延ばしするだけなのでそのまま1.0もズレる)
そんな中で脱LLVM構想も再浮上してるし1.0到達は当初の3年後どころか5年以内目処も危うい
1.0も遠のいた…
今回のリリースは目玉のasync関連も見送りっぽいし内容的には実質0.10.6くらいなイメージ
残ってた300前後のissueは未解決のまま公式Newsのとおり0.11.1から1.0.0の各マイルストーンへ再分配中
(大半を単に先延ばしするだけなのでそのまま1.0もズレる)
そんな中で脱LLVM構想も再浮上してるし1.0到達は当初の3年後どころか5年以内目処も危うい
161デフォルトの名無しさん (ワッチョイ df7c-NY88)
2023/07/27(木) 10:40:07.68ID:2IasxSCw0 >>160
おぅ、、、orz
おぅ、、、orz
162デフォルトの名無しさん (ワッチョイ 2603-6THS)
2023/08/01(火) 22:10:07.65ID:FfTXTju00 しばらくスレに来なかったらスレタイの言語知らんのばっかになっててわろた
163デフォルトの名無しさん (ワッチョイ d3e6-6THS)
2023/08/01(火) 22:28:49.01ID:ZDoiR0FV0 Nim 2.0が出たっぽい
しかしぜんぜん話題になってないな…
しかしぜんぜん話題になってないな…
164デフォルトの名無しさん (ワッチョイ becf-TJCF)
2023/08/01(火) 22:52:38.66ID:IyAK+cNZ0 そもそも、nimを宣伝しているようなblog記事以外で見かけたことがないしな。
165デフォルトの名無しさん (ワッチョイ 0b61-TR8s)
2023/08/02(水) 01:14:41.81ID:4aCNkU8+0 Nimを使っている組織一覧:
https://github.com/nim-lang/Nim/wiki/Organizations-using-Nim
https://github.com/nim-lang/Nim/wiki/Organizations-using-Nim
166デフォルトの名無しさん (ワッチョイ 2301-0TAO)
2023/08/02(水) 06:48:11.72ID:eH9ezqro0 >>165
RustよりもNimは実用的っぽいな
RustよりもNimは実用的っぽいな
167デフォルトの名無しさん (アウアウウー Sa1f-IPSQ)
2023/08/02(水) 09:34:06.72ID:4pI1Wfnva nim良いよね
168デフォルトの名無しさん (ワッチョイ becf-TJCF)
2023/08/02(水) 21:45:09.21ID:9rX+LYDX0 本当、nimの話題って「nimは良い」しかないよな。
169デフォルトの名無しさん (ワッチョイ 2301-0TAO)
2023/08/02(水) 22:26:10.11ID:eH9ezqro0 nim以外ほとんど何か創ってないからな
170デフォルトの名無しさん (ワッチョイ 6a4b-WXhB)
2023/08/03(木) 11:22:28.95ID:MLrVFD850 Nim 2.0がリリースされました。
https://nim-lang.org/blog/2023/08/01/nim-v20-released.html
https://nim-lang.org/blog/2023/08/01/nim-v20-released.html
171デフォルトの名無しさん (ワッチョイ 115f-Ck4D)
2023/08/25(金) 08:02:23.50ID:fA2wbq8J0 JavaScriptランタイム「Bun」がバージョン1.0に到達へ、9月7日にローンチイベント開催
https://www.publickey1.jp/blog/23/javascriptbun1097.html
主な開発言語としてZigを採用し、メモリ管理などを含む低レイヤでの実装を実現することで、Node.jsやDenoよりも高速な動作を実現していると説明しています。
https://www.publickey1.jp/blog/23/javascriptbun1097.html
主な開発言語としてZigを採用し、メモリ管理などを含む低レイヤでの実装を実現することで、Node.jsやDenoよりも高速な動作を実現していると説明しています。
172デフォルトの名無しさん (ワッチョイ 9302-q59E)
2023/08/25(金) 11:01:59.13ID:ssb8Cd/m0 >>171
v1.0の目玉だったWindowsネイティブサポートは結局実現できないままでリリース押し切ることにしたのか
v1.0の目玉だったWindowsネイティブサポートは結局実現できないままでリリース押し切ることにしたのか
173デフォルトの名無しさん (ワッチョイ 7101-YAjS)
2023/08/25(金) 12:13:30.13ID:8Q06WpC+0174デフォルトの名無しさん (ワッチョイ b302-5XGt)
2023/09/02(土) 16:19:08.80ID:yAII5uv80 それベンチによってはNodeが勝ってたりDenoが勝ってたりするから当てにならん
175デフォルトの名無しさん (ワッチョイ ff7c-AIuG)
2023/09/02(土) 16:39:16.86ID:aKZIxXWD0 >>171
元言語のzigはいつ1.0になるんですかねぇ
元言語のzigはいつ1.0になるんですかねぇ
176デフォルトの名無しさん (ワッチョイ 4301-yzHn)
2023/09/02(土) 18:20:03.74ID:8yObFq2T0 >>174
どのベンチ?w
どのベンチ?w
177デフォルトの名無しさん (スフッ Sd1f-ETx6)
2023/09/07(木) 10:00:28.15ID:K6fFrmXfd 雨の日にうっかりベンチに座るとパンツがビショビショ濡れ濡れ
178デフォルトの名無しさん (ワッチョイ 3b5f-rlb/)
2023/09/12(火) 20:59:08.32ID:/qNKcCZu0 >>131 続報
Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に
https://www.publickey1.jp/blog/23/pythonmojo.html
Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に
https://www.publickey1.jp/blog/23/pythonmojo.html
179デフォルトの名無しさん (ワッチョイ 3f7c-/qTM)
2023/09/21(木) 00:39:19.15ID:hd16Ksmk0 Zigに頑張ってほしい
180デフォルトの名無しさん (ワッチョイ 7f29-sMWx)
2023/09/22(金) 01:57:24.98ID:e0xvgrYz0 Zigはかなり期待してるので頑張って欲しいな
長いこと指摘されてるissueのclose速度が1日平均5件なのに増加速度は1日平均10件で
ずっと次のリリースにたどり着けないよ問題を結局どう解決する方針にしたんだろう
長いこと指摘されてるissueのclose速度が1日平均5件なのに増加速度は1日平均10件で
ずっと次のリリースにたどり着けないよ問題を結局どう解決する方針にしたんだろう
181デフォルトの名無しさん (スッップ Sd5f-/qTM)
2023/09/22(金) 12:28:56.47ID:FCvezg2jd >>180
こんなんでBunはよく1.0にしたな。
こんなんでBunはよく1.0にしたな。
182デフォルトの名無しさん (ワッチョイ 8501-8Mb1)
2023/10/04(水) 15:32:29.96ID:N8iC4Qef0 https://harelang.org/
(海外の)FOSS、ミニマリスト、アンチRust界隈で流行ってる言語 Hare
C言語プログラマのために作られたとのこと
メモリ管理は自前だがいろいろ安全対策がされてるっぽい
Windows, Macは対応しないと宣言
(海外の)FOSS、ミニマリスト、アンチRust界隈で流行ってる言語 Hare
C言語プログラマのために作られたとのこと
メモリ管理は自前だがいろいろ安全対策がされてるっぽい
Windows, Macは対応しないと宣言
183デフォルトの名無しさん (ワッチョイ a37c-X5bY)
2023/10/04(水) 16:37:22.64ID:2V79m8iF0 Cの代替言語オーディン
https://odin-lang.org/
https://odin-lang.org/
184デフォルトの名無しさん (ワッチョイ a37c-X5bY)
2023/10/04(水) 16:42:29.89ID:2V79m8iF0185デフォルトの名無しさん (アウアウウー Sa89-5C2y)
2023/10/05(木) 17:09:32.57ID:WXXGTjkDa Are
186デフォルトの名無しさん (ワッチョイ 937c-cQ99)
2023/10/30(月) 01:15:43.08ID:SHIqNVOV0 ちょっとOdin触ってみた。
Zigより気に入った。
最適化がまだC/C++より弱いからエッジケースではC/C++,Rustにはパフォーマンスかなわないようがた、ぶっちゃけRustよりOdinのほうが書きやすい。
Zigより気に入った。
最適化がまだC/C++より弱いからエッジケースではC/C++,Rustにはパフォーマンスかなわないようがた、ぶっちゃけRustよりOdinのほうが書きやすい。
187デフォルトの名無しさん (ワッチョイ b137-eepm)
2023/11/02(木) 09:20:24.55ID:+8WanLaR0 WebAssemblyのガベージコレクションが正式機能に、最新版のChrome 119で。Firefoxも今月リリースのFirefox 120で正式機能になる見通し
https://www.publickey1.jp/blog/23/webassemblychrome_119firefoxfirefox_120.html
https://www.publickey1.jp/blog/23/webassemblychrome_119firefoxfirefox_120.html
188デフォルトの名無しさん (ワッチョイ 22f1-rrr/)
2023/11/21(火) 03:00:21.16ID:60zWiP9n0 zigのcompiletはCのatoi、atofみたいなのを1関数にまとめれるということ?
189デフォルトの名無しさん (ワッチョイ 22f1-rrr/)
2023/11/21(火) 03:09:25.53ID:60zWiP9n0 wasmはどうせgcを採用するんだろうなと思ってたがやっぱりか
jdkと変わらん
jdkと変わらん
190デフォルトの名無しさん (ワッチョイ 22f1-rrr/)
2023/11/21(火) 03:12:08.32ID:60zWiP9n0 wasmは初期の頃jdkと何が違うの?と言われてた
jdkはバグが多いからとか説明してたが、実際そうでもない
なぜかその界隈の人達が漠然とjavaを嫌ってるだけだな
jdkはバグが多いからとか説明してたが、実際そうでもない
なぜかその界隈の人達が漠然とjavaを嫌ってるだけだな
191188 (ワッチョイ 22f1-rrr/)
2023/11/21(火) 04:46:48.83ID:60zWiP9n0 compiletじゃなくてcomptimeだった
192デフォルトの名無しさん (ワッチョイ 22f1-rrr/)
2023/11/21(火) 05:27:43.98ID: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なんでしょ?謎すぎ
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なんでしょ?謎すぎ
193デフォルトの名無しさん (ワッチョイ 22f1-rrr/)
2023/11/21(火) 05:34:22.13ID:60zWiP9n0 List()の型は匿名のstructだな
でもじゃあこれはなに?っていう
fn List(comptime T: type) type
引数に入力されたtypeの型が返値の型じゃないの?
でもじゃあこれはなに?っていう
fn List(comptime T: type) type
引数に入力されたtypeの型が返値の型じゃないの?
194デフォルトの名無しさん (ワッチョイ cd26-1See)
2023/11/21(火) 10:29:25.70ID:Z3uiTyFT0195デフォルトの名無しさん (ワッチョイ 22f1-rrr/)
2023/11/21(火) 11:43:47.98ID:60zWiP9n0 ありがとう分かった。
typeはzig標準型全体を指すものということか。
任意の標準型を受け取って、任意の標準型を返す総称型関数ということね。
ダックタイピングも分かった。
宣言じゃなくコードの内容から推論してコンパイルエラー出してくということね。
typeはzig標準型全体を指すものということか。
任意の標準型を受け取って、任意の標準型を返す総称型関数ということね。
ダックタイピングも分かった。
宣言じゃなくコードの内容から推論してコンパイルエラー出してくということね。
196デフォルトの名無しさん (ワッチョイ 226b-rrr/)
2023/11/21(火) 14:41:07.08ID:60zWiP9n0 チュートリアル読んでるけどzig良い。
Cの代替としては最有力かな?
世の中はメモリ安全のためにRust推奨なんだろうけど。
本当はそっちに進んじゃいけない、と思ってる。
Cの代替としては最有力かな?
世の中はメモリ安全のためにRust推奨なんだろうけど。
本当はそっちに進んじゃいけない、と思ってる。
197デフォルトの名無しさん (ワッチョイ aedc-f5/H)
2023/11/21(火) 21:16:37.31ID:NcXE8D4H0 Zigのマイルストーン見ると先送りしてきたv0.11.1のバグ180件以上残ったままv0.12.0側のissueばっかり片付けてるな
これはついにマイナーバージョンアップ近づいて来たのかな
これはついにマイナーバージョンアップ近づいて来たのかな
198デフォルトの名無しさん (ワッチョイ 22f8-rrr/)
2023/11/22(水) 01:53:36.06ID:bjqLP0h40 linux kernelがrustのサポートを確定したという記事を読んだ。
だったらrustなのかなあ。googleもandroidをrustで書くらしい。
rustなのか。
だったらrustなのかなあ。googleもandroidをrustで書くらしい。
rustなのか。
199デフォルトの名無しさん (ワッチョイ 22f8-rrr/)
2023/11/22(水) 03:30:03.94ID:bjqLP0h40 俺はzigやってこう・・・。
200デフォルトの名無しさん (ワッチョイ 22f8-rrr/)
2023/11/22(水) 07:56:27.67ID:bjqLP0h40 いや、やっぱりrustかなあ。
将来のベアメタルプログラマーは抽象的な言語概念から逃げられないね。
そうなると、初学者はむしろマネージド言語から入るのかな。
将来のベアメタルプログラマーは抽象的な言語概念から逃げられないね。
そうなると、初学者はむしろマネージド言語から入るのかな。
201デフォルトの名無しさん (ブーイモ MM66-OZuz)
2023/11/22(水) 12:13:14.04ID:Xn3ar1UbM Cの後継としてZigは結構ありだと思うけど、
Cが残ってる分野ってISO標準とか組み込みベンダーサポートとかが必須な分野が多くて
Zigがそこまでたどり着くには10年とかかかりそうだよな…
Cが残ってる分野ってISO標準とか組み込みベンダーサポートとかが必須な分野が多くて
Zigがそこまでたどり着くには10年とかかかりそうだよな…
202デフォルトの名無しさん (スプッッ Sd82-ts/j)
2023/11/22(水) 12:17:19.10ID:o4kbjPDBd Odinはいかが?
203デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/23(木) 09:55:21.62ID:mHKDjshta >>196
わかります
わかります
204デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/23(木) 09:55:57.11ID:mHKDjshta >>201
10年待てない人はNimで
10年待てない人はNimで
205デフォルトの名無しさん (ワッチョイ 226d-rrr/)
2023/11/23(木) 10:39:32.37ID:h/UsGTLS0 nimは概要を読む限り全然いいと思えない。
C++をさらに悪化させたような言語じゃないの?
C++をさらに悪化させたような言語じゃないの?
206デフォルトの名無しさん (ワッチョイ 226d-rrr/)
2023/11/23(木) 10:41:14.18ID:h/UsGTLS0 nim使うならC++で良いはずだよ。既に多用されてて信頼性あるし。
207デフォルトの名無しさん (ワッチョイ 226d-rrr/)
2023/11/23(木) 10:53:59.84ID:h/UsGTLS0 odinのアイデアはほぼzigと同じじゃないか?
zigの方が先に出てきて、その直後にodinが出てきたようだ
メモリ安全と言われているようだが全くそうではないというレビューも見かけた。
後出し追いかけ言語で政治力とエンジニアリングのパワーで優っているのがodinということじゃないか?
Cの代替がzigのようなものであるべきという着眼点を最初にもたらしたのはzigじゃないだろうか
他にそういう方向性の言語がzigより先にあったのだろうか
zigの方が先に出てきて、その直後にodinが出てきたようだ
メモリ安全と言われているようだが全くそうではないというレビューも見かけた。
後出し追いかけ言語で政治力とエンジニアリングのパワーで優っているのがodinということじゃないか?
Cの代替がzigのようなものであるべきという着眼点を最初にもたらしたのはzigじゃないだろうか
他にそういう方向性の言語がzigより先にあったのだろうか
208デフォルトの名無しさん (ワッチョイ 226d-rrr/)
2023/11/23(木) 11:21:12.37ID:h/UsGTLS0 zigのwikipedia読んでたらCからの変更点という観点でzigが説明されてる。
Cを出発点としていくつかの改善点を加えた言語というのが重要なんだ。
その中でもメモリ安全とcomptimeによる類似関数をひとまとめにするというアイデアが重要と思う。
Cを出発点としていくつかの改善点を加えた言語というのが重要なんだ。
その中でもメモリ安全とcomptimeによる類似関数をひとまとめにするというアイデアが重要と思う。
209デフォルトの名無しさん (ワッチョイ 226d-rrr/)
2023/11/23(木) 12:21:13.00ID:h/UsGTLS0 fn () err!val
みたいな共用体を返す構文はCのerrnoとかC#のoutとかの代用になるのかな
共用体はenumと連携させてswitchで使えるようだから中身に応じて処理を分けれる
実際使ってみないと分からんが、まあ学習は順調に進むし良い印象がある
みたいな共用体を返す構文はCのerrnoとかC#のoutとかの代用になるのかな
共用体はenumと連携させてswitchで使えるようだから中身に応じて処理を分けれる
実際使ってみないと分からんが、まあ学習は順調に進むし良い印象がある
210デフォルトの名無しさん (ワッチョイ 6e83-aicd)
2023/11/23(木) 12:50:09.22ID:45eqFX8V0211デフォルトの名無しさん (ワッチョイ aeb4-OZuz)
2023/11/23(木) 13:59:38.28ID:/UTIXb+w0 NimはまぁPythonっぽい構文が好きな人にはいいかもねって感じなだけで
わざわざ他言語から乗り換えるような特徴がないんだよね
わざわざ他言語から乗り換えるような特徴がないんだよね
212デフォルトの名無しさん (ワッチョイ 225b-rrr/)
2023/11/23(木) 14:59:02.66ID:h/UsGTLS0 NimはJavaとかC#みたいなクロスプラットフォーム性があるわけではないし
Cが使われているような領域で使えるものでもない
だからそういった領域では論外
C++と競合するが、置き換えれるほどの何かがない
恐らくC++から置き換えるならRustになる
という認識。Nimの言語仕様がJavaやCと比較して優れてる!とか言ってみても仕方ない。
競争相手になり得ない。
C++かRustと比較して総合的に優れてると言えたら重要なものになるだろうけど。
Cが使われているような領域で使えるものでもない
だからそういった領域では論外
C++と競合するが、置き換えれるほどの何かがない
恐らくC++から置き換えるならRustになる
という認識。Nimの言語仕様がJavaやCと比較して優れてる!とか言ってみても仕方ない。
競争相手になり得ない。
C++かRustと比較して総合的に優れてると言えたら重要なものになるだろうけど。
213デフォルトの名無しさん (ワッチョイ 225b-rrr/)
2023/11/23(木) 15:03:11.78ID:h/UsGTLS0 nimはgcありとなしモードあるけどライブラリちゃんと動くの?
gcありじゃないとほとんどのライブラリが動かないということになるなら、
C++にもRustにも到底比較対象にならない
どの領域に入るつもりなんだという印象
gcありじゃないとほとんどのライブラリが動かないということになるなら、
C++にもRustにも到底比較対象にならない
どの領域に入るつもりなんだという印象
214デフォルトの名無しさん (ワッチョイ 225b-rrr/)
2023/11/23(木) 15:16:17.32ID:h/UsGTLS0 要するに、総合的に優れてるように思えても「あらゆる領域でちょっと負ける言語」は使われない。
戦略は?ということ。
C#やjavaと比較→ネイティブコード作れる!エレガントな文法!→java使ってる人達には全くどうでもいいです
Cと比較→たくさんの抽象的な言語概念!大規模開発に強い!→C使ってる人達には全くどうでもいいです
C++やRustと比較→GCがあって簡単にコーディングできるぞ!→彼らにはGCは不要あるいは邪魔です
戦略は?ということ。
C#やjavaと比較→ネイティブコード作れる!エレガントな文法!→java使ってる人達には全くどうでもいいです
Cと比較→たくさんの抽象的な言語概念!大規模開発に強い!→C使ってる人達には全くどうでもいいです
C++やRustと比較→GCがあって簡単にコーディングできるぞ!→彼らにはGCは不要あるいは邪魔です
215デフォルトの名無しさん (ワッチョイ ae6b-f5/H)
2023/11/23(木) 15:46:50.74ID:o2OM8ETk0 NimのライバルはZigじゃなくてV言語だと思う
ベターCっぽいけどCの置き換えできないしC++にも届かないって立ち位置の点でね
(文法もC系ではなくPython系って側面も込み)
ベターCっぽいけどCの置き換えできないしC++にも届かないって立ち位置の点でね
(文法もC系ではなくPython系って側面も込み)
216デフォルトの名無しさん (ワッチョイ 427c-ts/j)
2023/11/23(木) 18:39:43.19ID:AGqDCJM/0 >>207
>odinのアイデアはほぼzigと同じじゃないか?
違うな。
zigはcをそのまま取り込む感じだが、odinはあくまでもodin。
cとの連携もzigみたいにそのままでは無い。
>メモリ安全と言われているようだが全くそうではないというレビューも見かけた。
odinはメモリ安全なんかじゃ全くないぞ。別なもの見てないか?
>後出し追いかけ言語で政治力とエンジニアリングのパワーで優っているのがodinということじゃないか?
政治力っていったいなんのことよ。
イチャモン着けたいだけか?
>Cの代替がzigのようなものであるべきと
「zigのようなものであるべき」って言ったらzigしかないじゃん。
言ってることがメチャクチャ。
>odinのアイデアはほぼzigと同じじゃないか?
違うな。
zigはcをそのまま取り込む感じだが、odinはあくまでもodin。
cとの連携もzigみたいにそのままでは無い。
>メモリ安全と言われているようだが全くそうではないというレビューも見かけた。
odinはメモリ安全なんかじゃ全くないぞ。別なもの見てないか?
>後出し追いかけ言語で政治力とエンジニアリングのパワーで優っているのがodinということじゃないか?
政治力っていったいなんのことよ。
イチャモン着けたいだけか?
>Cの代替がzigのようなものであるべきと
「zigのようなものであるべき」って言ったらzigしかないじゃん。
言ってることがメチャクチャ。
217デフォルトの名無しさん (ワッチョイ 427c-ts/j)
2023/11/23(木) 18:51:14.02ID:AGqDCJM/0 >>212
>NimはJavaとかC#みたいなクロスプラットフォーム性があるわけではないし
JavaとかC#はマルチプラットフォームという。
マルチプラットフォームとクロスプラットフォームの違いは自分で調べてね。
>C++と競合するが、置き換えれるほどの何かがない
GCあるから置き換えは無理だね。
使わないようにも出きるし、その方向に向かってるけど既にあるライブラリがGC前提だったりするし。
nimはトランスレーター系で、出力がcだったりjavascriptへだったりして、そこでリソース消費しちゃってる感あるのがな。
かつてhaxeという言語があったが結局流行らなかった。
>NimはJavaとかC#みたいなクロスプラットフォーム性があるわけではないし
JavaとかC#はマルチプラットフォームという。
マルチプラットフォームとクロスプラットフォームの違いは自分で調べてね。
>C++と競合するが、置き換えれるほどの何かがない
GCあるから置き換えは無理だね。
使わないようにも出きるし、その方向に向かってるけど既にあるライブラリがGC前提だったりするし。
nimはトランスレーター系で、出力がcだったりjavascriptへだったりして、そこでリソース消費しちゃってる感あるのがな。
かつてhaxeという言語があったが結局流行らなかった。
218デフォルトの名無しさん (ワッチョイ 427c-ts/j)
2023/11/23(木) 18:53:19.90ID:AGqDCJM/0 >>208
zigはメモリ安全なんかじゃねーぞ
zigはメモリ安全なんかじゃねーぞ
219デフォルトの名無しさん (ワッチョイ 427c-ts/j)
2023/11/23(木) 18:54:51.91ID:AGqDCJM/0 odinについて知りたかったらhacker newsを見てくれ。
220デフォルトの名無しさん (ワッチョイ a111-1See)
2023/11/23(木) 19:18:19.30ID:HQ3SaqO80 >>209
Error Union はペイロードを持てないので、erronoと同じと見て差し支えない。
ニュアンスとしてはgo言語のエラーと値を返すスタイルが近いかな。
go言語と違って、エラーがなければ値が保証される(毎度のエラーチェック不要)のと、エラーハンドリング不要ならtryで呼び出し元に押しつけられる楽さはある。
C#のTry〜メソッドのout引数を戻り値で扱えるが、zigはポインタ渡しもできるのでさらに強力。
Error Union はペイロードを持てないので、erronoと同じと見て差し支えない。
ニュアンスとしてはgo言語のエラーと値を返すスタイルが近いかな。
go言語と違って、エラーがなければ値が保証される(毎度のエラーチェック不要)のと、エラーハンドリング不要ならtryで呼び出し元に押しつけられる楽さはある。
C#のTry〜メソッドのout引数を戻り値で扱えるが、zigはポインタ渡しもできるのでさらに強力。
221デフォルトの名無しさん (ワッチョイ a111-1See)
2023/11/23(木) 19:25:49.77ID:HQ3SaqO80 >>218
deferの使用を癖づけしておけば、おおむね安全だから・・・。
動的確保したu8のスライスを別の変数にも持たせ、
元の変数の破棄によるダングリングポインタで自分の足を撃ち抜くくらいかな?
よく事故るところは。
deferの使用を癖づけしておけば、おおむね安全だから・・・。
動的確保したu8のスライスを別の変数にも持たせ、
元の変数の破棄によるダングリングポインタで自分の足を撃ち抜くくらいかな?
よく事故るところは。
222デフォルトの名無しさん (ワッチョイ a111-1See)
2023/11/23(木) 19:28:51.80ID:HQ3SaqO80 >>217
haxeは構文マクロ書きやすくて好きなだけに悲しい
haxeは構文マクロ書きやすくて好きなだけに悲しい
223デフォルトの名無しさん (ワッチョイ 427c-ts/j)
2023/11/23(木) 21:24:37.29ID:AGqDCJM/0224デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/23(木) 22:52:57.39ID:38VIgpCLa >>212
おまえなんも判ってないな
>Cが使われているような領域で使えるものでもない
使えるだろ
>C++と競合するが、置き換えれるほどの何かがない
NimはC++とは競合しないC++と共存する
>恐らくC++から置き換えるならRustになる
RustにCの置き換えはあっても
RustがC++を置き換えることは無いわ
おまえなんも判ってないな
>Cが使われているような領域で使えるものでもない
使えるだろ
>C++と競合するが、置き換えれるほどの何かがない
NimはC++とは競合しないC++と共存する
>恐らくC++から置き換えるならRustになる
RustにCの置き換えはあっても
RustがC++を置き換えることは無いわ
225デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/23(木) 22:57:33.95ID:38VIgpCLa226デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/23(木) 22:58:53.23ID:38VIgpCLa >>214
君は表面的なところしか観れないhusianasann
君は表面的なところしか観れないhusianasann
227デフォルトの名無しさん (ワッチョイ 6e83-aicd)
2023/11/23(木) 23:16:34.09ID: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マクロのようなものを作ることは無理じゃない?
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マクロのようなものを作ることは無理じゃない?
228デフォルトの名無しさん (ワッチョイ 6ecf-ekUX)
2023/11/24(金) 00:02:43.09ID:cA/HuquY0229デフォルトの名無しさん (ワッチョイ 22fa-rrr/)
2023/11/24(金) 00:24:17.65ID:Wcn967L80 >>218
rustほどではないけどcと比較すればかなりメモリ安全な言語
rustほどではないけどcと比較すればかなりメモリ安全な言語
230デフォルトの名無しさん (ワッチョイ 427c-ts/j)
2023/11/24(金) 00:45:17.10ID:6OrpRj0R0231デフォルトの名無しさん (ワッチョイ 22fa-rrr/)
2023/11/24(金) 00:56:07.29ID:Wcn967L80 C++もGCありの開発可能だからnimはC++と近いのでは?
主にC++が使われてるのはミドルウェア、webブラウザ、ゲームとかだけど
いずれもGCが動かない環境ではない
主にC++が使われてるのはミドルウェア、webブラウザ、ゲームとかだけど
いずれもGCが動かない環境ではない
232デフォルトの名無しさん (ワッチョイ 22fa-rrr/)
2023/11/24(金) 01:04:25.73ID:Wcn967L80 nimがcと競合すると考えるなら、
nimがカーネルやデバドラで使われると思うのか
nimがカーネルやデバドラで使われると思うのか
233デフォルトの名無しさん (ワッチョイ e97e-OZuz)
2023/11/24(金) 08:28:38.02ID:ksIXeJJJ0 >>228
熱心に布教するユーザが目に付くというのがまさにとりたてて特徴がないということの証明になっているかもね
他言語だと多少気にいらなくても〇〇のために使っている、となるがNimはその思想に完全にマッチした人しか残っていないという
熱心に布教するユーザが目に付くというのがまさにとりたてて特徴がないということの証明になっているかもね
他言語だと多少気にいらなくても〇〇のために使っている、となるがNimはその思想に完全にマッチした人しか残っていないという
234デフォルトの名無しさん (ワッチョイ 6e83-aicd)
2023/11/24(金) 13:19:56.18ID:+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と言語仕様がどんどん複雑になっているから完全に対応は難しいかもしれんが。
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と言語仕様がどんどん複雑になっているから完全に対応は難しいかもしれんが。
235デフォルトの名無しさん (ワッチョイ 075f-fzX6)
2023/11/27(月) 09:37:28.94ID:BB7NmH0K0 >>234
Rustのいいところはコンパイルが通らないから誰が書いてもある程度同じようなコードが出来上がることだと思う
とても極端な話すればレビューもいらない
めちゃくちゃチーム開発に向いてる
Nimは既存の資産を活かせるかつ自由度が高いから小、中規模向けなのかな
Rustのいいところはコンパイルが通らないから誰が書いてもある程度同じようなコードが出来上がることだと思う
とても極端な話すればレビューもいらない
めちゃくちゃチーム開発に向いてる
Nimは既存の資産を活かせるかつ自由度が高いから小、中規模向けなのかな
236デフォルトの名無しさん (ワッチョイ a737-psIa)
2023/11/27(月) 12:16:24.67ID:0LRMXswf0 >>235
> 誰が書いてもある程度同じようなコードが出来上がる
これは幻想がひどい気がする。コンパイル通らない時にどう解決するか結構個性が出ると思う。
無限に unsafe 指摘されて切れたwebフレームワークのメンテナ居なかったか?
> 誰が書いてもある程度同じようなコードが出来上がる
これは幻想がひどい気がする。コンパイル通らない時にどう解決するか結構個性が出ると思う。
無限に unsafe 指摘されて切れたwebフレームワークのメンテナ居なかったか?
レスを投稿する
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★3 [♪♪♪★]
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★8 [♪♪♪★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 [ぐれ★]
- 【芸能】44歳・池脇千鶴、激変ぶりにネット衝撃 「まるで別人…」「変化が凄い!!」の声 [冬月記者★]
- 【立憲民主党】「質問レベルの低さが立憲の存立危機事態」台湾有事発言を引き出した立憲“執拗追及”が波紋… ★2 [尺アジ★]
- 竹中平蔵氏、万博は大成功だったと持論 批判していた人々にチクリ「反省の弁の一つも聞きたい」 [バイト歴50年★]
- 上司の自転車のサドル毎日少しずつこっそり高くしたったwwww
- 奇 跡 は 起 こ る よ 何 度 で も
- 日本総理♀「うふ~ん♡外交でマウント取るための服を買わなくちゃ~ん♡」←10万いいね
- 🏡😡
- 【画像】葉隠透とか言うヒロアカで一番可愛い女の子wwwww
- サンセット大通りって映画みてる
