Rust Part7

レス数が950を超えています。1000を超えると書き込みができなくなります。
2019/07/14(日) 23:31:47.54ID:PySyhRf9
Mozilla発のRust言語のスレ

公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

前スレ
Rust Part6
http://mevius.5ch.net/test/read.cgi/tech/1532714678/
2020/01/13(月) 23:08:55.12ID:Xv6FKp77
>>863
俺は切ってるけどな。

が、こんなところで言い争いをする意味もないので、Rustはどうかと思ってFireFox見てみたが、
SpiderMonkeyは思いっきりC++じゃねえかよ。Rustってどこに使われてるんだ?
https://hg.mozilla.org/mozilla-central/file/d5843cae64d30255b242d051888e99bef3de5c05
2020/01/13(月) 23:22:40.80ID:xcD2sz0v
まあ実践的なコードになればなるほど、
mut, unsafe, refcell使いまくりだからな。。
2020/01/13(月) 23:35:29.58ID:oL0Ub0pZ
>>866
とりあえずservoディレクトリの下はRustだと思うけど。
2020/01/14(火) 16:22:27.20ID:uFo9dhko
>>849 俺も、昔C言語で苦しんだな。誰にも教えてもらえないし、しかしその分人より詳しくなったよ。
C言語に詳しくなるって事は、弱点も知ることになる、そしてその弱点からどう逃げるか?そういうことも考えるようになる。

Rustの逆引き辞典みたいなハンドブックがインターネットに転がってないかなぁ
2020/01/14(火) 19:15:10.25ID:3eaorBLU
こことか結構いいぞ。
https://github.com/rust-unofficial
2020/01/14(火) 19:21:50.48ID:tuFEGmKg
moveのコストってみんな気にしてる?
Cだったらポインタ渡すだけだったり
ポインタを返すだけだったりで最小限な感あるけど
rustじゃポインタ中心でやりくりしないよね
2020/01/14(火) 20:12:08.07ID:bWQIptzM
コンパイラの最適化で消えるんじゃないの?知らんけど
moveコストが気になるってどんなプログラムか想像付かないけどゲームとか?
2020/01/14(火) 22:36:34.11ID:fFlEK4SW
普通moveコストが気になるほど巨大なものをスタックに置かないのでは。
あとCでポインタ渡すケースなら普通は参照渡しだろうし。
2020/01/14(火) 22:49:49.23ID:QFWUHN7i
そやったね失礼
参照があったわw
初心者まるだしですまそ
2020/01/14(火) 23:35:09.81ID:ngXFRoSC
>>867
つまりRustは実践的でなく、FireFoxが沈みつつあるのはそのせいだと。

>>868
servoって何ぞ?と思ったらGeckoと交換か。
見た目if文多用の旧式コードに見える。
それだけで駄目なわけではないけど、CのOSSと粒度は同じだと思う。
2020/01/15(水) 08:43:43.81ID:nrskqwsi
どちらかというとCと同じ抽象度で書いても安全性が担保されることがRustのメリットでは。
より高い抽象度の操作しか許さないから安全、ってのなら他にいくらでも選択肢はあるわけで。
2020/01/15(水) 10:16:34.92ID:DPd+8sgQ
>>876
ご意見ごもっとも。
ただ、例外的とされている仕様を日常的に使用せざるを得ないのは、
言語の仕様(思想)または適用範囲(用途)を間違えているからだ。

「安全なC」を目指すのも一見良さそうにも見えるが、実際のところ、
Cが問題になるのは馬鹿が書くからであって、いわゆる「駄目なコード」はOSSには存在しない。
(正確には「駄目なコード」があるとメンテ不能となって淘汰されるから、
生き残っているOSSはメンテ可能状態=駄目なコードがない状態に保たれている)
この意味では、Cを馬鹿よけとして使っているLinusのやり方が正しい。

「非安全」だから使うなとされている機能を常用するのならRustを使う意味がまるでないし、
コーディングがしにくいだけの単なる「意識高い系ドM」でしかない。
当然、プロジェクトは沈没していく。

一方、ロシアは鉛筆を使った、に近い。
878デフォルトの名無しさん
垢版 |
2020/01/15(水) 13:15:08.87ID:eUr1BYr3
>>871
C++の話で申し訳ないけど
std::vectorとかは実装によっては
(利用者側の実装もvectorの実装も)
めっちゃ効率悪くなる罠を孕んでる
879デフォルトの名無しさん
垢版 |
2020/01/15(水) 15:26:49.41ID:vosN76E7
opensslさんから一言お願いします
2020/01/15(水) 18:02:26.14ID:lC3F4iid
>>877
どこの世界の話?
Cで書かれて開発体制もしっかりしてても
頻繁にセキュリティホールが報告されてる
OSSは結構あると思うなあ
2020/01/15(水) 21:18:04.48ID:DPd+8sgQ
>>880
Rustはどんな馬鹿が書いてもセキュリティホールが存在し得ないとでも?
多分お前はセキュリティホールが何か、すら分かってないと思うが。

むしろお前みたいな馬鹿がRust使う意味なんて全くないはず。
俺やRustの言う「駄目なコード」はそこではないし。

お前みたいな馬鹿でも分かる話をするなら、
現実として、もっと上位の記述しか出来ないPHPでもセキュリティの問題はやらかしまくってるだろ。
あれは『ホール』と呼ぶべきかどうか、という話はあるにしても、
低位の『ホール』だけ塞いだところでその上位でいくらでもやらかせるのでそれ自体に大した意味はないんだよ。
それ以前に、Rustが低位の『ホール』を全部塞いでいるかどうかなんて俺は知らんが。
あれはPHPerの頭が悪いせいにされているが、お前らがWebやったらもっと酷いことをやらかすのは確実だ。
882デフォルトの名無しさん
垢版 |
2020/01/15(水) 21:50:07.07ID:vosN76E7
あんたのいう駄目なコードの定義なんて誰も知らないだろ
2020/01/15(水) 21:53:07.43ID:JGL8Rg1T
まあ静的チェックで仕事終わりにできると思ってるバカは多いな。
そういう馬鹿が一番厄介。あの手この手でテストしない理由をこねくり回してくる。
2020/01/15(水) 22:48:54.43ID:lC3F4iid
>>881
一行目から自分が暗黙にも書いてない内容ですね
残りはゴミ
2020/01/15(水) 23:21:00.85ID:DPd+8sgQ
>>884
ではどうだと?はっきり言ってみろ。

俺の意見としては、RustとCでセキュリティガー、ってことにはならんよ。
あれは書く側の問題で、言語の問題ではない。
2020/01/15(水) 23:50:55.75ID:lC3F4iid
>>885
はっきり書いてあることと関係ないこと喚いてるだけじゃん
2020/01/16(木) 00:41:04.84ID:o+vnDRH4
>>886
日本語が不自由なら半島に帰れ
日本語が出来るつもりなら正しく伝わるように言え

Rustで書かれて開発体制がしっかりしているはずのFireFoxでも、
糞遅くてシェア落としまくりで最早ゴミになりつつあり、
セキュリティホールが存在しないって事もあり得ないと思うけど。

CとRustの対比で「セキュリティホール」を持ち出している時点で意味不明だが、
お前が言っていることに直接言及するならこうなる。
これには反論出来るのか?
2020/01/16(木) 00:43:31.18ID:AX8DDKRs
>>887
また関係ないことばかり書いて…
どっちが日本語不自由なんだか
2020/01/16(木) 00:45:07.72ID:o+vnDRH4
>>888
一応聞いておくが、>>880はお前だよな?
890デフォルトの名無しさん
垢版 |
2020/01/16(木) 01:20:17.86ID:o1pVy6eo
問題を起こさない人が書いたコードには問題がない
という主張になんの意味があるんだ
そりゃそうだろとしか言いようがない

そんな人間はいないという前提にいないならばプログラマー同士の議論にはならないだろ
891デフォルトの名無しさん
垢版 |
2020/01/16(木) 02:17:49.53ID:OG9QJoeV
>>877
お前のレスの C の部分をを他の言語にしても内容変わらないね。
つまり意味の無いレスだ。
2020/01/16(木) 05:48:47.89ID:I1VMveuP
自動車で考えると、自動運転が進むと自動車が優秀だから馬鹿が運転しても事故が起きない。

「馬鹿」は運転するなと?
「馬鹿」と言い切ってしまうから、問題がややこしくなる。感情的になるような気がする。
馬鹿除けとは、微妙な表現だ。
2020/01/16(木) 06:09:04.61ID:iXD/XJ1o
微妙だが実際linuxはそれで成功してるしな。。
馬鹿よけがびっくりするほど効果的だったという事実。
2020/01/16(木) 23:16:50.25ID:o+vnDRH4
>>892
> 「馬鹿」は運転するなと?
yes。DSL(例:Excelのマクロ)やアプリケーションレベルはやればいいが、システムレベルは止めた方がいい。

(一般的に滅茶苦茶切れると聞く)料理人用の包丁を素人が使ったら当然怪我するし、
子供に包丁を練習させるときには主婦レベルからしても切れなすぎて使えない果物ナイフ等から始めるだろ。
技量に応じた適切な道具はある。

システムレベルなんてプロの領域だから、Cすら適切に扱えない奴がやろうとするのが間違ってる。
愚直にこれ、つまり駄目なコードを目で見てrejectすることにより上手く行っているのがLinux。
RustはCすら満足に扱えない馬鹿の為にありとあらゆる補助輪を付けて
馬鹿な素人でもシステムレベルのプログラミングが出来るようになっている、
と考えるのは日本人の勘違いでしかない。
というか、どんな馬鹿でもどうにかして使って人件費を下げよう、という日本流思想が根本的に間違い。
年収を比べれば分かるはずだが、海外はざっくり2倍、つまり2倍の生産性であることを意味する。
https://qiita.com/jabba/items/72c7f9202a1a0a5616fc
といっても、ここにいるような奴は、「隣の奴より俺の方が倍働いている」「俺は平均よりは上だ」と思っているだろうし、
実際そうだとも思うが。

が、まあ、それはさておき、結果的に海外のプログラマは日本で言う「平均以上」の奴らのみで構成されているはずで、
俺らが日常的に目にしている「馬鹿」レベルはかなり少ないはずだし、結果、逆の方向、つまり、
・Cを適切に扱える奴が、もっと生産性の高い言語を使ったらどうなる?
を目指しているはずだ。だから必要であればunsafeを躊躇なく使うし、それでも問題ないわけで。
2020/01/16(木) 23:17:33.90ID:o+vnDRH4
そもそも何でもかんでも馬鹿中心に考えるのは馬鹿の思い上がりであって、
例えばGCにしても、「GCが無いとリークしまくる馬鹿の為の補助輪」ではなく、
「メモリ管理の煩わしさからプログラマを解放する」為の物であり、当然暗に「その先」を目指している。
だからそもそもCすらまともに使えない奴がRustを使うのが間違いで、
(実際どうかはさておき、目指しているところは)Rustはより生産性が高いというわけだから、
基本ラインとしては,、「Cだとメンドクセエ」「Cだと俺の理想のコードにならねえ」と思う奴が使う言語だろ。

つまり、本来は、問題を起こさないようになってから使う言語だよ、Rustは。
896デフォルトの名無しさん
垢版 |
2020/01/17(金) 00:37:23.07ID:N4X+Xwxw
そのキータには、日本人は同じレベルでも給料が安いと書いてあるようだが
897デフォルトの名無しさん
垢版 |
2020/01/17(金) 09:47:24.91ID:w7/ZzyeZ
enumがヴァリアントの最大幅とるってどういう原理?
structはCより最適化されてるよね
898デフォルトの名無しさん
垢版 |
2020/01/17(金) 11:18:32.31ID:5x//VkpE
Cのunionみたいな?
2020/01/17(金) 20:01:37.63ID:ci6pcaNH
馬鹿を自覚できてる人なら
必死の長文を連投したりはしないんだろうな
900デフォルトの名無しさん
垢版 |
2020/01/18(土) 00:49:52.56ID:LVpCcFR7
最近このスレを見始めて、過去ログから見てたんだけど、Cargoで不満言ってる人いるけど、理由って何?
単純に気になるんだけど、クソしか言ってないから分からん
2020/01/18(土) 02:06:56.11ID:PBVL2e99
あーん、actix様が死んだー
2020/01/18(土) 05:41:10.98ID:A26NF1jl
急募: actix-web 乗り換え先
2020/01/18(土) 06:25:00.35ID:MTwjFHlv
ファ!?マジでお亡くなりになってるやんけ
一体何があった?
2020/01/18(土) 07:04:10.17ID:i03lhjxa
ざっと見たところ、クソコメがひどいからactixのメンテやめるわって事かな
ベンチマーク詐欺師、バグだらけ、俺のパッチを受け入れろ
と言われて炎上したのが原因か?
2020/01/18(土) 07:05:30.30ID:5dxh/zOs
>>903
https://twitter.com/GolDDranks/status/1218153099639934976
https://twitter.com/5chan_nel (5ch newer account)
2020/01/18(土) 14:41:26.79ID:wMBhn349
なんで関係ない第三者が辞める宣言しとるんやと思ったら「辞めろ」のtypoか
ま、いうてすぐ別のフォークが誕生するやろ ハナホジー
2020/01/18(土) 20:42:42.95ID:1O2OVvd1
cargoは何でもやろうとし過ぎなのが一番のクソポイントだと思ってるけど、個人的には
・他のビルドツールと一緒に使うのが面倒
・パッケージマネージャとビルドツールが同じツールであることが非合理的
・昔は「crateはrustのコンパイル単位です」なんて戯言を抜かしていた
・rustcを改善するモチベーションが下がる
全部個人の感想だし、マンパワーが足りないならひと括りにするメリットはあったと思うけど、イケてないと常々思ってる
2020/01/19(日) 00:07:59.13ID:ZofGlu8L
以前はcargoからリンカを制御方法とか全く判らなかったけど最近出来るようになったのかな
2020/01/19(日) 06:17:00.35ID:npSn4vFb
Clangだから成功したと言えるのか?
Rustなどのモダンなシステムプログラミング言語があの時代にあればどうなったかは誰にも分からんだろ
リーナスがRustキチであっても他のプログラマとしての素質が変わらなければ成功したと俺は思うが

なんにせよ巨人の肩に乗ってマウントした気になっても万人がそれで納得するとは限らないし逆効果もあるぞ
2020/01/19(日) 06:19:04.90ID:npSn4vFb
なんか以前書き込んだはずのレスができてなくてロードしたら送信されたっぽい
>>893辺りへのレスだが恥ずかしいからROMるわ、すまんな
911デフォルトの名無しさん
垢版 |
2020/01/19(日) 09:48:12.84ID:TwfOJbH4
>>907
cargoの欠点答えてくれてありがとう
正しいcargoの立ち位置としてパッケージマネジャーの仕事だけして、今cargoがしてるビルドツールのラッパー要素を別にして、その別のでcargoとructcを単純に抽象化したら結構解決するってことかな?
2020/01/19(日) 10:13:54.83ID:L2mlhsAt
>>909
なにからなにまでずれすぎててどっからつっこだらいいのやら。。
clangとlinuxは全く関係ないし、
リーナスがrust推しだったらとかプログラムの好みからしてそれだったらlinux作っとらんしとか
どこからどこまでも間違ってるとしか言いようがない。
仮定としてできることとしたらc++テンプレートの信頼性が当時高かったらとかその程度だろう。
それでもc++を使うことはなかっただろうと思うが。
913デフォルトの名無しさん
垢版 |
2020/01/19(日) 10:31:40.67ID:PM2cmccN
LinusにRustを教えたのがアワシロイクヤ氏だったのも良かったんじゃないか。
人柄だな。
2020/01/19(日) 11:07:27.21ID:QWtapXFZ
>>909
お前は問題の本質が分かってない。
言語の問題ではなく、マネジメントの問題だ。
巨人の肩に乗ってマウントガーなんてのは、お前がコンプレックス持ちの馬鹿だからそう勘違いするだけ。
誰もそんなことしようともしていない。

駄目なコード片が混入した場合、何も保護機構がないCではプロジェクト全体が死んでしまう。
よって、どうやってそれを防ぐか、という話であって、Linusはアナログ的に「目で見てreject」をやってる。
それでLinuxは最も成功しているOSSの一つなのだから、これは結果的には正しい、とは言える。

が、当然これはデジタル的には格好悪すぎる。
よって各種言語は何とかして静的に検査をしようと、文法を拡充させてきた。
C++文法がゴテゴテになってるのも、Rustがやたらコンパイルが厳しいのもこれだ。
これで短/長期的な生産性を競おう、ということになっている。

さて、Linusの「馬鹿が書いたコードなんてイラネ」は「それ言っちゃおしめえよ」ではあるから、当然反発はされる。>>892もこれだ。
とはいえ、結果的にこれは単純には、
1. Cで問題ない奴はCで書く
2. Cでも問題ないレベル(安全装置がなくても問題ない人達)だが、Linusのやり方が気に入らないからコミットしない
3. Cでは駄目なレベル(安全装置があるから何とかなっている人達)だが、Rustならいけるかも?
で、Linuxは結果的に1だけでプロジェクトを動かしている。
その分、commit出来る人が減り、追従は遅くなるが、今のところ他よりまし、ということになっている。
一方、Rustで何かプロジェクトを起こした場合、2だけで構成するならLinuxを倒せるはずだが、3の人達の混入を防げない。
駄目なコード片の混入を防ぐのは、プルリク段階で弾くのがもっとも効率がよく、
一旦受け入れて問題が発生してデバッグだと1000倍以上の手間がかかってしまう。
よってこれはプロジェクトにとっては大問題で、絶対にやってはいけないのだが、これを防ぐことは今現在出来ない。
というか、今の言語はまだここまで進化出来ていない。
2020/01/19(日) 11:07:44.98ID:QWtapXFZ
だからこれは、長期的には「どのレベルの人まで受け入れるか」「それで十分な人数が確保出来るか」であり、
C++を丸ごと切り捨てているLinuxは相当思い切った判断だが、それでも何とかなっているし、
結果的には、全く保護機構のないCだとこれが正解だ、ということでしかない。

対してRustみたいに安全機構が付いている言語だと、そのレベルを下げられ、結果的にコミッタも増え、早く進化していけるはずで、
だからこそ進化速度が重要なブラウザをターゲットに選んだのは正しいのだが、
結果的に死につつあるのだから、確実に何かが間違っていたはずであり、
それは既に言われているが「学習曲線」、つまりそもそもチャキチャキ書けないことだろう。
1,2の人達にとっては厳しい検査なんて足枷でしかない。3を救済する為に1,2に足枷をはめていて、
結果的に総合的な生産性が落ち、プロジェクトが死につつある、というだけの話だ。

だから、個人的には、正解は「C+外部検査(リンター)」だと思っている。
今で言うとTypeScriptみたいな、チェック機構外付けの言語とかだ。
静的検査が出来る=静的検査をリンターとして外部に切り出せる、でしかないから、
静的検査メインで言語を拡張するのはナンセンスだ。
(Rustはそうではないが)
916デフォルトの名無しさん
垢版 |
2020/01/19(日) 11:13:46.05ID:PM2cmccN
アワシロさんはそうは言ってなかったな。
むしろRustは普遍的にどこでも使えると説いてた。
917デフォルトの名無しさん
垢版 |
2020/01/19(日) 11:19:38.67ID:PM2cmccN
Rustは銀の弾丸足りえると世界の重鎮が口をそろえるし、俺はお前よりアワシロイクヤ氏を信じるね。
2020/01/19(日) 11:52:50.23ID:7W3/Ww9S
・論拠と解釈がオレオレ過ぎ
・安全性に対する理解が浅すぎ
・プロジェクトの成功/失敗に対する見識が甘すぎ
・面白くないくせにレス長過ぎ
2020/01/19(日) 12:13:02.49ID:xMKry/BQ
そもそもFirefoxのほとんどはC++なんだから、言語のせいにしたいならC++のせいってことでは。
2020/01/19(日) 12:39:52.36ID:L2mlhsAt
まあlinusが良く言ってるようにじゃあそれで作ってみれば?って話なんだわな。
そして誰も作らないというのが答え。
2020/01/19(日) 13:24:12.12ID:QWtapXFZ
>>919
成功したら俺の手柄、失敗したら相手のせいか。
さすがバヨク御用達言語だな。

Rustコミュニティの問題は>>905に典型的に現れているが、(なお俺はGitHubのactixのreadmeも読んだ)
> 「つまらないPRだな」と
> 上から目線のコメントを書き、
> 関係のない(?)人から「そんな態度でお前にRustを書く権利はない、辞めろ」と怒られて
他でも言われてるとおりSJWの巣窟になってる。
これは明らかに防げた問題でしかないだろ。

これから売りになる(はずの)モジュールを別言語で、というのはもっと慎重に行うべき判断で、
比較するとしたら、
・servoをRustで書いた今のFireFox
・servoをこれまでの言語(多分C++)で書いたFireFox
なんだよ。単純には人数的に多いC++を切ってRustを入れたのだから、これだけで被害が出る。
そしてそれを上回る物をRustが持っているか、といえば、ない。結果、沈没してるだけ。
Rust自体に意味がないか、時期が早すぎたかのどちらかで、どちらかは今後確定する。
それとは別に、コミュニティがおかしな方向に腐っている、というのは既に発生しているようだが。
2020/01/19(日) 14:26:00.08ID:FAn8lf8z
> ・面白くないくせにレス長過ぎ

これなw
923デフォルトの名無しさん
垢版 |
2020/01/19(日) 15:56:33.65ID:ehZNNwbS
また禿の話してる
よく飽きないな
924デフォルトの名無しさん
垢版 |
2020/01/19(日) 17:14:22.99ID:TwfOJbH4
servoって失敗してるの?
根拠かソース欲しいな
2020/01/19(日) 17:40:01.25ID:QWtapXFZ
>>924
信者には成功と見えるのは理解した
926デフォルトの名無しさん
垢版 |
2020/01/19(日) 17:59:29.14ID:TwfOJbH4
>>925
servoの現状知らないから聞きたかっただけなんだけどなぁ・・・
他人を勝手に敵と思って攻撃するような人間で君(QWtapXFZ)を信頼できると思うのかな、他の人は。
長文先輩は興味なかったけどキモいな
2020/01/19(日) 17:59:49.13ID:L2mlhsAt
servoのコード見る限りはrustで書く意味なくね?って感じだがな。。
ほとんどunsafeコードだし。
928デフォルトの名無しさん
垢版 |
2020/01/19(日) 18:31:53.27ID:PM2cmccN
Rustはコンパイルを通ればバグが無いことがある程度保障される。
それがC++やJavaに対するアドバンテージ。
2020/01/19(日) 19:37:27.07ID:QWtapXFZ
>>928
それHaskellも言ってたけどな。

まあ静的検査で出来るところは静的検査でやるべきなのは事実。
C++もそれを目指してはいるが、結果的にグチャグチャになっている。
そしてRustもそれを目指してはいるが、
結果的に「Cだと全く問題なく動く、バグのないコード」でもコンパイルが通らずに苦労してるわけだろ。
それじゃそもそも話にならんだろ。
C++なら「やらない」という選択肢はあるが、コンパイルが通らないようでは回避しようがない。
そして全員に「Rust流」を強制することになり、これがSJWが蔓延る遠因なのかな、とも思うが。

Javaが良いとは言わんが、最も成功している言語であるのも事実だよ。
そこはわきまえた方がいい。今のRustなんてJavaからするとゴミ以下だ。

いずれにしても、俺は静的検査はリンターとして分離出来ると思っているから、
そこに差別化要因を求めるのは間違いだと思ってる。
コミュニティが機能していれば、本当にRustの静的検査能力が素晴らしいとなれば、
リンターとしてC++やJavaやPythonにポーティングしようとする奴は必ず出てくるし、技術的にも大して問題ない。
その後で何も残らんだろ、Rustには。
2020/01/19(日) 19:48:55.59ID:EjNCf+Xg
RustだJavaだとか比較する以前に
ちゃんとプログラ厶書いたか怪しいレベルなのがわかる
931デフォルトの名無しさん
垢版 |
2020/01/19(日) 20:40:52.98ID:TwfOJbH4
長文先輩がコーディングするわけないじゃん、机上の空論が大好きだから
2020/01/19(日) 21:35:55.76ID:K0reTlt5
Cを問題なく書く人がRustのコンパイル通らないから足枷になっているという議論破綻しているような
潜在的の問題になりうるコード書いているからコンパイル通らないわけで
プログラムは動けば良いわけじゃないよね
2020/01/19(日) 22:16:57.63ID:L2mlhsAt
で、そういうコンパイルエラーが生じた際の処置の仕方に問題が起きやすいわけだよ。
バカだととくにね。
資源の解放タイミングなんかはだいぶグローバルな構造によってるわけで
コンパイルエラーのときに気づくようなバカがどういう修正を行うかだいたい予想はつくわな。
2020/01/19(日) 23:10:53.79ID:QWtapXFZ
>>932
C書ける奴がRustを手こずる理由は、寿命管理の戦略が根本的に違うからだよ。
正確に言えば、Cの場合は
A. ブロックスコープと連動
B. 投げ捨て
のどちらかが大枠の戦略だけど、ちゃんとCやる人ほど殆どAでやっている筈。
Rustはブロックスコープです、と言っておきながら実はBを要求するから戸惑っているように見える。

ただ、なら最初からBで組め、というのは全くその通りで、
だから俺は「Rustなんて簡単さ」という奴が出てこないのも若干不思議に思っている。
とはいえJavaScriptも「プロトタイプが分からんからクラス入れろ」
「非同期では組めないからコールバック地獄ガー」となる奴等ばかりだから、
「人間は一度成功したらそのやり方にこだわってしまう」とは聞くが、俺の想像以上にそうなのだろう。

ただまあ、実際のところ、Cの場合は
> 資源の解放タイミングなんかはだいぶグローバルな構造によってるわけで (>>933)
の通り、その上位でそもそも「資源管理が難しくない構造」にしてしまうから、リークに困るって事はない。
実際、素人が作ったアプリでも、リークして困るって物は存在しないでしょ。

とはいえ、この「下部構造の為に上部構造をいじる」ってのはプログラミング理論としては最悪で、
これを何とかして回避しようとC++含めていろいろ努力してきているけど、
俺が見る限り今のところGCが一番ましな戦略だと思うけど。

ま、いずれにしても、C書ける奴もRustに手こずっているのは事実だよ。
それはググれば分かるはずだし、理由は上記の通りで、言い換えると、
C流でやろうとしてもRustは通さないから。
ただ、資源戦略はBよりもAの方が適切な場合が多く、デフォでB強制なのは根本的に間違っている気はするが。
2020/01/19(日) 23:55:03.54ID:EjNCf+Xg
Cすら書いたことあるか怪しいな
936デフォルトの名無しさん
垢版 |
2020/01/20(月) 03:49:44.77ID:KSbNzMqr
LinuxがRustで書き直される時代に何言ってんだか。
937デフォルトの名無しさん
垢版 |
2020/01/20(月) 04:11:09.68ID:YZhtkMgR
>>936
まじでそんな動きあるの?
938デフォルトの名無しさん
垢版 |
2020/01/20(月) 05:00:13.14ID:KSbNzMqr
んなことも知らんと議論してたのか。
939デフォルトの名無しさん
垢版 |
2020/01/20(月) 05:10:07.77ID:YZhtkMgR
ただの妄想じゃないの
940デフォルトの名無しさん
垢版 |
2020/01/20(月) 05:15:03.08ID:KSbNzMqr
俺はあわしろいくや氏を信じてる。
2020/01/20(月) 06:20:52.90ID:C5W07UVU
>>937
>>852
2020/01/20(月) 06:59:38.41ID:Ue7v6gdS
redoxをlinuxの書き直しと言うのはさすがに無理がある
2020/01/20(月) 09:40:48.70ID:Un63cF9L
信者なんてその程度
2020/01/20(月) 09:50:44.62ID:jQa3q5cx
ドライバーをRustで書くという話にLinusが
切れてないという程度
2020/01/20(月) 10:53:33.32ID:NEzbRv6D
いずれにしろC/C++のような不安全な言語は極力避けようと言うのが世界的な流れ
2020/01/20(月) 20:12:40.94ID:dqQuCzGx
別に切れちゃいないが「まあ無理だろw」みたいな感じだろね。
https://www.youtube.com/watch?v=CYvJPra7Ebk
こういう言語でなんとかしようって馬鹿な話はSIerがさんざんダメだってことを証明してるのに
バカはまだこだわってるんだな。
2020/01/20(月) 20:28:06.68ID:tbWOohPK
でも使う言語にこだわらないでいると、化石みたいな生産性で競合と戦うハメになるよ
948デフォルトの名無しさん
垢版 |
2020/01/20(月) 21:33:20.43ID:5waZG120
SIerなんてそもそもJava, PHP(笑)でゴミみたいな質のソースと、ゴミみたいなレガシー設計を量産するのが関の山だろww
2020/01/20(月) 21:57:55.02ID:cy4NQj+h
日本なんて情弱経営者ばかりだから数字さえ良ければ許されるだろ
実際はゴミクソの低能率作業が横行していようがどこ吹く風だ
2020/01/20(月) 22:12:00.69ID:sWdHB/Bv
ゴミを作れば片付ける必要があるし、作り直しもあるから金になる
951デフォルトの名無しさん
垢版 |
2020/01/20(月) 22:23:05.21ID:KSbNzMqr
それは良い考え。
952デフォルトの名無しさん
垢版 |
2020/01/20(月) 22:50:52.96ID:lnEeuZyw
actix-webの件はどうなるんかな
Rustが原因なわけじゃないけど、コミュニティの問題として見られるだろうし、使ってる側としては気が重い
953デフォルトの名無しさん
垢版 |
2020/01/20(月) 22:55:48.60ID:lnEeuZyw
今見たらリポジトリ復活してた
2020/01/20(月) 23:27:00.65ID:HxwZGjH+
別の人が引き継ぐみたいだね
2020/01/20(月) 23:44:36.38ID:Y1i1RW21
MSはサポートしないの?
956デフォルトの名無しさん
垢版 |
2020/01/21(火) 11:08:07.76ID:tYXdVzB6
むしろMSがサポートするの嫌だろ
957デフォルトの名無しさん
垢版 |
2020/01/21(火) 12:35:10.79ID:USbDfMqQ
>>948
まさに使い捨てコーダーωωω
https://www.youtube.com/watch?v=7VH-N-dsq3Y
2020/01/21(火) 15:22:48.61ID:KlYj5Sls
>>950
社会的に見たらいずれにしろマイナス
2020/01/22(水) 04:33:49.88ID:/l43RMQj
>>955
そもそも前メンテナがMS社員だぞ
2020/01/22(水) 14:52:21.69ID:rj2HkyIb
>>959
メンテナがMS社員で
MS内部でもactix-webをproductionで使うプロジェクトが進んでた
そういう状況でunsafe叩きに嫌気が指してメンテナが降りたのに対して
MSはサポートに乗り出さないのだろうか?

と書けば理解できるかな?
961デフォルトの名無しさん
垢版 |
2020/01/22(水) 16:14:36.89ID:Q1SWDCUb
MS社員はろくなのいないよな
メンタル弱かったらOSSすんなよ
2020/01/22(水) 17:57:54.25ID:P151XVeS
一人がそうだからって全てそうと言える頭どうなってんだろうな
2020/01/22(水) 19:23:08.32ID:Zee9zwDz
Rust学べばCも学んだことになるだろうか
2020/01/22(水) 19:24:15.52ID:rFx4FWy6
天文学者と物理学者と数学者がスコットランドで休暇を過ごしていた。列車の窓から眺めていると、平原の真ん中に黒い羊がいるのが見えた。

天文学者:なんてこった!スコットランドの羊はみんな真っ黒なんだね。
物理学者:違う違う。せいぜい何匹かが黒いだけさ。
数学者:(天を仰ぎながらやれやれという調子で、抑揚を付けて)スコットランドには、少なくとも1つの平原が存在し、そこに1匹の羊が居て、さらにこっち側の片面が黒いということが分かるだけさ。
2020/01/22(水) 19:30:05.28ID:uoDMOHZt
>>963
いいえ
Cの真髄はメモリ破壊のデバッグにあります
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況