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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/03/22(火) 03:23:41.60ID:ZDHdo9X7
スレタイ以外の言語もok

前スレ
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1638086359/
2022/04/09(土) 09:43:27.34ID:7NJqkFJL
Rustのコンパイラはどの部分とどの部分がどういう問題となっていて今回のエラーとなっているのかを
複雑なケースでも丁寧に教えてくれて学習効果も高いですね
2022/04/09(土) 10:38:03.26ID:ALVqghU/
結局 c -> c++ -> rust って感じに進まないと理解できないと思うがな。
いきなり c -> rust で何をやってるか理解できるとはとても思えん。
この種のことをrust信者はすぐ誤魔化す。
2022/04/09(土) 10:45:26.66ID:n9UcTFQC
>>708
どのあたりが理解できないと思う?
2022/04/09(土) 10:47:43.60ID:3YobdmGS
>>708
そこは完全に逆
C++は学ぶ必要なし
今となっては何の価値もない言語
C++を学んでも回り道をしている無駄なunique_ptrくらいしかRustのために役に立つ知識がない
2022/04/09(土) 10:53:42.52ID:EFTB/rfv
>>708
自分はそのルートだったけどC++を経由する必要はどうかなぁ
現代のC++をマスターするのはRust以上に難しいし、初心者が自分でどこまで学べばいいかを判断するのも難しそう
まぁ結局我々は初心者ではないので推測で言ってもあまり意味はないけど
2022/04/09(土) 11:02:06.42ID:SpxMIjuY
要するにマロックだろ?
2022/04/09(土) 11:11:18.68ID:UvtYS0nS
単刀直入に言うと
実はC++とRustには共通点が非常に少ない
特にC言語との共通点を除くとほとんど残らない
だから学ぶべきはC→Rustが正解
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++を少し洗練させたぐらいにしか見えない。
その実体を知りながら「共通点が非常に少ない 」とか言うのは詐欺師ぐらいなものだ。
2022/04/09(土) 11:49:01.58ID:0K2sKttC
C++に着想を得ているのはそうだと思うけど、歴史通りの順番で学ぶ必要ある?
(その理屈だと最初はパンチカードからかな…)
C++の後付したわかりにくいmoveを学ぶより、最初から洗練された方を学んだほうがいいと思うけど
2022/04/09(土) 11:53:43.59ID:EFTB/rfv
C++の歴史を追っていくみたいなのは、言語設計的にはすごく学びがあって、好きな人にはおすすめなんだけど
ただプログラミングがしたい人におすすめできるかというと…
2022/04/09(土) 11:55:25.64ID:cvyLC6WE
現実的にはPythton or Java or C# → C  → Rustかな
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++は学ぶ必要なし
2022/04/09(土) 12:05:05.94ID:cvyLC6WE
C++は無駄に増改築を繰り返された老舗旅館
通路の途中で無駄に段があったり渡り廊下があったり

HPに書いてある現代風の部屋に泊まれる場合もあるけど古い部屋に泊まることもある
2022/04/09(土) 12:09:41.54ID:EFTB/rfv
C++98ならそんな増築感はなかったけど、そこまで戻るとRustとの共通点もほとんどなくなっちゃうしなぁ
2022/04/09(土) 12:15:44.17ID:ehpYMGIZ
RAIIとテンプレートメタプログラミングが発見されてから独特の進化を始めたな。
2022/04/09(土) 12:16:15.06ID:cvyLC6WE
>>718
>>720
新しい部分を指してC++を学ぶべきと言ってるのではないと思うよ
それまでのC++からC++11 以降の新しい流れをみるんだろ
C++で何が都合が悪かったか判る
2022/04/09(土) 12:19:37.41ID:EFTB/rfv
>>722
それって歴史を知っている我々には分かるけど初心者に分かる?
2022/04/09(土) 12:24:26.93ID:cvyLC6WE
>>723
自分はC++を学ぶべきとは思ってないけど何が都合が悪いのか体験したらいいということだろうと推測

初心者にわかるかどうかは知らない
初心者にはjava C# Pythonを勧める
2022/04/09(土) 12:26:21.53ID:2dOqhr+x
C++の増改築を学ぶのはムダな枝も多くて学ばないほうがいい
RustはC++含めた様々な言語から色々採り入れているけど
洗練して整合性あるようコンパクトに採り入れてるからシンプル
726デフォルトの名無しさん
垢版 |
2022/04/09(土) 12:36:22.62ID:HmFS1ypI
>>694
URLキボン
2022/04/09(土) 12:42:40.46ID:cvyLC6WE
フレンド関数とか学んでも使いどころなどない
2022/04/09(土) 12:44:13.05ID:qlihBLS+
>>706
> どこが悪いのかは自分で分かっていない
Rustで作ったゲームなら、フリテンですor役がありません、と親切に教えてくれるよ

と信者の代わりに突っ込んでみる
2022/04/09(土) 12:51:14.42ID:byaB+Tw8
Rustのコンパイラは賢い先生みたいなもので不十分なところを的確に適切に指導してくれる
昔Rustは学習難易度高いと言われていたためコンパイルエラーに最も力を入れたプログラミング言語へと成長した
2022/04/09(土) 12:52:42.79ID:lI/OjvKQ
レス番がとびとびなんだがそんなに長文書き込んでるやついるの?w
2022/04/09(土) 13:05:08.55ID:P+77Yson
>715
何をトンチンカンな指摘をしているんだよ。
>713 >実はC++とRustには共通点が非常に少ない
に対する反論なのに、
>715 歴史通りの順番で学ぶ必要ある?
とか共通点の話と何の関係も無いだろ。
Rust信者はこういう詭弁を弄するクソしかいないのかね。

あと、言語の話をしているのに
> (その理屈だと最初はパンチカードからかな…)
とか言語じゃないものを引っ張り出すようなアホな反論するなよ。
2022/04/09(土) 13:10:56.96ID:Wb48yUxI
>>718
C++から見てRustのそのシンプルで分かりやすい記述と概念は羨ましい
だからRustから輸入する形で取り入れることになった
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++のアイディアをパクって先行実装しただけじゃね?
2022/04/09(土) 13:25:35.27ID:OTzifHJR
C++の貧相なラムダ式見て涙出てくるわ
おばちゃんの必死の若作りみたいで痛々しい

>>730
相変わらず読む価値無しの駄文オナは続いてるようだよw
2022/04/09(土) 13:29:34.12ID:il24SwZF
https://mevius.5ch.net/test/read.cgi/tech/1643289587/
そろそろこっちでやってくれませんか?
2022/04/09(土) 13:41:58.59ID:xJyQ5Sl3
>>733
C++にはRustのenum(=型収容付きenum=タグ付きunion)が無いため
それらC++のバージョンはRustのものより劣っている
それではRustに勝てない
2022/04/09(土) 14:01:07.29ID:n9UcTFQC
スレタイの言語間で争える話題ないか考えてみたけど
それぞれ狙うところがバラバラで共通項がないな
2022/04/09(土) 14:06:05.68ID:J0gE1zR3
rustスレでやれば
もうJavaレベルには普及しないって結論じゃん
2022/04/09(土) 14:11:30.90ID:cvyLC6WE
次のスレからRustの話題は荒れるから禁止にしてスレタイからも削ろうw
2022/04/09(土) 14:14:38.49ID:ehpYMGIZ
このスレで荒れてくれる分には構わんわ。C++スレとかRustスレとかを荒らさないで。
2022/04/09(土) 14:19:25.04ID:mmQa05p2
便利さを理解するために不便さを体験するべきか否か論な訳だけど、個人的にはそれをするにしては遠回りが過ぎるのがC++という長大な壁だと思っているので経由する必要はないかなと思ってる
代わりの話としてZigとかどうよ
依存型的なコンパイル時計算と実行時計算をフラットに書ける感じ
結構賛否両論来そうな話題だと思う
2022/04/09(土) 14:22:44.53ID:cvyLC6WE
あれるのは上等なのか

関数オーバーロードがない言語は軒並み糞
2022/04/09(土) 14:27:38.36ID:OWfDePLk
オーバーロードあると高階関数に渡すときに一手間かかるのがヤダ
2022/04/09(土) 14:30:13.22ID:cvyLC6WE
標準ライブラリの標準関数のシグネチャー変える言語は糞
2022/04/09(土) 14:31:10.30ID:DIYn4SHb
教育には自分を撃てる言語を使った方が良いのでは?
2022/04/09(土) 14:31:48.55ID:cvyLC6WE
コンパイルするときにファイルのフォルダ階層に依存する言語は糞
2022/04/09(土) 14:33:14.01ID:gSPSOhuN
pythonガチアンチ勢がいるらしいな
2022/04/09(土) 14:38:25.49ID:cvyLC6WE
mainのあるファイルから連鎖的に参照されないと同じフォルダにあってもソースがコンパイルされない言語は糞
2022/04/09(土) 14:40:09.03ID:cvyLC6WE
言語じゃなかったな
コンパイラ環境か?コンパイラドライバか?
2022/04/09(土) 15:06:56.55ID:BphNan8J
言語依存の特性というよりはコンパイラがインクリメンタルかリカーシブルかなんて、言語にほとんど関係ない・・・
2022/04/09(土) 15:33:43.71ID:cvyLC6WE
じゃあ
ファイル名がクラス名やモジュール名と一致してないとダメな言語は糞
2022/04/09(土) 17:12:33.80ID:+P+cdtWg
自分じゃ話題も振らないのに他のスレでやれとかいう輩って・・・
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マンセーなら、それはただの信者と言える)
2022/04/09(土) 18:34:35.92ID:JZiB2qZH
色んな言語やってきたが総合的にみてRustが現在のプログラミング言語の中の最強言語で間違いない
理論的に任意の言語が動き実際にも多数の言語が動かされているWebAssemblyにおいてもRustが利用トップである客観的事実もある
2022/04/09(土) 18:36:58.31ID:il24SwZF
話題は>>577で振ったけどスルーされました(^p^)
実際どうなんすかこれ、Yewとかその辺の利用者の使用感知りたいんだけど
2022/04/09(土) 18:48:35.17ID:SpxMIjuY
C++理解した程度でプログラミング理解したと思ってるのが痛々しい
2022/04/09(土) 20:19:57.41ID:cvyLC6WE
Rustはボロー周りとEnumだけがよくできていて他はそうでもない
長期で運用しにくいしょうもない弱点だらけ
2022/04/09(土) 20:26:08.31ID:n9UcTFQC
>>757
例えば?
2022/04/09(土) 20:26:09.05ID:TpQINAdx
そうだぞこんなの使ったら駄目だぞ

俺は使うがな
2022/04/09(土) 20:31:58.00ID:cvyLC6WE
レスをたどる能力もないのかRustの機能や制約を知らないのか自分で何かを調べる能力がないのか
どれなんだろう?
2022/04/09(土) 20:34:48.49ID:TpQINAdx
まとめるの面倒だからしないけど弱点だらけだぞ

それでも俺は使うがな
2022/04/09(土) 20:38:12.58ID:cvyLC6WE
言語面は置いといてrustはまずcargoを何とかしろ
モジュールパッケージの参照の仕組みを改善しろ
2022/04/09(土) 21:14:44.30ID:HNoOQ+Ya
次世代次世代つって結局Rustしか話題に上がってないやんw
2022/04/09(土) 21:34:11.92ID:lI/OjvKQ
>>763
つまり次世代はRust覇権が確定。Rust一択ってこと。
VScodeが覇権したようにプログラミング言語もそろそろRust一択にしようよ
2022/04/09(土) 23:10:39.42ID:SpxMIjuY
GoやクソバカPHPoorが滅びるべきというのには同意
2022/04/09(土) 23:31:48.47ID:qlihBLS+
それがRustが現在も今後とも流行らない理由だろうね
2022/04/10(日) 00:20:38.04ID:xqQhhwbp
他の言語でもRustのように広い意味でのデータ競合を実行前にチェックしてくれたらいいのに
そうすればその分の実行時デバッグを無くすことができるのに
2022/04/10(日) 00:52:23.84ID:fmRbxCQk
>>767
それ、馬鹿の一つ覚えだろうけど、割とマジに、データ競合で困る事なんて無いぞ。
もしみんなが本当にデータ競合に困りまくってたら、あらゆるアプリがRustでキラーアプリ化してるはずだろ。

実際は誰も困ってないし、さらにホームドアを付けたところで元々バグもないから差別化出来ず、キラーアプリ化もしてない。

面倒なのでスルーしたが、256で突っ込まれてるように、
実行時デバッグをそれほど必要としてる時点でプログラマとしてはポンコツ。
初心者なのを自覚して、まずはコードを頭の中で動かせるようになる事を目指すべきだよ。
2022/04/10(日) 00:52:41.03ID:dmNwgspZ
とかく計算系のライブラリの高速実装がGPGPU関係なくRustよりC++が優先されているのが悲しいが個人でなんとかできる規模でもなく
2022/04/10(日) 01:03:58.92ID:fmRbxCQk
>>769
やれば分かるが演算系はリソースの確保/開放ははっきり言ってほぼ必要ないので、
C++どころかCでも全く苦労しない。
しかもRustだと使い回すには一々所有権を気にしないといけないだけ面倒。
他言語なら見えれば何度でも問題なく使えるのに。

だからその辺がRustメインになる事はあり得ないと思うけど。実用重視なら尚更。
境界チェックが一々入る分だけ無駄に遅くなるのも致命的ではあるし。

俺は演算部分だけCのdllにして、GC言語からそれを呼び出すのが最強だと思うけど。
つまりNumPyでいい。(なお俺は使った事無いが)
2022/04/10(日) 01:07:40.61ID:clYg/AzK
>>768
超巨大なコードベースの前で人は簡単にポンコツになるよ
Sanitizerやclang-tidyへのgoogleの投資を見れば分かる

ただこの手のツールが必要になる言語やアプリは限られているから
あらゆる領域でデータ競合抑止が役に立つというのは偽だとは思うが
2022/04/10(日) 01:22:47.07ID:fmRbxCQk
>>771
それはコードベースが巨大すぎて見落とす確率が高くなるだけだろ。
ただし事実としてこれはあるのは認める。

これについては、Web系見てて思ったんだが、

Java(OOP): どんな巨大なコードでも、20年前のコードでも、メンテナンスしてみせる!!!
Web系(Restful): そもそも巨大にならないように分割。
 一人で管理出来るサイズ(1,000-10,000程度)なら管理も簡単だし、コードも最悪書き捨てでもいい。

で、俺はWeb系の方が正解じゃないかと思いだしている。
だから、Javaを殺すのはWeb系だろうなとも思っている。
2022/04/10(日) 01:24:17.90ID:7I8wnXlj
Rustのプログラミング開発効率の良さには感動した
めっちゃ便利やな
2022/04/10(日) 01:24:40.32ID:fmRbxCQk
あ、すまん、分かると思うが、772訂正。

× 1,000-10,000程度
○ 1,000-10,000行程度
2022/04/10(日) 01:35:56.55ID:o4uZiwRi
>>772
用語の使い方からも
間違った対比からも
知的レベルの低さが露呈している
そこは単純にモノリスvs.マイクロだけであってOOPやRESTは関係ない
2022/04/10(日) 01:51:37.37ID:lgnAhvFe
>>772
web系というかブラウザやらOSやらの低レイヤーで考えるべきかと
OSもマイクロカーネルにしたらバグ少なくなるのかね
2022/04/10(日) 01:55:17.11ID:G67EgXPk
Nimの話題ロクに出てこないね
自分は使ったことないけど、使ったことある人はどう?
他の言語との違いや特色教えてくれると嬉しい
2022/04/10(日) 01:55:40.00ID:fmRbxCQk
>>775
まあ揚げ足取りはどうぞご自由にだが、話は通じてるようだ。
それで、反論は出来ないのか?
だとすると、やはりRust信者は低脳だとしか思えない。
(議論する気があるのなら、そのレスでは駄目だし)

・巨大化したコードベースではどうしても見落としが発生するから、全部所有権を強制化してコンパイラでチェックする
という直接的な解決策をRustは採用しているが、
・そもそも巨大化しないようにひたすら分割し、見落としが発生しにくい規模に抑える
という、上位アーキテクチャでの解決策もあるのだよ。
これは「データ競合」の時も言ったろ。
そこに問題があれば、解決策もそれなりに用意されてる。(格好いいかはまた別だが)
それでは解決出来てない!不十分だ!と言うのなら、
どうにも取りきれなかったバグがRustによって取りきれ、結果的にキラーアプリ化するはずなのだが、
実際これがないだろ。
なら、これまでの地味な方法でも何とかなってたって事なんだよ。
2022/04/10(日) 02:03:42.86ID:fmRbxCQk
>>776
> OSもマイクロカーネルにしたらバグ少なくなるのかね
通説としてはそういう事になっている。(まあ知ってると思うが)

Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。
とはいえ速度重視ならモノリシックの方が上だし、
堅牢性重視ならマイクロカーネルってのは、技術的にも正しいと思う。

俺が言ってるのはもっと単純な話で、
機能が少なければ、実装に必要なコードも少なく済み、見落としも減る、という、至極当たり前の話。
だから「仕様を必要最低限に絞る事こそ最強」という話だね。
これもよく言われているとも思うけど。
だから、マイクロカーネルの方が仕様が小さいから実装コードも減り、結果的に「見落とし」のバグは減ると思うよ。
2022/04/10(日) 02:03:43.80ID:Yq6q8jid
Nim、vlang、Zig、Zenらへんはマイナーすぎてなんとも
D言語が使われなかったのと似たような理由で使われなさそう
2022/04/10(日) 02:04:15.32ID:UjiUu+PI
結論は変えるつもりがなくそこに至るまでの論理だけを手を代え品を代えひねり出し続ける
信者もそれに対する批判も不毛なんだ
2022/04/10(日) 02:06:36.51ID:NYexxOz5
>>778
アーキテクチャとアプリと言語は全て別問題なのに区別がつかずにごっちゃに話しているキチガイに見えます
2022/04/10(日) 02:21:42.17ID:UjiUu+PI
そんなことより次々世代言語にどういう特徴を持った言語が来るか予想しようぜ
2022/04/10(日) 02:34:28.97ID:NYexxOz5
>>780
IT大手各社が珍しく揃って支援&採用しているRustだけが最近のプログラミング言語の中で長期に残りそう

>>783
Rustを置き換えるような次々世代言語は
Rustが備えるC言語並の速さ省メモリと安全性を押さえた上で異なるアプローチとなるだろうけど
Rust関係の論文が多い状況からすると理論的な裏付けが先行研究としてあるものの中から出てくるのかな
2022/04/10(日) 08:39:07.48ID:K0blu0OJ
C2とATS2のことも忘れないであげてください!
2022/04/10(日) 09:17:53.01ID:fmRbxCQk
>>782
それはRust信者はプログラマではないからだな。

プログラマは全レイヤで最適化を模索する事が出来る。(本来は)
例えばだいぶ前にスマホ見てて踏切の内側と外側を間違えて死んで話題になってたが、これについて

・現場(踏切の改善):踏切内の障害物検知器の精度を上げ、人が間違って立ち止まってる場合も検出し、電車を緊急停止させる(Rust)
もありだが、
・運用(経路選択):そもそも踏切を通らない経路を選択する。歩道橋があればそれを使う。
・運用(マナー):歩きスマホ禁止。イヤホンも爆音にはせず、周りの人の声も聞こえる程度にしておけば気づけたかも?
・運用(ポリシー):外でボーっとしない。事故に巻き込まれる確率は0ではないのだから、常にある程度は周りに気を付ける
・アーキテクチャ:高架化して踏み切り自体を無くす(C#)

アーキテクチャ面での対策が根本対策になるが、現実的には運用での回避になってる。
大人の場合はマナー/ポリシーで回避し、
これを期待出来ない小学生には、通学路なら歩道橋を設置して、経路選択での対策が為されてる。

「データ競合」も同様に、

・現場(チェッカ):所有権を厳密に管理し、コンパイラでチェック(Rust)
もありだが、
・運用:難しい事はしない。競合する可能性のある場所は限定的にして、見ればバグに気づける程度にする
・アーキテクチャ:スレッド構成上、そもそも競合が発生し得ない(C#)

で、アーキテクチャでの対策が根本対策だが話が大がかりになり面倒になるので、
大体は運用で対策され、でも何とかなってるというのが実態だ。
通常は言語選択はアーキテクチャよりさらに上のレイヤか、そもそも独立した軸なので、
言語比較で一番下のレイヤ(現場)での改善のみに限定するのが間違ってる。
そして重要なのは、既存の言語でも根本対策はやる気になればすぐに出来るんだよ。多少面倒なだけで。
だから信者の言う「Rustでなければ無理だった」というアプリが存在せず、キラーアプリも出てこないわけ。

Rustは「一方ロシアは鉛筆を使った」の米国側を突き進もうとしてる。これもありだが、ロシア側もありなだけの話。
2022/04/10(日) 09:21:12.35ID:n6k1Ijhp
この人は無駄で無意味な間違った例え話を延々と繰り返し妄想の世界に住んでいる
2022/04/10(日) 09:21:25.28ID:sR7YmRYu
Scalaの方がKotlinより機能豊富だけどWeb系では落ち目になったね
Scalaの方が好きだが
2022/04/10(日) 09:26:20.41ID:BLmvSJJ5
>>788
Scalaは結構好きで長く使っていたけど
使っているとどうしてもJVMが見えてしまう部分があって
Rustに乗り換えちゃったな
2022/04/10(日) 09:29:58.47ID:93k1uAXl
rustaceanはある時期を境に爆発的に表に出てきてプログラミング界隈を圧倒する未来が見える
2022/04/10(日) 09:41:23.13ID:BLmvSJJ5
表に出るかなぁ?
OSやコンパイラ、ミドルウェアあたりに侵食して、気付かないうちに全員が依存してる、みたいな状況なら有り得そう
2022/04/10(日) 10:05:57.88ID:W8i2G4wq
scalaはコンパイルが困憊るほど遅すぎた
2022/04/10(日) 10:55:59.09ID:vR2aNwQM
>>779
>Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。
後付けというか経験知からの意見だろ。
Linusはそもそもが理論家なわけでもないし。
仕様を最初から小さく絞れるとか考えてる奴は全く的外れとしか言いようがない。
2022/04/10(日) 11:21:10.49ID:7HDkHX8h
Linux作り始めたときからタネンバウムと論争しているのに理論家じゃないとか後付けとか
2022/04/10(日) 11:26:19.70ID:nRSUY8iy
一部だけ小さくしてバグ減っても意味ないよ。
部分的な最適化はシステム全体の最適化の視点では上手く機能するわけではないからね。
一つ前のFreeBSDで話題になって詳しい人が説明してくれてた。
https://mevius.5ch.net/test/read.cgi/unix/1630061644/794
2022/04/10(日) 11:41:39.32ID:vR2aNwQM
>>794
だからLinusはタネンバウムみたいな理論家を嫌ってんだろ。議論の中身理解してないのか?
2022/04/10(日) 12:14:41.45ID:N1Kz0CTA
>>783
C言語より10倍速い言語が現われて界隈歓喜
2022/04/10(日) 12:18:37.19ID:W8i2G4wq
>>783
Googleに頼めば全て完成する
2022/04/10(日) 12:31:07.74ID:2AahvlRa
次世代はシンプルな言語仕様+強力な静的チェックだと思う
Rustみたいに事前の宣言でガチガチに縛るんじゃなく、型推論やフロー解析を積極的に利用して利用のされ方に基づいた型チェックや生存期間のチェックを行う
まあこのままいくとJavaScript+VSCodeがそれになるかもしれないが
2022/04/10(日) 12:46:03.55ID:fBzqkVFD
>>799
ことweb界隈で使われる言語に関しては前半同意

サービス独自の機能をスピーディーに開発することが求められるweb界隈において、プログラマ自身が考えないといけないことが多くなるrustはまず普及しない
2022/04/10(日) 12:55:32.64ID:fmRbxCQk
>>793
運用していくうちに追加追加で仕様が段々膨らんでいくのはある程度仕方ないとして、
それでも更新タイミングで不要な仕様を出来るだけ削除して仕様を絞るのは基本中の基本だろ。
マイクロカーネルもある意味これで、「カーネルがやるしかない事しかやらない」という、最小仕様を目指したものだ。

プログラミングに於いて小さい仕様を目指すのは大正義だし、みんなそうしてる。
(出来てるかはまた別。特にJava分野。
対してWebの場合はこの辺切り捨てるしサービス終了もありありなので、
反発はあるかもしれないが、仕様が雪だるま式に膨らんでる事はない。
俺はこの辺、Java流の「どんなに大きくなっても何とかしてみせる」ではなく、
Web流の「定期的に棚卸しで削除」の方が長期的には正しいのではないかと思いつつある、という事)



>>794
Linusは当初から分かっててモノリシックを選択したのはいい。
当時の速度的にそれが妥当だったのも分かる。

ただ、今となってはマイクロカーネルにすべきだし、徐々にでも変更していくべきだと思うよ。
今でもモノリシックの利点を説いているのは、後付のように思える。
2022/04/10(日) 13:03:29.70ID:WQm20ac3
>>794
「俺は後付だと思う」って予防線貼ってるし、そこまで知らなかったんだよ、きっと
許してあげて
2022/04/10(日) 13:10:21.13ID:BLmvSJJ5
>>799
Rustのように型が強力でコンパイル時チェックの細かいGC言語ってのが現状ないから
そこは新言語の余地がある気がしている
JSだとどうしても型はガバガバにならざるを得ないからなぁ
2022/04/10(日) 13:17:50.89ID:blp15KeH
言語には向き不向きがあるわけで
それを無視してRustがすべての言語を置き換えるみたいな話をしているのがおかしい
C/C++の置き換えは進むかもしれないけどwebやスマホやPCアプリとかでは採用されないでしょ
普通はどの言語が最適かをいろいろ検討して決めます

なんか通販の広告みたいなんだよね
良いことしか言わないし
大手IT企業が採用ってのは通販広告の有名人も愛用!みたいな感じ
コンピュータ関係の新技術の売り文句は100%そうだった試しはないので話半分で聞いていた方がよいと思う
2022/04/10(日) 13:30:51.71ID:fBzqkVFD
>>804
ほんまこれ
このスレの一部のRust信者がRustこそ至高みたいなノリだけど、このノリについていけないRust推し結構いると思う
2022/04/10(日) 13:55:42.06ID:UjiUu+PI
いつでも最初から型が要るのは足枷というのは確かに思うわ
そうなると漸進的型付けってやつかねえ
TS以外のaltJSは死んだとかだれかが言っていたが、Haxeの再興もあるか?
■ このスレッドは過去ログ倉庫に格納されています