Rust Part7

レス数が900を超えています。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/
2019/12/12(木) 17:31:07.39ID:Ijd1d2r8
>>815
そもそもプラットフォームにWebを選んだ時点でリアルタイム性や実行速度はそこそこで十分だからなあ
それらが重要になるのはもっと保守的な領域なので、Rustとかいうポッと出の言語は知られてすらいない
2019/12/12(木) 17:56:12.23ID:40jm9Rb/
【急募】Rustでwebサーバー建てるお仕事〔ゲーム会社除く)
818デフォルトの名無しさん
垢版 |
2019/12/12(木) 18:32:44.32ID:Lo+C9eAO
引越は引越のANT
2019/12/12(木) 20:51:45.28ID:Rc7qy7fw
ライフタイムの考えは面白いけどそれだけだな。
820デフォルトの名無しさん
垢版 |
2019/12/12(木) 21:37:13.27ID:QcnezoE2
俺はRustでいいじゃんと思うけど
2019/12/12(木) 22:14:18.36ID:G9zUefNb
でも案件無いんだなこれが
2019/12/12(木) 22:17:59.83ID:VqiNoJ2J
世界が必要としてるのは新言語ではない
Innullable Javaだ
2019/12/12(木) 22:26:30.76ID:fj3dIJyl
>>817
url貼らないけど自転車本の著者の一人がそれやってる会社にいる
824デフォルトの名無しさん
垢版 |
2019/12/12(木) 22:28:50.79ID:QcnezoE2
その人のブログはとても勉強になる
2019/12/13(金) 00:13:33.89ID:WNmLBJqN
Webって技術的には正直面白くないからなあ
だからリビドーを持て余した連中は変な言語に走る
2019/12/13(金) 01:57:25.93ID:vrg8AVXf
orbtkが熱いと聞きますた
まだ触ってない
2019/12/13(金) 06:03:41.34ID:GlNmi7Tq
じゃ、orbtkがWindowsでうごくとこ動画で見せて
2019/12/13(金) 07:00:10.85ID:vrg8AVXf
甘えんなハゲ
2019/12/13(金) 12:21:49.28ID:RHHuV/p6
取ってきて cargo run --example ... するだけなのになんで動画?
2019/12/13(金) 21:22:09.48ID:AirhCkz9
example動かしてみたけど
これはゲームUI専用のやつなんだな
OSのウィジェット使ってないからクリップボード使えないし
日本語入力も出来ない
2019/12/13(金) 22:27:30.69ID:wVI96F7k
C ABIから使えるネイティブウィジェットのGUIツールキットTcl/Tkが候補に挙がるくらい少ない
2019/12/14(土) 23:18:55.66ID:g6QtWyIm
そこまでメモリ管理にシビアなプログラムの需要が日本にはもうない。
2019/12/17(火) 21:59:30.10ID:xN+qS68V
Iced も example tour 見てみた感じよさそうに思った
ただご多分に漏れず日本語は入力できない(□になった)
難しいんかね ttps://github.com/hecrj/iced/issues/103
2019/12/18(水) 02:09:28.71ID:Y1VmG9h8
>>833
あんまり詳しく見てないけど、Elmと同じモデルを採用してるというのがセンスいいね
2019/12/23(月) 14:56:30.58ID:FLE8lYOm
JavaScript 今から覚えるくらいなら Elm やれ
836デフォルトの名無しさん
垢版 |
2019/12/23(月) 20:42:31.88ID:sS1JWXeN
elmは絶対に流行らない首をかけてもいい
2019/12/23(月) 21:58:51.00ID:j6aRoIp6
Rustの立ち位置も似たようなもんやで
838デフォルトの名無しさん
垢版 |
2019/12/23(月) 22:27:56.54ID:0aHLh1ru
もじらが作ってmsがおうえんしてくれてふだろ。
で?elmは?w
2019/12/24(火) 00:47:07.34ID:4c9jV6+e
erlang見て小ルーチンええな〜言ってるレベルだがな。
2019/12/24(火) 01:08:10.92ID:9irKuexe
軽量プロセスはコルーチンではないぞ
2019/12/24(火) 07:17:39.18ID:1am5/M78
TEAベースのKaguraもよろしくお願いしますね
2019/12/25(水) 23:32:33.59ID:MA63ugKX
軽量プロセスはコルーチンちゃうんか
2019/12/25(水) 23:38:34.92ID:rtgRmFxx
プロセスはスレッドが別のこともあるけど、別スレッドで動作するものをふつうコルーチンとは呼ばないね。
2019/12/26(木) 00:26:57.90ID:AhAD5nXk
ほなコルーチンと違うかぁ
もうちょっと詳しく教えてくれる?
2019/12/26(木) 10:48:13.00ID:s9rWqp86
名古屋コルーチン
2019/12/27(金) 20:54:40.66ID:zMa/58Jf
軽量「プロセス」とか言い出したのは誰だよ…
2019/12/27(金) 20:57:38.45ID:zMa/58Jf
>>832
兵器産業ではあるあるかもしれん
現行F-2のFBWのコードは小さいROMによく収まったなあという意味で芸術品との噂
2019/12/27(金) 23:08:45.63ID:mZEWK1vc
なーにちょっとセグフォったぐらいヘーキヘーキ
2019/12/27(金) 23:11:02.66ID:uyqJfPGf
Rustクソむかつく
訳わからんとこでエラー吐いて遅々として進まない
850デフォルトの名無しさん
垢版 |
2019/12/27(金) 23:40:09.93ID:CoHNsOHu
それをロンチ後に味わうよりずっといい
2019/12/27(金) 23:55:25.45ID:URhJW9sD
可能性の塊やぞ
2019/12/28(土) 09:01:50.45ID:vlOag0kC
https://www.redox-os.org/jp/
密かに期待してる
2019/12/28(土) 18:55:04.32ID:IqI7wbUC
>>852
今はどういう段階なの?
ブートするだけ?
2019/12/28(土) 23:58:48.46ID:REPcOsSU
>>849
Rust難しいけど相応の対価はあると思うぜ
855デフォルトの名無しさん
垢版 |
2020/01/01(水) 08:04:30.24ID:6zSEt3Eo
重量プロセス
856デフォルトの名無しさん
垢版 |
2020/01/03(金) 00:21:36.29ID:4CdCqvzm
なんか,外部クレートを取ってこれなくなってない?
サーバ側がバグってる?
857856
垢版 |
2020/01/03(金) 00:32:48.86ID:4CdCqvzm
これっぽいんだけどなー
よくわからん。俺だけ?
https://github.com/rust-lang/cargo/issues/6513
858856
垢版 |
2020/01/03(金) 00:40:14.08ID:4CdCqvzm
これで自己解決しました
失礼しました
https://kokeshing.com/unable-to-update-registry-error-cargo/
2020/01/13(月) 02:25:37.87ID:kbEHI+CO
C系のワンラインifや?演算子は悪しき文化だと思うこの頃
最近書かれたOSSのコードにも多用されていたりするから笑えない
もちろんRustでそんな邪悪な書き方は許されていないけど
2020/01/13(月) 06:53:45.05ID:j6Sgy/j5
?演算子が無いとこれができん↓↓↓
const int y = (x > 0) ? 1 : -1;

if文を使うと
int y;
if (x > 0) {
 y = 1;
} else {
 y = -1;
}
となってyがmutableにせざるおえない
2020/01/13(月) 09:12:02.94ID:Xv6FKp77
>>859
Rustは糞だな
それが好きならお前が整形ツール使えばいいだけの話

>>860
> let y = if x == 5 { 10 } else { 15 }; // y: i32
https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/if.html
2020/01/13(月) 09:13:06.23ID:Xv6FKp77
すまん、言い忘れたが、俺は出来るだけ ? を使う派だ
2020/01/13(月) 15:23:43.45ID:xcD2sz0v
そんなカスな書き方にこだわるくらいならconstでなくても困らんくらいに関数きれや。
864デフォルトの名無しさん
垢版 |
2020/01/13(月) 16:29:03.41ID:axFuJyFl
C
x = y == a ? A : B
x = y == a ? A : y == b ? B : C

Python
x = A if y == a else B
x = A if y == a else B if y == b else C

優先順が判りにくい
2020/01/13(月) 18:52:00.24ID:BwoUkKtw
なるほど
https://ideone.com/TvRR80
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はそうではないが)
レス数が900を超えています。1000を超えると表示できなくなるよ。