[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/01 19:50 / Filesize : 270 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語25 TypeScript Swift Go Kotlin Rust Nim



1 名前:デフォルトの名無しさん [2022/04/17(日) 17:52:35.38 ID:KG26dcth.net]
スレタイ(順番はRedMonk準拠)以外の言語もok

前スレ
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1647887021/

256 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:16:10.20 ID:GF+5hMbb.net]
>>251
型を定義した以外のcrateでメソッドを追加するためにはtraitが必要、が正しいかな
メソッドを追加するためにはtraitなしのimplを書く方法もあるが、これをできるのは型を定義したcrateだけに制限されているので他crateで定義を追加して汚染することはない

とまあRustの事情は知ってるんだけど、他の言語ではどうなってるのかが知りたかった

257 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:16:45.41 ID:BiVUGBJZ.net]
知ってるけど今そんな話してるんじゃないんだわ

258 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:22:02.11 ID:UiNQmXr4.net]
JavaScriptで脆弱性を生みまくってさんざん問題視されたんだから、いまどきそんな汚染が起こる新しい言語は一つもないよ

259 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:30:18.88 ID:5sWL1sIQ.net]
他の言語でもメソッド追加方法を教えて
今のところ
JavaScript >>248
Rust >>249

260 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:46:50.81 ID:BiVUGBJZ.net]
発端になったD言語のUFCSハブられてるのなんで?

261 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 13:58:52.24 ID:TLzTt+1G.net]
>>256
UFCSはメリット無いからでしょ
メソッド追加できるなら関数よりメソッドの方が名前空間を汚さないし

262 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 14:21:14.88 ID:UiNQmXr4.net]
>>256
nimには採用されてるし、調べてみるとC++にも導入の提案がされてるみたいだから、それほどハブられてないのでは?

Bjarne Stroustrupの提案: www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4174.pdf
Herb Sutterの提案: https://isocpp.org/files/papers/N4165.pdf

263 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 14:24:50.73 ID:S1pQjSZ5.net]
UFCSはメソッド名空間の汚染
だから採用しないのが正解

264 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:13:03.71 ID:B7syBDSL.net]
結局メソッド生やしたいんじゃなくてプライベートメンバにアクセスしたいだけなんだよな



265 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:22:37.45 ID:sJr09n4H.net]
>>259
汚染言うならRustのtrailと同レベルじゃない?

関数をincludeしなければ影響無いんだし、言語次第だけど名前空間に閉じ込めることもできるだろ。

266 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:28:02.41 ID:VN4zR5UM.net]
>>261
Rustは一切汚染しません
何を誤解しているのですか?

267 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:36:09.96 ID:3MmiqOlF.net]
いやトレイトで似たようなメソッドがたくさんぶら下がって汚染されてますよね?それが更にハードルが上がる一因になってる

268 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:46:00.36 ID:ZqKc7K5J.net]
>>263
Rustでは明示的にuse Traitしない限り
そのトレイトのメソッドが有効になることはないよ
汚染は起きず安全に設計されている

269 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 15:55:06.48 ID:UiNQmXr4.net]
>>264
当然、D言語でもnimでも、importしたシンボルは、importされたスコープでしか有効にならないし、メソッド形式の呼び出しもできない
Rustと何が違うんだよ

270 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:00:14.18 ID:xSu4vg9o.net]
UFCSは強制汚染
関数として必要なだけなのにメソッド名空間を汚染
メソッドとして必要なだけなのに関数名空間を汚染
だから採用する言語がほとんどない

271 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:01:50.20 ID:3MmiqOlF.net]
>>264
イヤイヤ、そんなのほとんどの言語でimportやincludeと同じで更に言えば、use std::io::prelude::*;みたいにRustでもPythonでも
誤ったやり方とされてるワイルドカードだって使えるんだから一緒でしょ。明確に言うなら”汚染は起きず”ではなく、汚染は当然ながら
useするのだから起きている。無意味にuseしない*を使わないというのは言語仕様や特性じゃなく規約だよ

272 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:08:08.42 ID:UiNQmXr4.net]
スコープやシンボルが限定されてるのに汚染と呼ぶのはおかしい

273 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:09:49.70 ID:Ld005CpI.net]
>>267
Rustでは追加メソッドを使う場合
必要な機能のTraitだけを
use TraitName as _; する
そのため汚染は起きない

274 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:18:54.63 ID:EM9X2zpO.net]
>>264
ほんとRustニワカ嫌いだわ、「明示的にuse Traitしない限り」なんて良くそんな詭弁が言えるわ。どう考えても一緒でしょう
だからPythonだってas構文使えますし、D言語だってimport std.stdio : writeln, writefln;で選択的インポートできるでしょw



275 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:21:12.54 ID:PqJDEf6z.net]
Rust聖戦士がワラワラ
他の言語のスタイルはすべてアンチパターン

276 名前:デフォルトの名無しさん [2022/04/25(月) 16:23:34.31 ID:NxLuUrhR.net]
>>269
Underscore importなんてRustがトレイトのシンボルが別のシンボルと競合する可能性がある場合、つまりRustが破綻しないように
特別にあるだけで、汚染の低下のための機能ではないぜ。ここで汚染といってるのは無暗にメソッドが追加される事。
(回避策が仮に無ければ)衝突することはもはや、言語的な欠陥だ

277 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:27:35.43 ID:KFrD7nO2.net]
使われる空間に名前が載ることを汚染とは言わない
使わない空間に名前が載ることを汚染と言う

UFCSが汚染と言われる理由は
関数として使いメソッドとして使わなくてもメソッド名空間に載り
メソッドとして使い関数として使わなくても関数名空間に載るためだと考えられる

278 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:34:56.30 ID:NxLuUrhR.net]
>>273
Rustだって、fn中にuse出来るわけでそれはほかの言語でも同じ。そう言う事はあまりしないけども、多くの言語で同じように”使われる空間”だけに載る

279 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:36:52.48 ID:UB00PZWU.net]
RustがUFCSを採用しないのは単に、パーサーをオブジェクトを先して作り直すと(C言語にわざと似せてる)見た目が変わってしまうし
パーサーに手を入れるということは苦労してきたコンパイル速度が低下してしまう恐れがあるという事だけ

280 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:37:55.90 ID:ZcyGlXND.net]
>>273
その程度で汚染とか言うの聞いたことねえよ
ESModuleとかが導入される前のJSのグローバル汚染なんかと比較してみ?
Rust上げしたいがためだけのただのイチャモンだよお前の主張は

281 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:39:18.63 ID:Ktg4GXmX.net]
>>272
Rustでは汚染は起きないですよ

>>274
そうです 
だからRustでは>>273の汚染という状況は発生しないですね

282 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:40:19.19 ID:WnCW0ZaS.net]
そもそもUFCSは汚染だなんてここ以外で聞いたことがないんだけど

283 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:44:16.36 ID:LpKzCT90.net]
>>273
UFCSとやらはムダに汚染しまくるクソな機能だな

284 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:46:59.96 ID:EmEbSMmo.net]
Rustの宣伝はこんな匿名掲示板じゃなくQiitaとかに書いてほしいな
その反応で実際に正論なのか暴論なのか明らかになるだろう



285 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:49:37.58 ID:ZJMHR0C4.net]
UFCSという汚染機能をサポートしているプログラミング言語はDとNim
埋もれた言語となったのも当然の結果

286 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:50:47.89 ID:WnCW0ZaS.net]
汚染だとか書いてるのは全部ガイジだな

287 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:00:21.10 ID:AtUdeTix.net]
ほとんど全ての言語がUFCSを採用していない理由はメリットが無いからだと思う
そして無条件に二つの名前空間に登録されてしまうことを汚染と呼ぶかどうかは置いておくとしても本末転倒の方法かなとは感じる

288 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:01:11 ID:XBfmr4Gp.net]
>>275
さらにRustは実装としてUFCSを別の意味で誤って使っていた過去がある、::パス構文で混乱を引き起こして曖昧性が起きた。2017年頃でそんなに優れた開発者がおらずなんとなく実装していた時期だな、いつもはRustは論文がしっかりしてると嘯くのに

289 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:02:36.89 ID:+vVlR4Vp.net]
やっぱりUFCSは悪だな

290 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:12:43.76 ID:PqJDEf6z.net]
次スレはもうRust消そう
話にならん

291 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:19:42.27 ID:o63SmoRM.net]
>>286
Rustは関係ないんじゃね?
むしろRustのアンチ側がなぜかRust叩きしていて巻き込まれ被害側にみえる

292 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:26:05.13 ID:PqJDEf6z.net]
どっちでもいいよ
信者だろうがアンチだろうがあらゆる話題がRustとの比較になって宗教戦争化するのが馬鹿馬鹿しすぎる

Rustの話題はスレ違いなのでRust叩きもスレ違いとする、問題解決

293 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:26:35.89 ID:4xqZqLmv.net]
ほぼ全ての言語がUFCSを採用していない
しかしUFCSが叩かれるとなぜか必死にRustを攻撃してくれる
一石二鳥と言えるだろう

294 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:38:49.59 ID:63+wFQ6i.net]
C++委員会での議論でもメンバ関数と非メンバ関数で衝突したときにどう解決するかで割れて否決されたみたいだし、なかなか難しそうだね



295 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:51:06.52 ID:BSwMXBpD.net]
考えてみたがUFCSは完全に不要っぽい
まずメソッドとして使いたいものは最初からメソッドとして書けばよい
次に外部の関数をどうしてもメソッドとして使いたいならばその外部関数を呼び出すメソッドを追加すればよい

296 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 17:53:13.68 ID:VVkmIp+6.net]
衝突が問題ならUFCSの使用は記号などを使って明示したらいいんじゃないかな?

297 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:02:36.22 ID:DhJCopPa.net]
「Rustを攻撃」ってどっちも同じでしょって言ってるだけなのに、このように攻撃を受けたと勘違いするんだから、正常な議論なんて出来ない。
UFCSについて難癖付けてるだけじゃん、個人的には別に必要ないと思うし、仮にあったら便利だとも思うが。コンパイル時間が増えるのは許容できない
「Rustのアンチ側」なんて言い出すクズどもとまともな話なんて出来るわけない。
こんな奴らばっかり増やしてもRustの普及を妨げてると思うんだけど?

298 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:07:17.52 ID:3bYGoG0a.net]
スレ読んだけど
汚染でも何でもなくRust特有の問題でもないことをRustは汚染だと延々と叩いてるのは異常に感じた

299 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:08:46.62 ID:sJroCDvH.net]
今のところUFCSがある言語と外部のデータ型に対してメソッドを追加できない言語、メソッドを追加できる言語とできない言語のそれぞれは前者が勝手で勝るけど、前者同士では好みとか実現手法の違い程度の話のように感じてる
UFCSも結局モジュール単位で環境が分離されている事が殆どのようだし、どちらかじゃないとできない事も、どちらかだと発生する致命的な不都合も見えてこない
一見機能が不要に見えても、その採用理由が他の要素に起因してたりもするだろうし、その辺私はUFCS採用言語のことを詳しく知らないのでなんとも言えないな

300 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:09:37.23 ID:9QpKK4x8.net]
>>292
C++での議論では当然そういう案含めていろいろ提案されたけど、結局どれも一長一短で委員会での合意には至らなかったみたい
一人で作ってる言語なら作者の好みでサクッと入れられちゃうんだろうけどね

301 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:11:19.66 ID:DhJCopPa.net]
汚染と言わなくても、Rustがuseで似たようなメソッドがたくさん出てくるのは本当でしょ、UFCSにしてもそれはイコールで何ら変わらんわ
なんでこいつらマトモに話すら出来ないの?コーディング能力を持ってるんだろうけど、コミュニケーション能力はゼロに近い

302 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:11:26.99 ID:VVkmIp+6.net]
メソッドが動詞ならUFCSでは関係が逆になるんだよね
英語圏の人はどう思ってるんだろ

303 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:15:08.57 ID:Xt13Fv0a.net]
>>298
OSV言語の自然言語に近くなるから、オブジェクトが先に来るのは利点として受け止められてる。でも所詮はシンタックスシュガーの何者でもない

304 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:16:12.91 ID:TDNc/5Gc.net]
>>297
> 似たようなメソッドがたくさん出てくる

そこ意味がわからない
似たようなメソッドがたくさんとは何?



305 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:19:11.55 ID:VVkmIp+6.net]
C#にも拡張メソッドと言う名前でほぼ同じ機能が使えるけどそっちは拡張メソッドオンリーで使う前提で作られてる

306 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:23:57.49 ID:WnCW0ZaS.net]
似たような機能はいろんな言語にあるよね

307 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:31:31.86 ID:5qzMTDWR.net]
>>299
英語はOSVじゃなくSVOな?OSVになることもあるけど、そして世界の自然言語の主流は日本語と同じくSOVが40%
参考としてスター・ウォーズのジェダイ・マスター:ヨーダは、このOSV語順で話す。

308 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:34:58.90 ID:VVkmIp+6.net]
var s=copy(section);
paste(s);
みたいなのがあって

これを
paste(copy(section)):
とするより
section.copy().paste();
のほうが受け入れ易いってことだよね?

309 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 18:42:40.14 ID:pOd33Olh.net]
>>304
最初からメソッドとして書けば済む

310 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:05:29.73 ID:8yiD5uPx.net]
Methods! You will be written first, but many are not.

311 名前:デフォルトの名無しさん [2022/04/25(月) 19:07:02.73 ID:tSjXYtJn.net]
>>305
ところがどっこい var sのsはメソッドを生やせないstring型だ

常にメソッドを生やせるとは限らないし、元のクラスに必要以上の仕事を増やさないためにから拡張メソッドという概念があるんだよ

312 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:15:14.85 ID:VVkmIp+6.net]
スコープでuse出来て局所ごとにsection.print()の意味が変わる場合も便利だと感じる?

313 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:28:32.34 ID:WnCW0ZaS.net]
メソッドじゃなくて関数や変数でも、スコープごとに意味が変わりうるのは当然のこと

314 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:29:22.19 ID:9QpKK4x8.net]
拡張メソッドが欲しいのはまぁ分かるんだけど
UFCSまでいくと普通の関数のつもりが意図せずメソッド呼び出しできてしまう、みたいなデメリットの方が大きくなる気がするなぁ



315 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:33:06.80 ID:m1bq2XCo.net]
なぜRustが叩かれていたのかようやく理解できた
Rustでは基本の型にも外部の型にもメソッドを追加できるわけか
そのためメソッドを自由に追加できない言語の人が逆恨みで叩いていたと

316 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:35:49.53 ID:VVkmIp+6.net]
"test".print();が局所ごとに意味が変わると気持ち悪い

317 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:37:37.15 ID:3TQSNLUR.net]
>>266
Nimだと「メソッド名空間」自体が無いから、そんな議論をするのは無駄だね。

318 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:43:06.53 ID:DNOUKEV3.net]
>>312
え?logging.rsに"test".print();と書いてあるのと、printer.rsに"test".print();で意味が変わるのはなんも関係無くねえ?
つーか普通に関数でprint("test")だのsaveだの、getだの散々やってるじゃん。気持ち(悪い)の問題なんだろうけどさ

319 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:46:57.59 ID:3TQSNLUR.net]
>>311
それはNimも同様。
むしろNimの方がメソッドと関数を統一しているから(記法が違うだけ)、より自然に拡張できる。

>ぜRustが叩かれていたのかようやく理解できた
>逆恨みで叩いていたと

こういうアホなことを言う狂信者ばかりだからだよ。

320 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:56:02.27 ID:W8ZZnspt.net]
RustのメソッドとかC++のメンバ関数のような特定の型だったりトレイトに束縛された関数のようなものがNimにはなくて、自由関数だけがある。
だからNimからUFCSをとったらC言語のように全ての関数をfoo(x, y, z)って書かないといけなくなっちゃう。
UFCSがあるおかげでどんな関数もx.f(y,z)だったりf(x, y, z)とか自由に書ける。
UFCSで関数がメソッドになるとプライベート変数/メソッドにアクセスできちゃうって勘違いしている人がいるかもしれないけどNimではそれは起きない。
C++のメンバ変数に相当するものや関数のアクセス権はモジュール外にそれを公開するかしないかのどちらかしかない。

321 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:57:52.87 ID:s4irQrJG.net]
>>315
Nimでも自由にメソッドを追加できるならばUFCS必要なくね??

322 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 19:59:13.38 ID:9XvEg3RG.net]
>>314
逆にprint_to_printer()とか print_to_consoleとか書いてあったら発狂するかもしれんわ
一番使うdebug_assert_eqとかヤメテほしい・・・、あと帰ってくる正式な型名が異様に長くなるのもC++の悪いところを引き継い出るような感じがする

323 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:05:33.97 ID:4uqCvk4R.net]
>>316
自由関数しかないNimは関数名空間が常に汚染されてしまうのね
普通のプログラミング言語ならばメソッド名として名前空間が分離されるのよ

324 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:06:59.77 ID:0BSsoGgf.net]
std::iter::emptyは名前空間を汚染するので使ってはいけません

アホか



325 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:09:08.19 ID:9XvEg3RG.net]
>>319
1つも調べもせんのな、自由関数だけじゃなくmethodもある。つーかおまえRust使うの止めてJavaやってろ、まじ迷惑

326 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:09:29.47 ID:VVkmIp+6.net]
グローバル関数じゃなくて?

327 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:10:31.91 ID:3TQSNLUR.net]
>>317
>>316にまとまっているよ。
メソッドが無くて、ただの記法の違いでしか無いからこそUFCSのメリットを最大限享受できる。

>>319
メソッド名を関数名から「常に」分離するメリットは?
関数自体をモジュールとかで分離して管理できればいいんじゃないのかね。

328 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:13:13.14 ID:xcxOK/uY.net]
やはり逆恨みで無関係なRust叩きやってる説が正しいかもしれん
Rustが無関係な状況でも>>321のように唐突にRustを出してくる

329 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:21:15.47 ID:51f23UG1.net]
逆恨みだの、攻撃だの、ずーーとこんな事言ってる奴いるけど完全なびょーきだと思う。名前空間が汚染されないという言語はお前の中で具体的に何?

330 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:21:37.03 ID:5gWGwAdH.net]
もうケンカしてる人らが最強次世代言語作れば

331 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:23:23.46 ID:PqJDEf6z.net]
逆恨みとか、自我と言語が密結合していない限り出ない言葉だよな
用途目的に応じて言語を使い分ければ良いのに

つまりそういうことだ

332 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:26:24.56 ID:bFDhmU1p.net]
おそらくNimの人がずっとRustを仮想敵にでもしてるのかもな
だからNimに不利っぽい書き込みがあるとRustの話がどこにもなくても無意識にRustを叩いてしまってるのかもな

333 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:26:38.57 ID:WnCW0ZaS.net]
ローカルのスコープしか影響しないのに、わざわさわ汚染とか言うの意味わからん
紛らわしいからやめろ

334 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:27:48.66 ID:WnCW0ZaS.net]
> わざわさわ汚染
タイポしてた
わざわざ汚染



335 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:29:25.14 ID:3QooPOGs.net]
例えば新しい言語が出来て人気を博したら、RustにもNimにもDにもSwiftなどにも存在しない機能や、シンタックスシュガーになるわけで
それを指摘したら、逆恨みだの、攻撃だの、アンチだの言いだしたらこのスレはマジ必要ない。
なんで無いのか考察を言ったり、コンパイル時間への影響とか、現行の構文が大きく変わってしまうとかそういうのを述べるならまだしも
UFCSが汚染だとキチガイのように書いてる。マジこんなやつ迷惑だろw

336 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:34:31.02 ID:fIAeID6q.net]
このスレを「汚染」で検索してそれら書き込みを見るとプログラミング言語名の最多登場がRust
なぜRustを汚染と叩く書き込みが多いのか不思議

337 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:35:18.96 ID:PqJDEf6z.net]
>>228とか>>235みたいな、主観と思い込みによる断定から荒れ始めたんだよな
そこからおそらく自己正当化のために独自の「汚染」を定義
誰にも賛同されないと逆恨みだの攻撃だの仮想敵だの

338 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:38:37.94 ID:kDkXz7wX.net]
>>333
それはもちろん同感だが
同時に発生しているRust汚染叩きは何なのだろう?

339 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:48:57.83 ID:VVkmIp+6.net]
rustは錆なんだから汚染ぐらいでどうこう言うのもちょっと

340 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 20:54:23.26 ID:GhM9BPSc.net]
Rustに対してとにかく言いがかりつけてるアレな人が前からおるやん
今回もそれだろ
有名人が叩かれる有名税みたいなもんや

341 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 21:10:54 ID:EYilt5eX.net]
いーや一番言いがかりで汚染されてるのはこんスレとロシアだと思いますわ。反枠&陰謀論!病院池

342 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 21:27:42.00 ID:l9I/osPN.net]
有名税か
逆恨みやストレス発散でバッシングする連中多いもんな

343 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 21:47:49 ID:iMu4Hfqd.net]
>>332 >>334
事実に基づかない嘘で被害者面するのやめるべきだな。
このスレで「汚染している」と難癖つけられているのはUFCSだろ。次点でNim。Rustはあったっけ? []
[ここ壊れてます]



345 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 21:58:12 ID:Hqs3zbo6.net]
ケンカはやめて><

346 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 22:11:48.53 ID:EH/Dcnf1.net]
ふたりを とめて〜

347 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 22:17:54.71 ID:PqJDEf6z.net]
有名税とか言う前にまずDとNimとUFCSを無理筋でこき下ろした件に対するごめんなさいは?

348 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 22:34:36.42 ID:BiA6VIMH.net]
あと無関係な争いに巻き込まれたRustも可哀想

349 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 23:13:51.83 ID:W8ZZnspt.net]
調べたところRustにもUFCSがあるようだけど。
https://doc.rust-lang.org/1.30.0/book/first-edition/ufcs.html

350 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 23:32:05.72 ID:PJo8eL2A.net]
それ古い版のthe bookだし>>224の条件付きだからUFCSってあるってだけだよ

351 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 23:34:40.87 ID:PJo8eL2A.net]
途中送信した
条件付きだからこれをUFCSと呼ぶのは誤用ってことで今は使ってないよ(>>284

352 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 23:52:22 ID:+dAy6ibx.net]
>>344
もちろんRustにもあるけど微妙に違うので今はUFCSとは呼ばなくなった
その微妙な差というのは既に>>245で書いたように

> 例えばu64型のxに対して
> xのn乗はu64::pow(x, n)という関数が標準であるけど
> これはx.pow(n)と呼び出すことができる

とメソッド形式でなく関数形式の時に型名等の前置パスで常に制限される

353 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 00:24:29.22 ID:HRWQKuSX.net]
ほんのわずかだけ違うとはいえ
D、Nim、RustといったUFCS対応言語は2通りの記述方法が出来て便利で良いですよね

354 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 07:04:16.95 ID:Y0YWAbka.net]
Goってマジで終わりかけてる?
使う価値あんまり感じなかったのは事実だけどw



355 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 07:06:24.67 ID:nY6A0xRe.net]
バカヤロー、まだ始まっちゃいねぇよ

356 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 09:33:09.74 ID:N3l9Q94/.net]
Goジェネリクスの実装とパフォーマンスについて
https://www.infoq.com/jp/news/2022/04/go-generics-performance/






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<270KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef