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