スレタイ以外の言語も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:ZDHdo9X7194デフォルトの名無しさん
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]
264デフォルトの名無しさん
2022/03/26(土) 09:55:08.60ID:Vvd4qIhx はるかに長い期間やってるのにこの有様
子供の遊びかな?
子供の遊びかな?
265デフォルトの名無しさん
2022/03/26(土) 09:56:51.30ID:9q2PYIcF 実際のロジック書くのに使ってたのVecだもんw
266デフォルトの名無しさん
2022/03/26(土) 10:02:36.56ID:+G9UHc/m 結局TypeScriptがどの場においても最強って言いたいの?
267デフォルトの名無しさん
2022/03/26(土) 10:18:06.61ID:Iuuv9oj0 間違ってても普通に説明すりゃいいのにお互いに煽りながら主張しあってるから、くだらない議論が余計に長引く
268デフォルトの名無しさん
2022/03/26(土) 10:39:18.75ID:9q2PYIcF TypeScriptさいきょー
269デフォルトの名無しさん
2022/03/26(土) 10:44:45.97ID:Z1/vdmI3270デフォルトの名無しさん
2022/03/26(土) 11:44:23.82ID:3zXxZFyx goとtypescriptどっちかを捨てればいいのに
tcshやrubyを捨てるみたいに
tcshやrubyを捨てるみたいに
271デフォルトの名無しさん
2022/03/26(土) 12:29:34.61ID:5mCX3GGP 新しい言語はどれも配列の宣言があまりきれいじゃない気がする
Cなどの型名 変数名[要素数]だと何か都合が悪いのだろうか
それともやってる感を出すために変えてるの?
Cなどの型名 変数名[要素数]だと何か都合が悪いのだろうか
それともやってる感を出すために変えてるの?
272デフォルトの名無しさん
2022/03/26(土) 12:37:22.57ID:9D+dR2jG273デフォルトの名無しさん
2022/03/26(土) 12:41:53.15ID:sDWgty5N >>271自身がモダンな言語における配列を正しく理解できてないから変なように感じるんじゃないかな
最近の言語ではCスタイルの配列、いわゆる配列変数(複数個の変数が連続して並んでいるもの)はあまり積極的に使用されないんだよ
最近の言語では配列は配列型のオブジェクトであって、変数が並んでるわけじゃないの
最近の言語ではCスタイルの配列、いわゆる配列変数(複数個の変数が連続して並んでいるもの)はあまり積極的に使用されないんだよ
最近の言語では配列は配列型のオブジェクトであって、変数が並んでるわけじゃないの
274デフォルトの名無しさん
2022/03/26(土) 12:49:13.92ID:N9qlOq0y275デフォルトの名無しさん
2022/03/26(土) 17:16:05.98ID:+G9UHc/m276デフォルトの名無しさん
2022/03/26(土) 18:34:45.11ID:9q2PYIcF 別スレの引用なので、興味があればそれを見てこいw
LL/LRとか懐かしいなw
S式とかに回帰するかw
LL/LRとか懐かしいなw
S式とかに回帰するかw
277デフォルトの名無しさん
2022/03/26(土) 18:46:07.16ID:MJID/KD0 ちんちんシュッ!シュッ!シュッ!
278デフォルトの名無しさん
2022/03/26(土) 20:52:37.86ID:Vz8Iz6e1 >>263
Vecを受けてVecを返すインタフェースに通常することはない
普通は以下のようにする
(1) 同じVecを返す場合 (=書き換えたい場合)
まずこの場合はVec<T>自体を渡さなくても参照を渡せば済む
書き換えるから&mut Vec<T>を渡せばいいように思うが
普通はスライス&mut [T]を渡すインタフェースにする
なぜならVecの書き換え参照を渡すとVecの書き換えしかできないが
スライスの書き換え参照を渡せばVecの途中一部の書き換えもできるし
配列や配列の途中一部の書き換えもできるからである
(2) 別のVecを返す場合 (=引数側のVecのデータから作り出したい場合)
この場合も同様となる
引数としてVec<T>を渡すのではなくスライス共有参照&[T]を引数にする
これで入力データがVecだけでなく配列やそれらの一部でも受け付けることが可能
(2)' (2)のケースで入力を順次アクセスのみする場合
この場合は入力としてイテレータを受け付けられると良い場合がある
なぜならイテレータはVecのようなメモリ領域を必要としないため有利
イテレータを入力とする場合のインタフェースは更に2通りに分かれる
[a] イテレータのメソッドとしてしまう
イテレータチェーンに組み込むことができて便利
ただしVecや配列やスライスに適用する時はinput.iter().method()の形になる
[b] 引数として IntoIterator<Item=T> を受け付ける
これだと引数に直接スライス、配列、Vec、イテレータのどれも渡せて便利
ただしイテレータチェーンに組み込むことはできない
イテレータメソッドの2つ目の入力インタフェースとしても使われる
どちらの場合でも順次出力でない場合ならばVecを返すのもありだが
順次出力ならばイテレータを返したほうがイテレータチェーンに組み込めて有利
なぜなら中間生成Vecを無駄に返さずに済むからである
この場合にVecが欲しければcollect()すればよい
Vecを受けてVecを返すインタフェースに通常することはない
普通は以下のようにする
(1) 同じVecを返す場合 (=書き換えたい場合)
まずこの場合はVec<T>自体を渡さなくても参照を渡せば済む
書き換えるから&mut Vec<T>を渡せばいいように思うが
普通はスライス&mut [T]を渡すインタフェースにする
なぜならVecの書き換え参照を渡すとVecの書き換えしかできないが
スライスの書き換え参照を渡せばVecの途中一部の書き換えもできるし
配列や配列の途中一部の書き換えもできるからである
(2) 別のVecを返す場合 (=引数側のVecのデータから作り出したい場合)
この場合も同様となる
引数としてVec<T>を渡すのではなくスライス共有参照&[T]を引数にする
これで入力データがVecだけでなく配列やそれらの一部でも受け付けることが可能
(2)' (2)のケースで入力を順次アクセスのみする場合
この場合は入力としてイテレータを受け付けられると良い場合がある
なぜならイテレータはVecのようなメモリ領域を必要としないため有利
イテレータを入力とする場合のインタフェースは更に2通りに分かれる
[a] イテレータのメソッドとしてしまう
イテレータチェーンに組み込むことができて便利
ただしVecや配列やスライスに適用する時はinput.iter().method()の形になる
[b] 引数として IntoIterator<Item=T> を受け付ける
これだと引数に直接スライス、配列、Vec、イテレータのどれも渡せて便利
ただしイテレータチェーンに組み込むことはできない
イテレータメソッドの2つ目の入力インタフェースとしても使われる
どちらの場合でも順次出力でない場合ならばVecを返すのもありだが
順次出力ならばイテレータを返したほうがイテレータチェーンに組み込めて有利
なぜなら中間生成Vecを無駄に返さずに済むからである
この場合にVecが欲しければcollect()すればよい
279デフォルトの名無しさん
2022/03/26(土) 21:26:11.73ID:9q2PYIcF >>278
間違ってるよw それは俺のポリシーだからw 普通こうするという話じゃないw
間違ってるよw それは俺のポリシーだからw 普通こうするという話じゃないw
280デフォルトの名無しさん
2022/03/26(土) 22:23:14.39ID:27vH2xuj ガイガー君はRustに関しても素人だから
そういう常識を知らなくても仕方ない
そういう常識を知らなくても仕方ない
281デフォルトの名無しさん
2022/03/26(土) 22:42:20.46ID:Z1/vdmI3 >>279
なんでそういうポリシーなの?
なんでそういうポリシーなの?
282デフォルトの名無しさん
2022/03/26(土) 23:07:56.60ID:Z1/vdmI3283デフォルトの名無しさん
2022/03/26(土) 23:13:02.38ID:Z1/vdmI3 >>279
あっ、もしかしてborrow checker通すために借用使わないようにしてる?
あっ、もしかしてborrow checker通すために借用使わないようにしてる?
284デフォルトの名無しさん
2022/03/26(土) 23:29:11.35ID:fQbyL396 鋭い指摘だな
確かにガイガー君は参照を使いこなせなくて借用を批判してた
確かにガイガー君は参照を使いこなせなくて借用を批判してた
285デフォルトの名無しさん
2022/03/26(土) 23:34:15.32ID:Vvd4qIhx なんか哀れだよね彼は
286デフォルトの名無しさん
2022/03/26(土) 23:41:42.26ID:9q2PYIcF 同じ型の方が設計意図が明白になるし、繋げやすいからw それだけだよw 他のにする理由がないよねw
まあもとのスレにも理由は書いたけどw
まあもとのスレにも理由は書いたけどw
287デフォルトの名無しさん
2022/03/26(土) 23:58:50.18ID:+vg1NaC4 >>286
繋げやすい??
全く意味不明だ
繋げるならばメソッドチェーンにすべき
そしてVecが中間生成物となるのは無駄となるバッドパターン
イテレータメソッドチェーンにすべき
イテレータを使わないならばスライスを引数で渡すべき
繋げやすい??
全く意味不明だ
繋げるならばメソッドチェーンにすべき
そしてVecが中間生成物となるのは無駄となるバッドパターン
イテレータメソッドチェーンにすべき
イテレータを使わないならばスライスを引数で渡すべき
288デフォルトの名無しさん
2022/03/27(日) 00:23:39.64ID:PoGWmBV8289デフォルトの名無しさん
2022/03/27(日) 00:25:07.45ID:v5PJ1K00 >>286
借用で済ませて良い場所で所有権要求するのは普通じゃないからドキュメントコメントにちゃんと書いた方が良いよ
借用で済ませて良い場所で所有権要求するのは普通じゃないからドキュメントコメントにちゃんと書いた方が良いよ
290デフォルトの名無しさん
2022/03/27(日) 00:30:12.96ID:wv2YT7DD291デフォルトの名無しさん
2022/03/27(日) 01:18:29.05ID:PoGWmBV8 wwwww
知ってて書いてるんだと思うが、もとを読めば分かるけど、参照で受けてるよw
知ってて書いてるんだと思うが、もとを読めば分かるけど、参照で受けてるよw
292デフォルトの名無しさん
2022/03/27(日) 01:35:46.26ID:BChElFEF >>291
見てみた
確かに引数の型をVecの参照にしてることがわかった
そして元のお題では一貫してずっとlet input = ["a", "b", "c"];となっているのに
引数の型をVecの参照にしてしまったためそこだけlet input = vec!["a", "b", "c"];としている
つまりに引数の型をVecの参照したのは明白な失敗となっている
もちろん正解は引数の型をスライスにすること
これで配列もVecも受け取れる
見てみた
確かに引数の型をVecの参照にしてることがわかった
そして元のお題では一貫してずっとlet input = ["a", "b", "c"];となっているのに
引数の型をVecの参照にしてしまったためそこだけlet input = vec!["a", "b", "c"];としている
つまりに引数の型をVecの参照したのは明白な失敗となっている
もちろん正解は引数の型をスライスにすること
これで配列もVecも受け取れる
293デフォルトの名無しさん
2022/03/27(日) 03:52:33.29ID:PoGWmBV8■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★2 [Hitzeschleier★]
- 立憲・小宮山議員、「牛乳=白い水」投稿を削除 批判殺到で「大変失礼申し上げました」 [少考さん★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★3 [七波羅探題★]
- 内閣支持、微減59.9% 5割超が補正予算評価 時事通信世論調査 [どどん★]
- 【芸能】デパートで見つけたランドセルが衝撃価格! つまみ枝豆「どこかで規制しないと」に共感の声殺到 「全て同感」「高すぎます」★2 [冬月記者★]
- 愛国者「コピーという言葉は、文脈によって複数の意味を持ちます。これは事前通告とは言わない。」 [834922174]
- 【高市遺産】 ユネスコさん。日本の「匠の技」「屋台」「和紙」などを無形文化遺産に登録 🎉🎊 [485983549]
- 1時間後に退職を伝える😡
- 日本人のコメ離れが深刻、おまえらなんでコメ食わないんだ??? [974680522]
- 【画像】クリスマスケーキの予約の電話をしたんだけどすでに予約がいっぱいで断られちゃったよ…
- 自民党のヒゲ「トランプおやびんが中国に何も言ってくれない」 [834922174]
