- 1 名前:デフォルトの名無しさん [2022/03/22(火) 03:23:41.60 ID:ZDHdo9X7.net]
- スレタイ以外の言語もok
前スレ 次世代言語23 Go Nim Rust Swift Kotlin TypeScript https://mevius.5ch.net/test/read.cgi/tech/1638086359/
- 719 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:43:27.34 ID:7NJqkFJL.net]
- Rustのコンパイラはどの部分とどの部分がどういう問題となっていて今回のエラーとなっているのかを
複雑なケースでも丁寧に教えてくれて学習効果も高いですね
- 720 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:38:03.26 ID:ALVqghU/.net]
- 結局 c -> c++ -> rust って感じに進まないと理解できないと思うがな。
いきなり c -> rust で何をやってるか理解できるとはとても思えん。 この種のことをrust信者はすぐ誤魔化す。
- 721 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:45:26.66 ID:n9UcTFQC.net]
- >>708
どのあたりが理解できないと思う?
- 722 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:47:43.60 ID:3YobdmGS.net]
- >>708
そこは完全に逆 C++は学ぶ必要なし 今となっては何の価値もない言語 C++を学んでも回り道をしている無駄なunique_ptrくらいしかRustのために役に立つ知識がない
- 723 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:53:42.52 ID:EFTB/rfv.net]
- >>708
自分はそのルートだったけどC++を経由する必要はどうかなぁ 現代のC++をマスターするのはRust以上に難しいし、初心者が自分でどこまで学べばいいかを判断するのも難しそう まぁ結局我々は初心者ではないので推測で言ってもあまり意味はないけど
- 724 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:02:06.42 ID:SpxMIjuY.net]
- 要するにマロックだろ?
- 725 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:11:18.68 ID:UvtYS0nS.net]
- 単刀直入に言うと
実はC++とRustには共通点が非常に少ない 特にC言語との共通点を除くとほとんど残らない だから学ぶべきはC→Rustが正解
- 726 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:38:59.26 ID:P+77Yson.net]
- >713
>実はC++とRustには共通点が非常に少ない そういう嘘をつくからRust信者はクソ言われるんだよ。 Rustの根幹をなすメモリ安全性はC++のRAII/unique_ptrから着想を得た所有権/ムーブセマンティクスの運用を徹底することによって実現しているし、 Rc/ArcもC++のshared_ptrの機能を強化しているだけ。 引数渡しをムーブセマンティクスデフォルトにするという致命的ミスをしているからC++と別物のように見えるけど、 C++ユーザーからすればC++を少し洗練させたぐらいにしか見えない。 その実体を知りながら「共通点が非常に少ない 」とか言うのは詐欺師ぐらいなものだ。
- 727 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:49:01.58 ID:0K2sKttC.net]
- C++に着想を得ているのはそうだと思うけど、歴史通りの順番で学ぶ必要ある?
(その理屈だと最初はパンチカードからかな…) C++の後付したわかりにくいmoveを学ぶより、最初から洗練された方を学んだほうがいいと思うけど
- 728 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:53:43.59 ID:EFTB/rfv.net]
- C++の歴史を追っていくみたいなのは、言語設計的にはすごく学びがあって、好きな人にはおすすめなんだけど
ただプログラミングがしたい人におすすめできるかというと…
- 729 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:55:25.64 ID:cvyLC6WE.net]
- 現実的にはPythton or Java or C# → C → Rustかな
- 730 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:00:59.18 ID:LZU2nudI.net]
- 最近のC++はなんとRustの後追いをしている状況
例えばRustの中核となっている enum OptionとResult そして Iterator Optionは C++では std::optionalで これはC++17でようやく導入された Resultは C++では std::expectedで これは現在導入に向けて審議中 Iteratorは C++では std::rangesで これはC++20でようやく導入された このようにRustでの成功を見てC++が後から導入となっている 最近導入されたばかりなのでC++入門書や解説サイトにはもちろん出てこない 【結論】C++は学ぶ必要なし
- 731 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:05:05.94 ID:cvyLC6WE.net]
- C++は無駄に増改築を繰り返された老舗旅館
通路の途中で無駄に段があったり渡り廊下があったり HPに書いてある現代風の部屋に泊まれる場合もあるけど古い部屋に泊まることもある
- 732 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:09:41.54 ID:EFTB/rfv.net]
- C++98ならそんな増築感はなかったけど、そこまで戻るとRustとの共通点もほとんどなくなっちゃうしなぁ
- 733 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:15:44.17 ID:ehpYMGIZ.net]
- RAIIとテンプレートメタプログラミングが発見されてから独特の進化を始めたな。
- 734 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:16:15.06 ID:cvyLC6WE.net]
- >>718
>>720 新しい部分を指してC++を学ぶべきと言ってるのではないと思うよ それまでのC++からC++11 以降の新しい流れをみるんだろ C++で何が都合が悪かったか判る
- 735 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:19:37.41 ID:EFTB/rfv.net]
- >>722
それって歴史を知っている我々には分かるけど初心者に分かる?
- 736 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:24:26.93 ID:cvyLC6WE.net]
- >>723
自分はC++を学ぶべきとは思ってないけど何が都合が悪いのか体験したらいいということだろうと推測 初心者にわかるかどうかは知らない 初心者にはjava C# Pythonを勧める
- 737 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:26:21.53 ID:2dOqhr+x.net]
- C++の増改築を学ぶのはムダな枝も多くて学ばないほうがいい
RustはC++含めた様々な言語から色々採り入れているけど 洗練して整合性あるようコンパクトに採り入れてるからシンプル
- 738 名前:デフォルトの名無しさん [2022/04/09(土) 12:36:22.62 ID:HmFS1ypI.net]
- >>694
URLキボン
- 739 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:42:40.46 ID:cvyLC6WE.net]
- フレンド関数とか学んでも使いどころなどない
- 740 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:44:13.05 ID:qlihBLS+.net]
- >>706
> どこが悪いのかは自分で分かっていない Rustで作ったゲームなら、フリテンですor役がありません、と親切に教えてくれるよ と信者の代わりに突っ込んでみる
- 741 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:51:14.42 ID:byaB+Tw8.net]
- Rustのコンパイラは賢い先生みたいなもので不十分なところを的確に適切に指導してくれる
昔Rustは学習難易度高いと言われていたためコンパイルエラーに最も力を入れたプログラミング言語へと成長した
- 742 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:52:42.79 ID:lI/OjvKQ.net]
- レス番がとびとびなんだがそんなに長文書き込んでるやついるの?w
- 743 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:05:08.55 ID:P+77Yson.net]
- >715
何をトンチンカンな指摘をしているんだよ。 >713 >実はC++とRustには共通点が非常に少ない に対する反論なのに、 >715 歴史通りの順番で学ぶ必要ある? とか共通点の話と何の関係も無いだろ。 Rust信者はこういう詭弁を弄するクソしかいないのかね。 あと、言語の話をしているのに > (その理屈だと最初はパンチカードからかな…) とか言語じゃないものを引っ張り出すようなアホな反論するなよ。
- 744 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:10:56.96 ID:Wb48yUxI.net]
- >>718
C++から見てRustのそのシンプルで分かりやすい記述と概念は羨ましい だからRustから輸入する形で取り入れることになった
- 745 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:23:59.57 ID:P+77Yson.net]
- >718
>最近のC++はなんとRustの後追いをしている状況 Rust信者は我田引水が酷いな。 C++の標準化が遅いのはC++が巨大だからであって、しがらみのないRustの方が採用早くなるのは当然だろ。 > Optionは C++では std::optionalで これはC++17でようやく導入された 初出はboost::optionalで2003年8月 > Resultは C++では std::expectedで これは現在導入に向けて審議中 これはboost::outcomeが初出かな? 2014年 > Iteratorは C++では std::rangesで これはC++20でようやく導入された そこそこ違いがあるけど、boost::rangeは2003年。 どれもRustリリース前のものばかりだろ。 RustがC++のアイディアをパクって先行実装しただけじゃね?
- 746 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:25:35.27 ID:OTzifHJR.net]
- C++の貧相なラムダ式見て涙出てくるわ
おばちゃんの必死の若作りみたいで痛々しい >>730 相変わらず読む価値無しの駄文オナは続いてるようだよw
- 747 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:29:34.12 ID:il24SwZF.net]
- https://mevius.5ch.net/test/read.cgi/tech/1643289587/
そろそろこっちでやってくれませんか?
- 748 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:41:58.59 ID:xJyQ5Sl3.net]
- >>733
C++にはRustのenum(=型収容付きenum=タグ付きunion)が無いため それらC++のバージョンはRustのものより劣っている それではRustに勝てない
- 749 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:01:07.29 ID:n9UcTFQC.net]
- スレタイの言語間で争える話題ないか考えてみたけど
それぞれ狙うところがバラバラで共通項がないな
- 750 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:06:05.68 ID:J0gE1zR3.net]
- rustスレでやれば
もうJavaレベルには普及しないって結論じゃん
- 751 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:11:30.90 ID:cvyLC6WE.net]
- 次のスレからRustの話題は荒れるから禁止にしてスレタイからも削ろうw
- 752 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:14:38.49 ID:ehpYMGIZ.net]
- このスレで荒れてくれる分には構わんわ。C++スレとかRustスレとかを荒らさないで。
- 753 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:19:25.04 ID:mmQa05p2.net]
- 便利さを理解するために不便さを体験するべきか否か論な訳だけど、個人的にはそれをするにしては遠回りが過ぎるのがC++という長大な壁だと思っているので経由する必要はないかなと思ってる
代わりの話としてZigとかどうよ 依存型的なコンパイル時計算と実行時計算をフラットに書ける感じ 結構賛否両論来そうな話題だと思う
- 754 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:22:44.53 ID:cvyLC6WE.net]
- あれるのは上等なのか
関数オーバーロードがない言語は軒並み糞
- 755 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:27:38.36 ID:OWfDePLk.net]
- オーバーロードあると高階関数に渡すときに一手間かかるのがヤダ
- 756 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:30:13.22 ID:cvyLC6WE.net]
- 標準ライブラリの標準関数のシグネチャー変える言語は糞
- 757 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:31:10.30 ID:DIYn4SHb.net]
- 教育には自分を撃てる言語を使った方が良いのでは?
- 758 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:31:48.55 ID:cvyLC6WE.net]
- コンパイルするときにファイルのフォルダ階層に依存する言語は糞
- 759 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:33:14.01 ID:gSPSOhuN.net]
- pythonガチアンチ勢がいるらしいな
- 760 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:38:25.49 ID:cvyLC6WE.net]
- mainのあるファイルから連鎖的に参照されないと同じフォルダにあってもソースがコンパイルされない言語は糞
- 761 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:40:09.03 ID:cvyLC6WE.net]
- 言語じゃなかったな
コンパイラ環境か?コンパイラドライバか?
- 762 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 15:06:56.55 ID:BphNan8J.net]
- 言語依存の特性というよりはコンパイラがインクリメンタルかリカーシブルかなんて、言語にほとんど関係ない・・・
- 763 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 15:33:43.71 ID:cvyLC6WE.net]
- じゃあ
ファイル名がクラス名やモジュール名と一致してないとダメな言語は糞
- 764 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 17:12:33.80 ID:+P+cdtWg.net]
- 自分じゃ話題も振らないのに他のスレでやれとかいう輩って・・・
- 765 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 17:40:19.06 ID:qlihBLS+.net]
- >>741
> 便利さを理解するために不便さを体験するべきか否か論 そう捉える奴も多いのだろうが、それだと完全に精神論になってしまうだろ。 コメントで要求されてる「Howは要らない。Whyを書け」と捉える
- 766 名前:べき。(C++はRust仕様のコメント)
つまり、C++でどういう手法が試され、結果としてRustが何を採用してるかを紐解けば、 Rustが何故こうなっているのかが分かる、というわけ。 信者がひたすら「Rustは正しい」と信じることしかできないのは、Whyを知らず、妥当性の判断能力がないから。 ただしHowはRustの場合は文法にしてしまっているので、 Whyを知らなくても、知ってる奴と同等のコードは生成出来てしまう。 だからプロダクト目的のRustドカタには必要がないのも事実。 (これはフレームワークに於いて、何故こんな構造を採用したのか?とか考える必要がなく、 ただ従って正しく使えば生産性が上がるのと同様) 逆にアカデミックとか、Rustの次の言語を考えたい奴がWhyを抑えないのは問題。 信者ではなく、自分で判断してRustを選択したと言いたいのなら、Whyを知らないといけない。 (知ってないと判断出来ないはずなので、論理的に矛盾する。 これはC++の全てを知っておけという意味ではなく、 Rustで採用された「データ競合」「寿命管理」「例外処理」等の対処方法については、 当然だが他のやり方も存在しており、それぞれ一長一短有るから統一されてない。 それらを知らずに、Rustのやり方しか知らず、ひたすらRustマンセーなら、それはただの信者と言える) [] - [ここ壊れてます]
- 767 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:34:35.92 ID:JZiB2qZH.net]
- 色んな言語やってきたが総合的にみてRustが現在のプログラミング言語の中の最強言語で間違いない
理論的に任意の言語が動き実際にも多数の言語が動かされているWebAssemblyにおいてもRustが利用トップである客観的事実もある
- 768 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:36:58.31 ID:il24SwZF.net]
- 話題は>>577で振ったけどスルーされました(^p^)
実際どうなんすかこれ、Yewとかその辺の利用者の使用感知りたいんだけど
- 769 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:48:35.17 ID:SpxMIjuY.net]
- C++理解した程度でプログラミング理解したと思ってるのが痛々しい
- 770 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:19:57.41 ID:cvyLC6WE.net]
- Rustはボロー周りとEnumだけがよくできていて他はそうでもない
長期で運用しにくいしょうもない弱点だらけ
- 771 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:26:08.31 ID:n9UcTFQC.net]
- >>757
例えば?
- 772 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:26:09.05 ID:TpQINAdx.net]
- そうだぞこんなの使ったら駄目だぞ
俺は使うがな
- 773 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:31:58.00 ID:cvyLC6WE.net]
- レスをたどる能力もないのかRustの機能や制約を知らないのか自分で何かを調べる能力がないのか
どれなんだろう?
- 774 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:34:48.49 ID:TpQINAdx.net]
- まとめるの面倒だからしないけど弱点だらけだぞ
それでも俺は使うがな
- 775 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:38:12.58 ID:cvyLC6WE.net]
- 言語面は置いといてrustはまずcargoを何とかしろ
モジュールパッケージの参照の仕組みを改善しろ
- 776 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 21:14:44.30 ID:HNoOQ+Ya.net]
- 次世代次世代つって結局Rustしか話題に上がってないやんw
- 777 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 21:34:11.92 ID:lI/OjvKQ.net]
- >>763
つまり次世代はRust覇権が確定。Rust一択ってこと。 VScodeが覇権したようにプログラミング言語もそろそろRust一択にしようよ
- 778 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 23:10:39.42 ID:SpxMIjuY.net]
- GoやクソバカPHPoorが滅びるべきというのには同意
- 779 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 23:31:48.47 ID:qlihBLS+.net]
- それがRustが現在も今後とも流行らない理由だろうね
- 780 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:20:38.04 ID:xqQhhwbp.net]
- 他の言語でもRustのように広い意味でのデータ競合を実行前にチェックしてくれたらいいのに
そうすればその分の実行時デバッグを無くすことができるのに
- 781 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:52:23.84 ID:fmRbxCQk.net]
- >>767
それ、馬鹿の一つ覚えだろうけど、割とマジに、データ競合で困る事なんて無いぞ。 もしみんなが本当にデータ競合に困りまくってたら、あらゆるアプリがRustでキラーアプリ化してるはずだろ。 実際は誰も困ってないし、さらにホームドアを付けたところで元々バグもないから差別化出来ず、キラーアプリ化もしてない。 面倒なのでスルーしたが、256で突っ込まれてるように、 実行時デバッグをそれほど必要としてる時点でプログラマとしてはポンコツ。 初心者なのを自覚して、まずはコードを頭の中で動かせるようになる事を目指すべきだよ。
- 782 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:52:41.03 ID:dmNwgspZ.net]
- とかく計算系のライブラリの高速実装がGPGPU関係なくRustよりC++が優先されているのが悲しいが個人でなんとかできる規模でもなく
- 783 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:03:58.92 ID:fmRbxCQk.net]
- >>769
やれば分かるが演算系はリソースの確保/開放ははっきり言ってほぼ必要ないので、 C++どころかCでも全く苦労しない。 しかもRustだと使い回すには一々所有権を気にしないといけないだけ面倒。 他言語なら見えれば何度でも問題なく使えるのに。 だからその辺がRustメインになる事はあり得ないと思うけど。実用重視なら尚更。 境界チェックが一々入る分だけ無駄に遅くなるのも致命的ではあるし。 俺は演算部分だけCのdllにして、GC言語からそれを呼び出すのが最強だと思うけど。 つまりNumPyでいい。(なお俺は使った事無いが)
- 784 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:07:40.61 ID:clYg/AzK.net]
- >>768
超巨大なコードベースの前で人は簡単にポンコツになるよ Sanitizerやclang-tidyへのgoogleの投資を見れば分かる ただこの手のツールが必要になる言語やアプリは限られているから あらゆる領域でデータ競合抑止が役に立つというのは偽だとは思うが
- 785 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:22:47.07 ID:fmRbxCQk.net]
- >>771
それはコードベースが巨大すぎて見落とす確率が高くなるだけだろ。 ただし事実としてこれはあるのは認める。 これについては、Web系見てて思ったんだが、 Java(OOP): どんな巨大なコードでも、20年前のコードでも、メンテナンスしてみせる!!! Web系(Restful): そもそも巨大にならないように分割。 一人で管理出来るサイズ(1,000-10,000程度)なら管理も簡単だし、コードも最悪書き捨てでもいい。 で、俺はWeb系の方が正解じゃないかと思いだしている。 だから、Javaを殺すのはWeb系だろうなとも思っている。
- 786 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:24:17.90 ID:7I8wnXlj.net]
- Rustのプログラミング開発効率の良さには感動した
めっちゃ便利やな
- 787 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:24:40.32 ID:fmRbxCQk.net]
- あ、すまん、分かると思うが、772訂正。
× 1,000-10,000程度 ○ 1,000-10,000行程度
- 788 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:35:56.55 ID:o4uZiwRi.net]
- >>772
用語の使い方からも 間違った対比からも 知的レベルの低さが露呈している そこは単純にモノリスvs.マイクロだけであってOOPやRESTは関係ない
- 789 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:51:37.37 ID:lgnAhvFe.net]
- >>772
web系というかブラウザやらOSやらの低レイヤーで考えるべきかと OSもマイクロカーネルにしたらバグ少なくなるのかね
- 790 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:55:17.11 ID:G67EgXPk.net]
- Nimの話題ロクに出てこないね
自分は使ったことないけど、使ったことある人はどう? 他の言語との違いや特色教えてくれると嬉しい
- 791 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:55:40.00 ID:fmRbxCQk.net]
- >>775
まあ揚げ足取りはどうぞご自由にだが、話は通じてるようだ。 それで、反論は出来ないのか? だとすると、やはりRust信者は低脳だとしか思えない。 (議論する気があるのなら、そのレスでは駄目だし) ・巨大化したコードベースではどうしても見落としが発生する
- 792 名前:から、全部所有権を強制化してコンパイラでチェックする
という直接的な解決策をRustは採用しているが、 ・そもそも巨大化しないようにひたすら分割し、見落としが発生しにくい規模に抑える という、上位アーキテクチャでの解決策もあるのだよ。 これは「データ競合」の時も言ったろ。 そこに問題があれば、解決策もそれなりに用意されてる。(格好いいかはまた別だが) それでは解決出来てない!不十分だ!と言うのなら、 どうにも取りきれなかったバグがRustによって取りきれ、結果的にキラーアプリ化するはずなのだが、 実際これがないだろ。 なら、これまでの地味な方法でも何とかなってたって事なんだよ。 [] - [ここ壊れてます]
- 793 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:03:42.86 ID:fmRbxCQk.net]
- >>776
> OSもマイクロカーネルにしたらバグ少なくなるのかね 通説としてはそういう事になっている。(まあ知ってると思うが) Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。 とはいえ速度重視ならモノリシックの方が上だし、 堅牢性重視ならマイクロカーネルってのは、技術的にも正しいと思う。 俺が言ってるのはもっと単純な話で、 機能が少なければ、実装に必要なコードも少なく済み、見落としも減る、という、至極当たり前の話。 だから「仕様を必要最低限に絞る事こそ最強」という話だね。 これもよく言われているとも思うけど。 だから、マイクロカーネルの方が仕様が小さいから実装コードも減り、結果的に「見落とし」のバグは減ると思うよ。
- 794 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:03:43.80 ID:Yq6q8jid.net]
- Nim、vlang、Zig、Zenらへんはマイナーすぎてなんとも
D言語が使われなかったのと似たような理由で使われなさそう
- 795 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:04:15.32 ID:UjiUu+PI.net]
- 結論は変えるつもりがなくそこに至るまでの論理だけを手を代え品を代えひねり出し続ける
信者もそれに対する批判も不毛なんだ
- 796 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:06:36.51 ID:NYexxOz5.net]
- >>778
アーキテクチャとアプリと言語は全て別問題なのに区別がつかずにごっちゃに話しているキチガイに見えます
- 797 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:21:42.17 ID:UjiUu+PI.net]
- そんなことより次々世代言語にどういう特徴を持った言語が来るか予想しようぜ
- 798 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:34:28.97 ID:NYexxOz5.net]
- >>780
IT大手各社が珍しく揃って支援&採用しているRustだけが最近のプログラミング言語の中で長期に残りそう >>783 Rustを置き換えるような次々世代言語は Rustが備えるC言語並の速さ省メモリと安全性を押さえた上で異なるアプローチとなるだろうけど Rust関係の論文が多い状況からすると理論的な裏付けが先行研究としてあるものの中から出てくるのかな
- 799 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 08:39:07.48 ID:K0blu0OJ.net]
- C2とATS2のことも忘れないであげてください!
- 800 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:17:53.01 ID:fmRbxCQk.net]
- >>782
それはRust信者はプログラマではないからだな。 プログラマは全レイヤで最適化を模索する事が出来る。(本来は) 例えばだいぶ前にスマホ見てて踏切の内側と外側を間違えて死んで話題になってたが、これについて ・現場(踏切の改善):踏切内の障害物検知器の精度を上げ、人が間違って立ち止まってる場合も検出し、電車を緊急停止させる(Rust) もありだが、 ・運用(経路選択):そもそも踏切を通らない経路を選択する。歩道橋があればそれを使う。 ・運用(マナー):歩きスマホ禁止。イヤホンも爆音にはせず、周りの人の声も聞こえる程度にしておけば気づけたかも? ・運用(ポリシー):外でボーっとしない。事故に巻き込まれる確率は0ではないのだから、
- 801 名前:常にある程度は周りに気を付ける
・アーキテクチャ:高架化して踏み切り自体を無くす(C#) アーキテクチャ面での対策が根本対策になるが、現実的には運用での回避になってる。 大人の場合はマナー/ポリシーで回避し、 これを期待出来ない小学生には、通学路なら歩道橋を設置して、経路選択での対策が為されてる。 「データ競合」も同様に、 ・現場(チェッカ):所有権を厳密に管理し、コンパイラでチェック(Rust) もありだが、 ・運用:難しい事はしない。競合する可能性のある場所は限定的にして、見ればバグに気づける程度にする ・アーキテクチャ:スレッド構成上、そもそも競合が発生し得ない(C#) で、アーキテクチャでの対策が根本対策だが話が大がかりになり面倒になるので、 大体は運用で対策され、でも何とかなってるというのが実態だ。 通常は言語選択はアーキテクチャよりさらに上のレイヤか、そもそも独立した軸なので、 言語比較で一番下のレイヤ(現場)での改善のみに限定するのが間違ってる。 そして重要なのは、既存の言語でも根本対策はやる気になればすぐに出来るんだよ。多少面倒なだけで。 だから信者の言う「Rustでなければ無理だった」というアプリが存在せず、キラーアプリも出てこないわけ。 Rustは「一方ロシアは鉛筆を使った」の米国側を突き進もうとしてる。これもありだが、ロシア側もありなだけの話。 [] - [ここ壊れてます]
- 802 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:21:12.35 ID:n6k1Ijhp.net]
- この人は無駄で無意味な間違った例え話を延々と繰り返し妄想の世界に住んでいる
- 803 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:21:25.28 ID:sR7YmRYu.net]
- Scalaの方がKotlinより機能豊富だけどWeb系では落ち目になったね
Scalaの方が好きだが
- 804 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:26:20.41 ID:BLmvSJJ5.net]
- >>788
Scalaは結構好きで長く使っていたけど 使っているとどうしてもJVMが見えてしまう部分があって Rustに乗り換えちゃったな
- 805 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:29:58.47 ID:93k1uAXl.net]
- rustaceanはある時期を境に爆発的に表に出てきてプログラミング界隈を圧倒する未来が見える
- 806 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:41:23.13 ID:BLmvSJJ5.net]
- 表に出るかなぁ?
OSやコンパイラ、ミドルウェアあたりに侵食して、気付かないうちに全員が依存してる、みたいな状況なら有り得そう
- 807 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 10:05:57.88 ID:W8i2G4wq.net]
- scalaはコンパイルが困憊るほど遅すぎた
- 808 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 10:55:59.09 ID:vR2aNwQM.net]
- >>779
>Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。 後付けというか経験知からの意見だろ。 Linusはそもそもが理論家なわけでもないし。 仕様を最初から小さく絞れるとか考えてる奴は全く的外れとしか言いようがない。
- 809 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:21:10.49 ID:7HDkHX8h.net]
- Linux作り始めたときからタネンバウムと論争しているのに理論家じゃないとか後付けとか
- 810 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:26:19.70 ID:nRSUY8iy.net]
- 一部だけ小さくしてバグ減っても意味ないよ。
部分的な最適化はシステム全体の最適化の視点では上手く機能するわけではないからね。 一つ前のFreeBSDで話題になって詳しい人が説明してくれてた。 https://mevius.5ch.net/test/read.cgi/unix/1630061644/794
- 811 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:41:39.32 ID:vR2aNwQM.net]
- >>794
だからLinusはタネンバウムみたいな理論家を嫌ってんだろ。議論の中身理解してないのか?
- 812 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:14:41.45 ID:N1Kz0CTA.net]
- >>783
C言語より10倍速い言語が現われて界隈歓喜
- 813 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:18:37.19 ID:W8i2G4wq.net]
- >>783
Googleに頼めば全て完成する
- 814 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:31:07.74 ID:2AahvlRa.net]
- 次世代はシンプルな言語仕様+強力な静的チェックだと思う
Rustみたいに事前の宣言でガチガチに縛るんじゃなく、型推論やフロー解析を積極的に利用して利用のされ方に基づいた型チェックや生存期間のチェックを行う まあこのままいくとJavaScript+VSCodeがそれになるかもしれないが
- 815 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:46:03.55 ID:fBzqkVFD.net]
- >>799
ことweb界隈で使われる言語に関しては前半同意 サービス独自の機能をスピーディーに開発することが求められるweb界隈において、プログラマ自身が考えないといけないことが多くなるrustはまず普及しない
- 816 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:55:32.64 ID:fmRbxCQk.net]
- >>793
運用していくうちに追加追加で仕様が段々膨らんでいくのはある程度仕方ないとして、 それでも更新タイミングで不要な仕様を出来るだけ削除して仕様を絞るのは基本中の基本だろ。 マイクロカーネルもある意味これで、「カーネルがやるしかない事しかやらない」という、最小仕様を目指したものだ。 プログラミングに於いて小さい仕様を目指すのは大正義だし、みんなそうしてる。 (出来てるかはまた別。特にJava分野。 対してWebの場合はこの辺切り捨てるしサービス終了もありありなので、 反発はあるかもしれないが、仕様が雪だるま式に膨らんでる事はない。 俺はこの辺、Java流の「どんなに大きくなっても何とかしてみせる」ではなく、 Web流の「定期的に棚卸しで削除」の方が長期的には正しいのではないかと思いつつある、という事) >>794 Linusは当初から分かっててモノリシックを選択したのはいい。 当時の速度的にそれが妥当だったのも分かる。 ただ、今となってはマイクロカーネルにすべきだし、徐々にでも変更していくべきだと思うよ。 今でもモノリシックの利点を説いているのは、後付のように思える。
- 817 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:03:29.70 ID:WQm20ac3.net]
- >>794
「俺は後付だと思う」って予防線貼ってるし、そこまで知らなかったんだよ、きっと 許してあげて
- 818 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:10:21.13 ID:BLmvSJJ5.net]
- >>799
Rustのように型が強力でコンパイル時チェックの細かいGC言語ってのが現状ないから そこは新言語の余地がある気がしている JSだとどうしても型はガバガバにならざるを得ないからなぁ
- 819 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:17:50.89 ID:blp15KeH.net]
- 言語には向き不向きがあるわけで
それを無視してRustがすべての言語を置き換えるみたいな話をしているのがおかしい C/C++の置き換えは進むかもしれないけどwebやスマホやPCアプリとかでは採用されないでしょ 普通はどの言語が最適かをいろいろ検討して決めます なんか通販の広告みたいなんだよね 良いことしか言わないし 大手IT企業が採用ってのは通販広告の有名人も愛用!みたいな感じ コンピュータ関係の新技術の売り文句は100%そうだった試しはないので話半分で聞いていた方がよいと思う
|

|