スレタイ以外の言語もok
前スレ
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1638086359/
探検
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/03/22(火) 03:23:41.60ID:ZDHdo9X7164デフォルトの名無しさん
2022/03/25(金) 09:51:57.04ID:Wd4k06Lv >>163
これだけ幅広く使われているRustに対してそんなに見方変わる?
これだけ幅広く使われているRustに対してそんなに見方変わる?
165デフォルトの名無しさん
2022/03/25(金) 10:35:10.27ID:yQTGjdBz じゃあ次すれのタイトルはこれでいいなw
次世代言語25 Go Rust
次世代言語25 Go Rust
166デフォルトの名無しさん
2022/03/25(金) 10:42:45.45ID:ON48JF13 採用領域とはなんだ?
要するに採用された物以外を規制してるんだろ
Rustが参照を規制しているのと同じようなことを
機械ではなく人間が手動でやってる
要するに採用された物以外を規制してるんだろ
Rustが参照を規制しているのと同じようなことを
機械ではなく人間が手動でやってる
167デフォルトの名無しさん
2022/03/25(金) 10:51:27.96ID:9ogzvJw1 >>166
参照を規制してプログラミングするのはどの言語でも同じ
そうしなければ一番広い意味でのデータ競合がどの言語でも起きうる
Rustはそれをどんなに複雑なパターンでもコンパイラがチェックしてくれるという違い
参照を規制してプログラミングするのはどの言語でも同じ
そうしなければ一番広い意味でのデータ競合がどの言語でも起きうる
Rustはそれをどんなに複雑なパターンでもコンパイラがチェックしてくれるという違い
168デフォルトの名無しさん
2022/03/25(金) 11:08:02.15ID:4czHOVAh Rustが有力になる領域はOSみたいなミドルウェアやベアメタルとかの低レベルなシステムプログラミングよ
その辺だとそもそもC/C++/Rustしか選択肢にないけど
その辺だとそもそもC/C++/Rustしか選択肢にないけど
169デフォルトの名無しさん
2022/03/25(金) 11:10:17.42ID:k+N4+RC0 >>168
NimってCにトランスパイルされるらしいけど低レベル領域で使えたりしないの?
NimってCにトランスパイルされるらしいけど低レベル領域で使えたりしないの?
170デフォルトの名無しさん
2022/03/25(金) 11:14:36.50ID:eoZx8ezX Rustを試したことなくてイメージだけで語ってるやつは
ボローチェッカさんの存在を身に染みてないんやろなw
他の言語だとコンパイラさんに叩かれるだけだけど
Rustの場合はボローチェッカさんにも詰められるんやぞ
ボローチェッカさんの存在を身に染みてないんやろなw
他の言語だとコンパイラさんに叩かれるだけだけど
Rustの場合はボローチェッカさんにも詰められるんやぞ
171デフォルトの名無しさん
2022/03/25(金) 11:21:56.33ID:QvA9KxTG172デフォルトの名無しさん
2022/03/25(金) 11:52:02.01ID:mOGsJD9H >>169
低レベルを扱いやすくする概念の有無だろ?
低レベルを扱いやすくする概念の有無だろ?
173デフォルトの名無しさん
2022/03/25(金) 11:55:17.22ID:mOGsJD9H174デフォルトの名無しさん
2022/03/25(金) 11:58:21.38ID:k+N4+RC0175デフォルトの名無しさん
2022/03/25(金) 12:12:09.59ID:whQHGuOj NimはDと同じようなイメージだな
C++からいろいろ便利にしましたって感じなんだけど、それを言うならC++20だって良くなってるし、わざわざ乗り換えるほどでもないよね、ってなりがち
Rustくらいの特徴が何があれば、多少面倒でも乗り換える人は出てくるんだろうけど
C++からいろいろ便利にしましたって感じなんだけど、それを言うならC++20だって良くなってるし、わざわざ乗り換えるほどでもないよね、ってなりがち
Rustくらいの特徴が何があれば、多少面倒でも乗り換える人は出てくるんだろうけど
176デフォルトの名無しさん
2022/03/25(金) 12:12:46.01ID:vqaIaLyp >>174
以前のRustコンパイラはたしかに厳しすぎて吐くエラーも見にくかったけど
non lexical lifetime対応した今のRustコンパイラは普通に書いていれば困ることはなく
コンパイラの出すエラーも非常に見やすくて何が問題なのかすぐわかる上に
何を直すと良いかのアドバイスもあったりしてコンパイラ親切さトップ言語になったね
以前のRustコンパイラはたしかに厳しすぎて吐くエラーも見にくかったけど
non lexical lifetime対応した今のRustコンパイラは普通に書いていれば困ることはなく
コンパイラの出すエラーも非常に見やすくて何が問題なのかすぐわかる上に
何を直すと良いかのアドバイスもあったりしてコンパイラ親切さトップ言語になったね
177デフォルトの名無しさん
2022/03/25(金) 12:28:24.72ID:XAr12dgF178デフォルトの名無しさん
2022/03/25(金) 12:29:22.46ID:Sf6AbPmi Rustとかどうでもいいよねw 興味もないしそのうち消えてなくなるよw
179デフォルトの名無しさん
2022/03/25(金) 12:33:45.17ID:XkeiXeqJ180デフォルトの名無しさん
2022/03/25(金) 13:20:25.76ID:yp7Tyx5s Rustより良い言語が出て自然と消えるのは良いことだろ
ただ、今のところはRustは良い言語だし使いたいと思う
ただ、今のところはRustは良い言語だし使いたいと思う
181デフォルトの名無しさん
2022/03/25(金) 14:31:56.50ID:+bBvNTMI Rust は、Linux カーネルの開発の一部で取り入れるよ、っていう話で初めて注目した。
182デフォルトの名無しさん
2022/03/25(金) 14:32:33.84ID:2aIwxdP0 >>176
おかげでよりブラックボックス化したけどな。まともな文法定義がもうできなくなってる。
おかげでよりブラックボックス化したけどな。まともな文法定義がもうできなくなってる。
183デフォルトの名無しさん
2022/03/25(金) 15:05:30.24ID:vFivvmZ5 >>182
例えばどういう問題が発生してるの?
例えばどういう問題が発生してるの?
184デフォルトの名無しさん
2022/03/25(金) 15:22:50.24ID:k+N4+RC0 >>182
NLL導入で文法には影響ないと思うけど何のことが言いたいの?
NLL導入で文法には影響ないと思うけど何のことが言いたいの?
185デフォルトの名無しさん
2022/03/25(金) 16:28:19.83ID:yp7Tyx5s >>184
セマンティクスのことを言いたいんじゃないか?
セマンティクスのことを言いたいんじゃないか?
186デフォルトの名無しさん
2022/03/25(金) 16:42:28.63ID:xgDHHux/ 具体例を上げてないしレス乞食じゃないの?
187デフォルトの名無しさん
2022/03/25(金) 16:50:09.59ID:k+N4+RC0 >>185
文法定義を気にする人がそんな変な用語の使い方するはずないと思う
文法定義を気にする人がそんな変な用語の使い方するはずないと思う
188デフォルトの名無しさん
2022/03/25(金) 18:08:36.16ID:/LCeqdiL189デフォルトの名無しさん
2022/03/25(金) 19:28:43.78ID:szsym4Ce190デフォルトの名無しさん
2022/03/25(金) 19:46:16.71ID:xP1gtcBq そろそろ次の次世代出てきませんか
191デフォルトの名無しさん
2022/03/25(金) 19:52:52.64ID:k+N4+RC0192デフォルトの名無しさん
2022/03/25(金) 19:53:32.69ID:k+N4+RC0 >>191
バグでコンパイル通ってなかった、ではなく、バグでコンパイル通ってしまっていた、が正しい
バグでコンパイル通ってなかった、ではなく、バグでコンパイル通ってしまっていた、が正しい
193デフォルトの名無しさん
2022/03/25(金) 20:22:05.99ID:RUUx2+G1 でもバクだろうと通らなくなるんだから文法変わってるという意見が正しいな、ごちゃごちゃ並べ立て言い訳してるみたいだけど
194デフォルトの名無しさん
2022/03/25(金) 20:27:31.26ID:k+N4+RC0 >>193
文法じゃないでしょ
文法じゃないでしょ
195デフォルトの名無しさん
2022/03/25(金) 20:29:27.44ID:Mjr9Vw0y 文法ってのが構文+意味論みたいなのを指してるなら
NLL導入前後で構文は変わらず意味論は変わったから、まぁ全体としては変わってるでいいんじゃない?
それはそれとして文法定義ができないってのは意味不明だけど
NLL導入前後で構文は変わらず意味論は変わったから、まぁ全体としては変わってるでいいんじゃない?
それはそれとして文法定義ができないってのは意味不明だけど
196デフォルトの名無しさん
2022/03/25(金) 20:34:34.89ID:k9SUNOiI >>193
文法は一切変わっていない
大雑把に言うと
以前はコードの文字通りに追うだけで借用ライフタイムを無駄に広く取ってチェックしていた
だから厳しすぎて今では通る普通のコードが通らなかったりした
変更以降は実際に使われている状況を追うことで借用ライフタイムを実用の意味あるものとした
だからほとんどのケースで緩くなってプログラミングする上で困ることがなくなった
文法は一切変わっていない
大雑把に言うと
以前はコードの文字通りに追うだけで借用ライフタイムを無駄に広く取ってチェックしていた
だから厳しすぎて今では通る普通のコードが通らなかったりした
変更以降は実際に使われている状況を追うことで借用ライフタイムを実用の意味あるものとした
だからほとんどのケースで緩くなってプログラミングする上で困ることがなくなった
197デフォルトの名無しさん
2022/03/25(金) 20:56:18.04ID:k+N4+RC0 >>189 で言われてるNLL導入でコンパイル通らなくなるcrateって
https://github.com/rust-lang/rust/issues/60680
で挙げられてるやつのことかな
壊れる是非はともかくcraterみたいな取り組みは他の言語もパクって欲しい
https://github.com/rust-lang/rust/issues/60680
で挙げられてるやつのことかな
壊れる是非はともかくcraterみたいな取り組みは他の言語もパクって欲しい
198デフォルトの名無しさん
2022/03/25(金) 20:58:59.81ID:tb8uqVBL199デフォルトの名無しさん
2022/03/25(金) 21:02:27.36ID:I37gdFG5 >>196
ある2つの形式言語ABで、同じ文章がAで受理してBで拒否するんだったら、そりゃ「ABは文法が違う」としか言えんな。
まぁ、だからと言って言語自体を否定する類の話じゃないけど、Rustを神聖視するあまり横車を押そうとするのはアホに見えるからやめたほうがいいよ。
ある2つの形式言語ABで、同じ文章がAで受理してBで拒否するんだったら、そりゃ「ABは文法が違う」としか言えんな。
まぁ、だからと言って言語自体を否定する類の話じゃないけど、Rustを神聖視するあまり横車を押そうとするのはアホに見えるからやめたほうがいいよ。
200デフォルトの名無しさん
2022/03/25(金) 21:14:19.83ID:I37gdFG5201デフォルトの名無しさん
2022/03/25(金) 21:17:24.39ID:LQTFL9vM >>199
その程度で文法が変わったとは言わないと思う
その解釈だと今後もRustは文法がどんどん変わる計画となっている
例えばライフタイムについても現在stableでは通らないものがnightlyでは通るように更に緩くなっていくことが確定している
一方でeditionが変われば今まで通っていた記述がエラーとなるなど通らなくなることもある
Rustは今後もどんどん使いやすく向上していくよ
その程度で文法が変わったとは言わないと思う
その解釈だと今後もRustは文法がどんどん変わる計画となっている
例えばライフタイムについても現在stableでは通らないものがnightlyでは通るように更に緩くなっていくことが確定している
一方でeditionが変われば今まで通っていた記述がエラーとなるなど通らなくなることもある
Rustは今後もどんどん使いやすく向上していくよ
202デフォルトの名無しさん
2022/03/25(金) 21:18:41.95ID:Sf6AbPmi バカだから他の言語より劣ること分かってないんだよw
203デフォルトの名無しさん
2022/03/25(金) 21:19:38.13ID:Sf6AbPmi Rustっていうゴミ言語なんてどうでもいいよねw
204デフォルトの名無しさん
2022/03/25(金) 21:23:34.44ID:0Q30DE2u Rustプログラマーは給料上がっていくだろうね
そうすると人口も増えていく
パイソンもそうだったし
そうすると人口も増えていく
パイソンもそうだったし
205デフォルトの名無しさん
2022/03/25(金) 21:23:43.31ID:YQJ39BAy206デフォルトの名無しさん
2022/03/25(金) 21:24:25.90ID:VGJQOYmV207デフォルトの名無しさん
2022/03/25(金) 21:25:38.70ID:I37gdFG5 >>201
>その解釈だと今後もRustは文法がどんどん変わる計画となっている
当たり前だろ。
お前は何を言っているんだ? 形式言語の文法を何だと考えているんだか。
そういうアホな主張をするからRust信者は狂信者扱いされるんだよ。
>その解釈だと今後もRustは文法がどんどん変わる計画となっている
当たり前だろ。
お前は何を言っているんだ? 形式言語の文法を何だと考えているんだか。
そういうアホな主張をするからRust信者は狂信者扱いされるんだよ。
208デフォルトの名無しさん
2022/03/25(金) 21:28:33.82ID:1BFpe92B209デフォルトの名無しさん
2022/03/25(金) 21:34:20.09ID:UcduMPNV210デフォルトの名無しさん
2022/03/25(金) 21:40:29.03ID:AozLNx79 >>200
craterはcrates.ioの全クレートをコンパイルしてみてコンパイラのバージョンアップで壊れるやつがいないかどうかチェックする仕組みのこと
スクリプト言語だとチェックできるのが構文エラーくらいしかないからあまり意味はないかも
craterはcrates.ioの全クレートをコンパイルしてみてコンパイラのバージョンアップで壊れるやつがいないかどうかチェックする仕組みのこと
スクリプト言語だとチェックできるのが構文エラーくらいしかないからあまり意味はないかも
211デフォルトの名無しさん
2022/03/25(金) 22:03:36.42ID:cG5UiOtS212デフォルトの名無しさん
2022/03/25(金) 22:14:57.99ID:hMpMFfsx213デフォルトの名無しさん
2022/03/25(金) 22:16:06.05ID:4czHOVAh214デフォルトの名無しさん
2022/03/25(金) 22:30:28.83ID:6wzTiGXz >>201
同じコードで通る/通らないが変わるのなら、それは普通は「文法の変更」という。
なぜなら、
Error: コード生成が出来ない
Warinig: コードは生成可能だが、普通はこんな事をする必要もないからバグだよね?
だから。ここをRustはおそらく(haskell信者が一時期言ってた)
・Rustのアプリにはバグがない。なぜなら、バグのあるコードは全てコンパイラが落とすから
をやりたいのだろう、通常は警告のところをエラーにしてる。
ただこれは一部馬鹿にとっては逆効果で、
・エラーがなければ全て良し
だと勘違いしてしまってるように見える。
(別人だが)フレームワークにドキュメントで禁止されてるコード食わせてドヤってる馬鹿とか、
>>98 もそう。今時のエディタだと文字列/正規表現リテラルは色が付くが、
エスケープを失敗するとコード全体がリテラルの色になる。いくら馬鹿でもこれを無視はしないだろ。
従う気があればエディタで『予定と違う場所に』色が付くだけで十分なんだよ。
本来は警告も無視せず、一つ一つ問題がないか確認するものだし。
その辺面倒くさがってエラーに一本化した結果、悪癖が付いてしまってる。
ただまあこれはいいとして、
Go(2009)/Docker(2013)だから、これはタイミング的にも「これで勝つる!」だったのだろう。
とはいえDockerは普通の人が組むアプリではないので他案件/構造も引き続き募集中だが、
結局Rust(2010)にはないのか?本当にメモリ安全な言語がなくて困ってる奴がいれば飛びついているはずで、
時期的には2014頃に何か出現しててもおかしくないのだが。
未だに何もないのなら、所詮は馬鹿向けC++で、ポシャる見通しの方が高いだろうよ。
同じコードで通る/通らないが変わるのなら、それは普通は「文法の変更」という。
なぜなら、
Error: コード生成が出来ない
Warinig: コードは生成可能だが、普通はこんな事をする必要もないからバグだよね?
だから。ここをRustはおそらく(haskell信者が一時期言ってた)
・Rustのアプリにはバグがない。なぜなら、バグのあるコードは全てコンパイラが落とすから
をやりたいのだろう、通常は警告のところをエラーにしてる。
ただこれは一部馬鹿にとっては逆効果で、
・エラーがなければ全て良し
だと勘違いしてしまってるように見える。
(別人だが)フレームワークにドキュメントで禁止されてるコード食わせてドヤってる馬鹿とか、
>>98 もそう。今時のエディタだと文字列/正規表現リテラルは色が付くが、
エスケープを失敗するとコード全体がリテラルの色になる。いくら馬鹿でもこれを無視はしないだろ。
従う気があればエディタで『予定と違う場所に』色が付くだけで十分なんだよ。
本来は警告も無視せず、一つ一つ問題がないか確認するものだし。
その辺面倒くさがってエラーに一本化した結果、悪癖が付いてしまってる。
ただまあこれはいいとして、
Go(2009)/Docker(2013)だから、これはタイミング的にも「これで勝つる!」だったのだろう。
とはいえDockerは普通の人が組むアプリではないので他案件/構造も引き続き募集中だが、
結局Rust(2010)にはないのか?本当にメモリ安全な言語がなくて困ってる奴がいれば飛びついているはずで、
時期的には2014頃に何か出現しててもおかしくないのだが。
未だに何もないのなら、所詮は馬鹿向けC++で、ポシャる見通しの方が高いだろうよ。
215デフォルトの名無しさん
2022/03/25(金) 22:38:33.17ID:eYNPgwi0 >>214はまたいつもの意味不明なことしか言えないキチガイだな
216デフォルトの名無しさん
2022/03/25(金) 22:39:20.33ID:SCzIX8G9 Dockerのくだり分からん
217デフォルトの名無しさん
2022/03/25(金) 22:43:28.74ID:4czHOVAh Ruby on Railsのようなキラーアプリ(ライブラリ)はRustにないのか、っていう話でしょ
そもそもRustはシステムプログラミング言語だし、そういう低レイヤーに縁がないエンジニアはこれからも使う可能性低いっしょ
そもそもRustはシステムプログラミング言語だし、そういう低レイヤーに縁がないエンジニアはこれからも使う可能性低いっしょ
218デフォルトの名無しさん
2022/03/25(金) 22:49:09.03ID:k+N4+RC0219デフォルトの名無しさん
2022/03/25(金) 22:49:43.62ID:883KHxPC >>214
君は書き込みをする前に二つの点を改善しなさい
一つ目は意味の分かる文章を書くこと
頭をゼロにして読み返してみればおかしなところに気付くはず
二つ目は批判したい対象についてもっと学習すること
妄想で話を進めるから意味不明と間違いが多い
君は書き込みをする前に二つの点を改善しなさい
一つ目は意味の分かる文章を書くこと
頭をゼロにして読み返してみればおかしなところに気付くはず
二つ目は批判したい対象についてもっと学習すること
妄想で話を進めるから意味不明と間違いが多い
220デフォルトの名無しさん
2022/03/25(金) 22:55:01.03ID:6wzTiGXz >>216
(スレ的に昔の話を混ぜ込んでわかりにくくなってたのならすまん)
90で言ったとおり、Dockerを組みたいのならGoは多分最適で、結果、
Go(2009)/Docker(2013)と順当な期間でデビューし、その界隈では広く使われるに至ってる。
Dockerのアイデアが先にあって偶々出てきたGoに飛びついたのか、
GoにインスパイアされてDockerの構造を思いついたのかは分からんが。
Rustが「他の言語では現実的に不可能な」レベルの得意分野があるのなら、
同様に、Rustが最適だ、と思えるアプリが既にあるか、開発中のはず。
俺は何度も言ってるが(C)を目指すべきだと思ってるので、(89参照)
その言語が得意とする構造等があれば、
俺が作りたいアプリにそれが含まれてたらその言語を使う、というだけ。
(言語の習得が目的ではない)
(スレ的に昔の話を混ぜ込んでわかりにくくなってたのならすまん)
90で言ったとおり、Dockerを組みたいのならGoは多分最適で、結果、
Go(2009)/Docker(2013)と順当な期間でデビューし、その界隈では広く使われるに至ってる。
Dockerのアイデアが先にあって偶々出てきたGoに飛びついたのか、
GoにインスパイアされてDockerの構造を思いついたのかは分からんが。
Rustが「他の言語では現実的に不可能な」レベルの得意分野があるのなら、
同様に、Rustが最適だ、と思えるアプリが既にあるか、開発中のはず。
俺は何度も言ってるが(C)を目指すべきだと思ってるので、(89参照)
その言語が得意とする構造等があれば、
俺が作りたいアプリにそれが含まれてたらその言語を使う、というだけ。
(言語の習得が目的ではない)
221デフォルトの名無しさん
2022/03/25(金) 23:09:22.77ID:f8iKGyO6222デフォルトの名無しさん
2022/03/25(金) 23:13:11.92ID:v9JvqvSg >>194
顔真っ赤で内容ゼロの反論してきて不覚にもワロタw
顔真っ赤で内容ゼロの反論してきて不覚にもワロタw
223デフォルトの名無しさん
2022/03/25(金) 23:17:57.63ID:sK8SIzoZ >>218
文法=構文って思ってるのは分かるけど皆がそうとは限らないよ
自分だったら構文と意味論の区別が問題になるようなこのケースで
文法なんてあいまいな用語は使わないけど
強いて言うなら構文と意味論は両方文法に含まれると思っている
文法=構文って思ってるのは分かるけど皆がそうとは限らないよ
自分だったら構文と意味論の区別が問題になるようなこのケースで
文法なんてあいまいな用語は使わないけど
強いて言うなら構文と意味論は両方文法に含まれると思っている
224デフォルトの名無しさん
2022/03/25(金) 23:20:42.33ID:Sf6AbPmi ほとんどが単発IDの自演だぞw
225デフォルトの名無しさん
2022/03/25(金) 23:20:59.36ID:UErfWwQw >>193
いわゆる普通に文法を意味するところのsyntaxは変わっていない
いわゆる普通に文法を意味するところのsyntaxは変わっていない
226デフォルトの名無しさん
2022/03/25(金) 23:25:23.45ID:k+N4+RC0227デフォルトの名無しさん
2022/03/25(金) 23:26:20.50ID:4czHOVAh >>220
実際、Rustの最高のターゲットはシステムプログラミングだから、そういう意味ではCと似ている
だからLinuxカーネル、Android OSみたいな巨大プロジェクトでも採用されるまでに至った
その他の有名事例はFirefoxは常識として、Dropboxのファイルストレージ、DiscordのStateサーバ、Figmaのmultiplayerサーバ、AWSのS3/CloudFront/Bottlerocketとかかな
https://www.rust-lang.org/production/users
細かく挙げればここにあるようにいくらでもあるけど、眺めてみると件数としてはhigh performanceを求めて採用する事例が多いかな
実際、Rustの最高のターゲットはシステムプログラミングだから、そういう意味ではCと似ている
だからLinuxカーネル、Android OSみたいな巨大プロジェクトでも採用されるまでに至った
その他の有名事例はFirefoxは常識として、Dropboxのファイルストレージ、DiscordのStateサーバ、Figmaのmultiplayerサーバ、AWSのS3/CloudFront/Bottlerocketとかかな
https://www.rust-lang.org/production/users
細かく挙げればここにあるようにいくらでもあるけど、眺めてみると件数としてはhigh performanceを求めて採用する事例が多いかな
228デフォルトの名無しさん
2022/03/25(金) 23:32:52.17ID:6wzTiGXz >>218
> コンパイラが受理しないからと言って文法が違うとはならないでしょ
少なくともCではほぼ同義だし、他言語でもそんなもんだと思うけど。
Cの場合は「自分の足を撃て」で躊躇なく撃つ言語なので、エラーは、
・シンタックスエラー
・記憶領域(変数のサイズ)等が確定的でなく、オブジェクトコードに出来ない
(これはC特有で、要はソースを食わせる順が間違ってたりしててサイズを知らない物が存在した場合。
2パスコンパイルをしてる他言語では発生しない)
だから、他言語でもコンパイルが通らない=文法エラー、という認識が普通だと思うよ。
Rustの場合は他言語だと警告のところをエラーにしてるから話がおかしくなる。
元々全部警告にしてたら、誰も文法が変わったとは認識しないだろうよ。
だけどそういうコードの存在自体を許さないのだから、エラーにしているわけで。
元々コンパイラは色々情報持ってるんだから、気づいたおかしなところも吐いてくれ=警告で、
なら警告チェックを厳しくしてバグ検出出来るんじゃね?=リンターなわけ。
だから簡易リント機能は元々コンパイラにあって、さらにそれを強化して専用にした物がリンターと呼ばれる。
で、ここで「文法が変わった」かどうかを争ってても意味ないと思うが。
他言語出身者なら、同じコードで通る/通らないが変わるのなら、「文法が変わった」と認識するし、
コンパイラ屋なら、構文解釈に変更なくリント機能だけが強化/緩和されたのなら、「文法は変わってない」と言い張るだろうさ。
(実際にリント機能部分だけの変更なのかは知らんが)
> コンパイラが受理しないからと言って文法が違うとはならないでしょ
少なくともCではほぼ同義だし、他言語でもそんなもんだと思うけど。
Cの場合は「自分の足を撃て」で躊躇なく撃つ言語なので、エラーは、
・シンタックスエラー
・記憶領域(変数のサイズ)等が確定的でなく、オブジェクトコードに出来ない
(これはC特有で、要はソースを食わせる順が間違ってたりしててサイズを知らない物が存在した場合。
2パスコンパイルをしてる他言語では発生しない)
だから、他言語でもコンパイルが通らない=文法エラー、という認識が普通だと思うよ。
Rustの場合は他言語だと警告のところをエラーにしてるから話がおかしくなる。
元々全部警告にしてたら、誰も文法が変わったとは認識しないだろうよ。
だけどそういうコードの存在自体を許さないのだから、エラーにしているわけで。
元々コンパイラは色々情報持ってるんだから、気づいたおかしなところも吐いてくれ=警告で、
なら警告チェックを厳しくしてバグ検出出来るんじゃね?=リンターなわけ。
だから簡易リント機能は元々コンパイラにあって、さらにそれを強化して専用にした物がリンターと呼ばれる。
で、ここで「文法が変わった」かどうかを争ってても意味ないと思うが。
他言語出身者なら、同じコードで通る/通らないが変わるのなら、「文法が変わった」と認識するし、
コンパイラ屋なら、構文解釈に変更なくリント機能だけが強化/緩和されたのなら、「文法は変わってない」と言い張るだろうさ。
(実際にリント機能部分だけの変更なのかは知らんが)
229デフォルトの名無しさん
2022/03/25(金) 23:36:20.64ID:8M8bRdYX 例えば自分はWebでReact/Next.jsを使っているんだけど
そこで使われているトランスパイラがRust製のswcへ変わったよ
色んな分野で代替する新たな良いものが出てくるとRust製が多いね
そこで使われているトランスパイラがRust製のswcへ変わったよ
色んな分野で代替する新たな良いものが出てくるとRust製が多いね
230デフォルトの名無しさん
2022/03/25(金) 23:41:25.24ID:k+N4+RC0 >>228
Cみたいなシンタックスにセマンティクスが浸食してる言語例に出すあたりマジで何も分かってないんですね
それにCのエラーだってシンタックスエラー以外に型エラーとかいろいろあるでしょ
とにかく文法という言葉の使い方が独特すぎるからあなたの言うところの文法とは何かをちゃんと定義して欲しい
コンパイル時にエラーと判断されうるものは全て文法という理解で良い?
リンク時エラーも文法エラー?
Cみたいなシンタックスにセマンティクスが浸食してる言語例に出すあたりマジで何も分かってないんですね
それにCのエラーだってシンタックスエラー以外に型エラーとかいろいろあるでしょ
とにかく文法という言葉の使い方が独特すぎるからあなたの言うところの文法とは何かをちゃんと定義して欲しい
コンパイル時にエラーと判断されうるものは全て文法という理解で良い?
リンク時エラーも文法エラー?
231デフォルトの名無しさん
2022/03/25(金) 23:57:36.32ID:6wzTiGXz >>227
> Linuxカーネル
それ前も言ったけど、forkしただけで、採用されてないよ。
> Firefox
結果シェアはズタボロに落ちて最早ゴミ。対応面倒で切られてる始末だろ。
> Discord
ブログにあった件なら、生存オブジェクトが大量にあるのにGC言語(Go)を使った点が間違ってる。
ただ、Go側で「GC非対象ヒープ」を(自前ででも)用意すれば済んだ話。
あれで言語移行したのはただの趣味だと思うよ。
他は知らんが、Goでも採用実績なんていくらでもあるし、Rustよりは多いと思うよ。
それを全部見るのは無理なので、折角詳しくて布教したがってる連中が居るのだから聞いてみるか、というわけ。
Goの連中はピンポイントでDockerを出してきたし、納得するものでもある。
Rustにはねえのか?という話。
(ただしDockerと同様の物を俺が組む事は多分無いので、他案件/構造も募集)
>>229
本当に「この言語じゃないと現実的に無理」なら、「書き換え」ではなく「新分野を開拓」出来るはずだ。
Dockerの構造は「新規」だよ。
> Linuxカーネル
それ前も言ったけど、forkしただけで、採用されてないよ。
> Firefox
結果シェアはズタボロに落ちて最早ゴミ。対応面倒で切られてる始末だろ。
> Discord
ブログにあった件なら、生存オブジェクトが大量にあるのにGC言語(Go)を使った点が間違ってる。
ただ、Go側で「GC非対象ヒープ」を(自前ででも)用意すれば済んだ話。
あれで言語移行したのはただの趣味だと思うよ。
他は知らんが、Goでも採用実績なんていくらでもあるし、Rustよりは多いと思うよ。
それを全部見るのは無理なので、折角詳しくて布教したがってる連中が居るのだから聞いてみるか、というわけ。
Goの連中はピンポイントでDockerを出してきたし、納得するものでもある。
Rustにはねえのか?という話。
(ただしDockerと同様の物を俺が組む事は多分無いので、他案件/構造も募集)
>>229
本当に「この言語じゃないと現実的に無理」なら、「書き換え」ではなく「新分野を開拓」出来るはずだ。
Dockerの構造は「新規」だよ。
232デフォルトの名無しさん
2022/03/26(土) 00:05:21.48ID:xT2VrKPz233デフォルトの名無しさん
2022/03/26(土) 00:18:45.11ID:JI2pA1P6 ドッカーは確かにgoで書かれているが、作ったイメージをコンテナとして動かすランタイムはRustで書かれてたりするのだよね
抽象化されてることすら知らなそうけど
抽象化されてることすら知らなそうけど
234デフォルトの名無しさん
2022/03/26(土) 00:19:28.54ID:W/ip1wOX235デフォルトの名無しさん
2022/03/26(土) 00:22:51.04ID:W/ip1wOX 実際、Dockerほどの人気があるプロダクトはめったに生まれないからね
236デフォルトの名無しさん
2022/03/26(土) 00:27:20.02ID:Z1/vdmI3 ランタイムあるからGoだけではコンテナランタイム作れないって聞いたんだけど本当?
237デフォルトの名無しさん
2022/03/26(土) 00:30:14.44ID:9D+dR2jG >>232
> 次々とRustで置き換わっていく恐怖に怯えての言動かね
自意識過剰すぎ。
というか、俺はお前らがそこまで言語に拘る意味が分からない。
それが適してたらそれを使うだけ、だろ。
俺がその言語作ったわけでもないし、その言語を使えば俺が偉くなるわけでもないし。
お前が修得出来たのなら、俺も修得出来るし、他の人も同様に修得出来るだけ。
修得で無理に差別化しようとするからおかしな事になるのだと思うが。
>>234
Goは味見して糞言語だったからもう使う気はないがな。
同じ事を何度も書かせて、しかも、それを悪いとしてない事が無理だ。
俺が切れたのはJSONのタグ記述だが。
(ああGo的には自動生成出来るような仕組みがあるから問題ないんだ!としている事は知ってる)
> 次々とRustで置き換わっていく恐怖に怯えての言動かね
自意識過剰すぎ。
というか、俺はお前らがそこまで言語に拘る意味が分からない。
それが適してたらそれを使うだけ、だろ。
俺がその言語作ったわけでもないし、その言語を使えば俺が偉くなるわけでもないし。
お前が修得出来たのなら、俺も修得出来るし、他の人も同様に修得出来るだけ。
修得で無理に差別化しようとするからおかしな事になるのだと思うが。
>>234
Goは味見して糞言語だったからもう使う気はないがな。
同じ事を何度も書かせて、しかも、それを悪いとしてない事が無理だ。
俺が切れたのはJSONのタグ記述だが。
(ああGo的には自動生成出来るような仕組みがあるから問題ないんだ!としている事は知ってる)
238デフォルトの名無しさん
2022/03/26(土) 00:33:29.42ID:3brWv6vK Dockerコンテナランタイムは色々あってもちろんRust製もある
239デフォルトの名無しさん
2022/03/26(土) 00:35:20.61ID:W/ip1wOX240デフォルトの名無しさん
2022/03/26(土) 00:43:54.51ID:9q2PYIcF dockerのどの辺がRustで書かれてんの???wwwww
241デフォルトの名無しさん
2022/03/26(土) 00:44:14.12ID:d6z2UOgm242デフォルトの名無しさん
2022/03/26(土) 00:44:35.30ID:9D+dR2jG243デフォルトの名無しさん
2022/03/26(土) 00:51:02.81ID:9D+dR2jG >>241
> C#については絶賛
してねえだろ。
実際GUIは糞で、JSの方が数段マシ。そりゃ世の中のGUIがHTMLになるのも納得だよ。
GUIのメインスレッド+サブスレッドの構造もよろしくないと思ってる。
(ここら辺も既に書いたが)
ただな、どの言語にも一長一短はあるんだよ。みんな色々考えて、改善してきてるわけだから。
だから、○○言語最強!ではなくて、言語特性を理解した上で選択、としたいわけ。
> C#については絶賛
してねえだろ。
実際GUIは糞で、JSの方が数段マシ。そりゃ世の中のGUIがHTMLになるのも納得だよ。
GUIのメインスレッド+サブスレッドの構造もよろしくないと思ってる。
(ここら辺も既に書いたが)
ただな、どの言語にも一長一短はあるんだよ。みんな色々考えて、改善してきてるわけだから。
だから、○○言語最強!ではなくて、言語特性を理解した上で選択、としたいわけ。
244デフォルトの名無しさん
2022/03/26(土) 00:54:11.51ID:AS0dCv5n245デフォルトの名無しさん
2022/03/26(土) 00:54:44.30ID:47RFB1/G Firefoxが墜ちたのは旧エクステンションを切ったからで…(またこの話?)
246デフォルトの名無しさん
2022/03/26(土) 00:58:24.45ID:W/ip1wOX >>242
そういうのが気になるなら vlang もいいかもね
そういうのが気になるなら vlang もいいかもね
247デフォルトの名無しさん
2022/03/26(土) 01:01:58.12ID:LzDSDoUW >>243
JavaScriptも良い言語だけど
型が弱いしTypeScriptは中途半端だから
最近Rustに移ったよ
もちろんサーバーサイドだけでなくブラウザサイドもRustでWASM
WASM⇔JavaScriptのオーバヘッドは誤差範囲とわかり実用的
JavaScriptも良い言語だけど
型が弱いしTypeScriptは中途半端だから
最近Rustに移ったよ
もちろんサーバーサイドだけでなくブラウザサイドもRustでWASM
WASM⇔JavaScriptのオーバヘッドは誤差範囲とわかり実用的
248デフォルトの名無しさん
2022/03/26(土) 01:25:19.73ID:9q2PYIcF 俺はC#を叩いたことは一度もないw
間違いを指摘し続けてただけだぞw
Rustは変なビジネスチャンスばかり狙った信者が嘘八百並べ立ててるから、すごい怪しげな新興宗教になってるw
間違いを指摘し続けてただけだぞw
Rustは変なビジネスチャンスばかり狙った信者が嘘八百並べ立ててるから、すごい怪しげな新興宗教になってるw
249デフォルトの名無しさん
2022/03/26(土) 01:29:08.29ID:9q2PYIcF 半年くらい前までは俺も静かにRustの普及を望んでたんだけどねw
今はもう・・・やばい印象しか受けない
今はもう・・・やばい印象しか受けない
250デフォルトの名無しさん
2022/03/26(土) 01:57:44.71ID:Y9M7cL9r251デフォルトの名無しさん
2022/03/26(土) 02:31:08.59ID:9q2PYIcF [T]がarrayで&[T]がスライスだと間違って覚えてただけだろw 原因はarrayを初期化以外で使ってなかったからってちゃんと書いたw
多分Rustをやってる期間は多分お前よりはるかに長いよw
多分Rustをやってる期間は多分お前よりはるかに長いよw
252デフォルトの名無しさん
2022/03/26(土) 03:04:03.73ID:R0l+7kK3253デフォルトの名無しさん
2022/03/26(土) 03:36:58.66ID:9q2PYIcF ないないw きっといっぱいいるw こんな説明だからw
https://doc.rust-lang.org/book/ch04-03-slices.html
https://doc.rust-lang.org/book/ch04-03-slices.html
254デフォルトの名無しさん
2022/03/26(土) 04:31:22.21ID:NboHt8Df >>251
> [T]がarrayで&[T]がスライスだと間違って覚えてただけだろw
酷くおバカな間違いだな
Rustを使ったことがないからそういう勘違いをしてしまう
ちゃんと公式ドキュメントの各1行目を読もうぜ
配列
https://doc.rust-lang.org/std/primitive.array.html
A fixed-size array, denoted [T; N], for the element type, T, and the non-negative compile-time constant size, N.
スライス
https://doc.rust-lang.org/std/primitive.slice.html
A dynamically-sized view into a contiguous sequence, [T].
> [T]がarrayで&[T]がスライスだと間違って覚えてただけだろw
酷くおバカな間違いだな
Rustを使ったことがないからそういう勘違いをしてしまう
ちゃんと公式ドキュメントの各1行目を読もうぜ
配列
https://doc.rust-lang.org/std/primitive.array.html
A fixed-size array, denoted [T; N], for the element type, T, and the non-negative compile-time constant size, N.
スライス
https://doc.rust-lang.org/std/primitive.slice.html
A dynamically-sized view into a contiguous sequence, [T].
255デフォルトの名無しさん
2022/03/26(土) 06:43:20.01ID:9q2PYIcF それはAPIリファレンスだろw
256デフォルトの名無しさん
2022/03/26(土) 07:50:27.56ID:ZP/Jhtaq >>62
それ、C/C++が全く出来ないレベルじゃん。メモリやポインターの理解が出来てないから実行時デバッグに時間が掛かる。普通は処理を書いたら動くことを確認するだけで済む。
それ、C/C++が全く出来ないレベルじゃん。メモリやポインターの理解が出来てないから実行時デバッグに時間が掛かる。普通は処理を書いたら動くことを確認するだけで済む。
257デフォルトの名無しさん
2022/03/26(土) 07:54:07.76ID:Vvd4qIhx258デフォルトの名無しさん
2022/03/26(土) 08:12:28.41ID:3FEKWr2M >>256
それはそういう話じゃないと思うぜ
C++とRustの両方使いこなせると分かるが
低レベルであるポインタアクセスがRustでは無くなり抽象化された参照アクセスとなり
安全でないアクセスがコンパイル時点で排除されるためその種の実行時デバッグが無くなる
その件だと思われる
それはそういう話じゃないと思うぜ
C++とRustの両方使いこなせると分かるが
低レベルであるポインタアクセスがRustでは無くなり抽象化された参照アクセスとなり
安全でないアクセスがコンパイル時点で排除されるためその種の実行時デバッグが無くなる
その件だと思われる
259デフォルトの名無しさん
2022/03/26(土) 08:24:24.55ID:9q2PYIcF >>257
ただの記憶違いに知能は関係ないw 実際それで困ったことがないからなw
ただの記憶違いに知能は関係ないw 実際それで困ったことがないからなw
260デフォルトの名無しさん
2022/03/26(土) 08:47:16.92ID:9LDujC2l >>259
その件は君が嘘をついていると明確になっている
その件の書き込みを見ると君はarrayとsliceを勘違いしただけでなく関数からarrayで返すと明言している
一方でその関数は返り型宣言で必ず[T; N]が現れる
このNは定数であるからさらに宣言することになりarrayでNの存在を忘れる人はいない
しかし君はarrayを[T]だと間違えて覚えていたわけだから矛盾する
君はRustのコードを書いたことがないという結論となる
その件は君が嘘をついていると明確になっている
その件の書き込みを見ると君はarrayとsliceを勘違いしただけでなく関数からarrayで返すと明言している
一方でその関数は返り型宣言で必ず[T; N]が現れる
このNは定数であるからさらに宣言することになりarrayでNの存在を忘れる人はいない
しかし君はarrayを[T]だと間違えて覚えていたわけだから矛盾する
君はRustのコードを書いたことがないという結論となる
261デフォルトの名無しさん
2022/03/26(土) 09:14:29.48ID:9q2PYIcF 何を勘違いしちゃったのか知らないけど、こう書いてあるんだけどw
「arrayは定義はあるんだけど、今まで初期化にしか使わなかったから、使わなすぎて間違って覚えてたw」
「arrayは定義はあるんだけど、今まで初期化にしか使わなかったから、使わなすぎて間違って覚えてたw」
262デフォルトの名無しさん
2022/03/26(土) 09:23:18.54ID:6PoAfdDe >>260
正確にはガイガー君はsliceで受けてArrayで返すと言っている
この発言の時点でガイガー君はRustを知らないと証拠
動的サイズのスライスで受けて固定サイズの配列を返すのは不可能だからだ
Nが判明しないと配列で返せないが実行時になるまでスライスの長さは不明
この点からもガイガー君はRustを知らない
正確にはガイガー君はsliceで受けてArrayで返すと言っている
この発言の時点でガイガー君はRustを知らないと証拠
動的サイズのスライスで受けて固定サイズの配列を返すのは不可能だからだ
Nが判明しないと配列で返せないが実行時になるまでスライスの長さは不明
この点からもガイガー君はRustを知らない
263デフォルトの名無しさん
2022/03/26(土) 09:51:30.12ID:9q2PYIcF ニュアンスが違うんだよw
「それは俺のポリシーとして、可能ならVecを返すならVecを受けたいだけw
今回のケースではメリットとかないよw
同様にsliceで受けたらArrayで返したいし、iteratorを受けたらiteratorを返したいw」
slice->&[T]
array->[T]
「それは俺のポリシーとして、可能ならVecを返すならVecを受けたいだけw
今回のケースではメリットとかないよw
同様にsliceで受けたらArrayで返したいし、iteratorを受けたらiteratorを返したいw」
slice->&[T]
array->[T]
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- VIP過疎すぎてつまらない😭
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 昔の日本人「15円50銭と言ってみろ、はい朝鮮人」 今の日本人「文鮮明はサタンと書いてみろ、はい壺」 [932029429]
- 晋州市で果物輸出が最盛期 [685321817]
- 自衛隊員「クマ被害を防ぐ活動、アルバイトに使われたということ。自衛隊の強み活かしてない。猟師のような仕事を期待されるのは無理」 [932029429]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
