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

■ このスレッドは過去ログ倉庫に格納されています
2022/08/05(金) 08:26:38.87ID:TpiqaUBm
スレタイ以外の言語もok

前スレ
https://mevius.5ch.net/test/read.cgi/tech/1655771266/
2022/08/12(金) 18:40:09.03ID:pHCKIPO9
一定数に名前が知られている時点で流行ってると言って良いと思うよ
2022/08/12(金) 19:35:03.04ID:8aFEsxK9
Scala vs Haske vs Rustみたいなスレを作った方がいいかもね
2022/08/12(金) 19:41:01.12ID:mai+3JG0
C vs C++ vs Rust だけでいいだろ
大方の興味はこの1点につきる
316デフォルトの名無しさん
垢版 |
2022/08/12(金) 19:43:26.46ID:ijOecH2p
>>315
RustはC++のサブセットだから意味ないと思う。
317デフォルトの名無しさん
垢版 |
2022/08/12(金) 19:50:24.38ID:ijOecH2p
>>312
初心者が何言っとる。
318デフォルトの名無しさん
垢版 |
2022/08/12(金) 23:23:35.24ID:3qV0/cHh
Zig が存在するのに、なぜ他の言語でプロジェクトを開始するのでしょうか?
2022/08/12(金) 23:58:58.03ID:P0zPe4di
>>316
C++はデータ競合すらコンパイラが指摘できない

>>318
Zigは手動メモリ管理だから論外
320デフォルトの名無しさん
垢版 |
2022/08/13(土) 00:30:17.86ID:xQE0tEua
そのとおりです。 Rust では、プログラムは常に malloc と free を呼び出します。 Zig では、メモリを最初に 1 回割り当てることができます。
2022/08/13(土) 00:46:50.18ID:9pjJ9/xa
Rust叩きしてる人はなぜいつも無知なのだろうか
2022/08/13(土) 01:03:17.60ID:xQE0tEua
Rust ユーザーが jemalloc を使用する必要があるのはなぜですか
2022/08/13(土) 01:57:28.21ID:N+gF026L
>>321
多数決主義じゃないかなあ
マイノリティの知識を利用できない
324デフォルトの名無しさん
垢版 |
2022/08/13(土) 02:07:32.42ID:yjuU6Mz4
アホジャップが生産性低いのは
メタプログラミングできないとの
JIS配列でアホみたいな足枷はめられてるから
USキーボードでDvorak配列は当たり前

俺たちタイプライターの時代じゃなくて
コンピューターの時代に生きてるんだよな
アップデートして時代に追いつこう
2022/08/13(土) 02:34:08.59ID:xrD8032t
>>322
一般論として全ての用途に有利なメモリアロケータはもちろん存在しない
またアプリケーションプログラムの方もその用途によっては標準とは別のメモリアロケータ利用が最適化に効くものも当然ある
したがってもし必要と判断した時に利用するメモリアロケータを変えられることが好ましい

調べてみると
Rustもそのようなメモリアロケータを変更可能な言語
jemallocはある種の用途で有利になりうるメモリアロケータ
そして両者を組み合わせて用いることに支障はないようだが何を問題にしているのか?
326デフォルトの名無しさん
垢版 |
2022/08/13(土) 03:03:54.43ID:9Y2sM84k
Haskellのときも、世界が見限ったころに5chで流行り始めた。
327デフォルトの名無しさん
垢版 |
2022/08/13(土) 03:04:25.86ID:9Y2sM84k
実用性のない言語は使われない。
2022/08/13(土) 03:41:52.55ID:fGEsvyaQ
Haskellは大量のgarbageを撒き散らすうえにGCが遅いため実行時間が遅いのが致命的な古い言語
しかし代数的データ型やパターンマッチに型クラスなど有用なものが多く後の言語に影響を与えた
30年前の言語をわざわざ次世代言語スレに持ち出してきて叩く人はおかしい
329デフォルトの名無しさん
垢版 |
2022/08/13(土) 03:47:09.96ID:9Y2sM84k
Rustも世界が見限ったので5chで流行り始めてる。
330デフォルトの名無しさん
垢版 |
2022/08/13(土) 03:59:57.56ID:9Y2sM84k
いつものやつ。
https://trends.google.co.jp/trends/explore?q=%2Fm%2F0dsbpg6,%2Fm%2F02p97,PHP
331デフォルトの名無しさん
垢版 |
2022/08/13(土) 04:10:31.61ID:xQE0tEua
>>330
修繕
https://trends.google.co.jp/trends/explore?q=%2Fm%2F0dsbpg6,%2Fm%2F02p97,%2Fm%2F060kv
2022/08/13(土) 04:21:51.20ID:6QfP9d8W
937 デフォルトの名無しさん 2022/08/02(火) 15:13:23.73 ID:EoK+AbMq
>>936
>>1によるとRustは現世代最強言語だから比較として出てくるのは当たり前だろ

比較として過去世代言語を持ち出すのはレギュレーション違反ではありません
よろしくお願いします
2022/08/13(土) 04:22:46.97ID:3CEN1DwX
>>329
昨年Rust FoubdationをGoogleやMicrosoftやAmazonなど
世界の大手IT各社が共同で設立したばかりですが
どこの世界がRustを見限ったの?
334デフォルトの名無しさん
垢版 |
2022/08/13(土) 04:49:06.79ID:9Y2sM84k
FacebookがRustを採用。

Facebookの失墜。

世界がRustを見限る。

Facebookが戦犯。
2022/08/13(土) 05:17:02.03ID:qcqt1f6R
>>245の記事によると
世界でトップシェアのクラウドAWSがその提供サービス実装にRustを使っているようだぜ
336デフォルトの名無しさん
垢版 |
2022/08/13(土) 05:34:22.29ID:9Y2sM84k
>>335
終わりの始まり。
337デフォルトの名無しさん
垢版 |
2022/08/13(土) 06:07:19.25ID:9Y2sM84k
Rustで出来てる有名なソフトって何かあるの?
2022/08/13(土) 06:28:22.11ID:lzc5RUpA
AWSだけでなくLinux OSもAndroid OSもRustを採用したから終わりの始まり
2022/08/13(土) 07:38:54.55ID:njvmvUJk
あくまでも適してるのは低レイヤー
340デフォルトの名無しさん
垢版 |
2022/08/13(土) 08:13:13.08ID:9Y2sM84k
Linux OSもAndroid OSもCで書かれてる。
341デフォルトの名無しさん
垢版 |
2022/08/13(土) 08:17:14.35ID:9Y2sM84k
Rustで書かれてるメジャーなOSって何かあるの?
2022/08/13(土) 09:28:15.05ID:KZ/RfVV4
あったら何なの?無かったら何なの?
関係ないんだよお前には
2022/08/13(土) 09:42:57.35ID:2Qk1ejrP
なんかGoもRustも違うんだよな~
求めてる言語じゃないっていうか
Cをベースにして欲しいんだよ俺は
C++は論外
344デフォルトの名無しさん
垢版 |
2022/08/13(土) 09:49:20.23ID:9Y2sM84k
Rubyはどうだい?
2022/08/13(土) 09:55:35.86ID:Dkd+eytH
>>325
メモリ安全を売りにしているRustだから、メモリアロケータもRust製に拘った方が良いとかは無い?
2022/08/13(土) 09:58:00.87ID:JIF8rHbt
>>343
C#をネイティブコンパイルで
2022/08/13(土) 10:00:10.89ID:ogpUFXWj
■Rust使用実績
<OS>
- Linux
- Android

<基盤、ミドルウェア>
- AWS

<アプリケーション>
- Firefox

<Webアプリ>
- Cookpad
- Dwango
2022/08/13(土) 10:16:01.13ID:UHqBjcNr
WebアプリでRust使ってるやつはバカそのもの
2022/08/13(土) 10:45:37.81ID:TjiWtf4M
■Goの使用実績

https://github.com/golang/go/wiki/GoUsers
2022/08/13(土) 11:10:16.71ID:N+gF026L
GCがメモリ解放を「遅延」する特性を
プログラミング全般に応用した遅延評価は
GCの失墜を象徴する芸術作品なんだよ
2022/08/13(土) 11:30:18.26ID:nBIkkk5z
>>350
メモリ解放の遅延と評価の遅延は対象も効果も目的も違うだろ。

同一視するのはさすがに無知過ぎない?
2022/08/13(土) 11:41:11.76ID:njvmvUJk
GCが適さない環境でメモリ管理するいいやり方が所有権システムってだけなのでは?

GCが特に問題ならない環境でその所有権システムをわざわざ利用するメリットは?
2022/08/13(土) 11:45:26.29ID:N+gF026L
Haskellの場合は構文木のグラフ簡約がなければGCのグラフ探索もほとんど不要だよね
2022/08/13(土) 11:56:00.20ID:BhfPzEVU
>>352
静的型付けとか所有権とかは
難しいものでもなく慣れだけで簡単で
実際に使っていると大した手間も無く
メリットばかりが得られるんだよ

コンパイル時点で静的に全て決まるから
実行時にその分の無駄なデバッグなども不要
どの分野とか全ての分野で同じ

更にオマケとして
高速と省メモリが付いてくる
もちろん安全性も付いてくる
2022/08/13(土) 12:17:05.15ID:if0JSPrf
>>352
エコ
2022/08/13(土) 12:27:39.76ID:njvmvUJk
信者曰くデメリットなくてコストもかからずメリットしかないらしいけど
競プロでもISUCONでも全然人気ないし、エンタープライズでもほとんど見ないね
2022/08/13(土) 12:38:30.52ID:Dkd+eytH
UnityがC#からRustに乗り換えでもしたら、
私でもRustを扱える難易度かもしれない。
2022/08/13(土) 12:44:13.20ID:7TnExSFS
そもそもGCがボトルネックになるケースって相当なレアだと思うんだけど
GCをなくしたいモチベーションがよくわからない
2022/08/13(土) 12:53:11.09ID:l2wlkFvH
GCかどうかはどうでもいい話

高速&省メモリ
 だと
エコ&利用者も快適&リソース料金コストも安い

つまり良いこと尽くしなので高速&省メモリを選ぶ
結果として非効率なGCは論外
2022/08/13(土) 12:57:18.86ID:njvmvUJk
エンタープライズでは開発コスト重視するからRustはコストの観点では論外だね
開発メンバが抜けた時に継続してメンテできるか?新たな人材の確保は容易化?を最優先に考えるから

コストで有利に働くのはあくまでも個人開発の場合だね
2022/08/13(土) 12:58:30.25ID:njvmvUJk
NoSQL最強でRDBは不要おじさんw
無知そのものw
362デフォルトの名無しさん
垢版 |
2022/08/13(土) 13:02:33.78ID:cJQbCMHe
なにがし言語が使える人材、なんて人材の探し方してるの?
それでエンタープライズは笑う
2022/08/13(土) 13:04:50.07ID:HNkVMULx
>>352
メモリ以外のリソース、コネクションやファイルハンドラやらも所有権の枠組みで管理できるので並列処理でリソース管理周りのバグを出したくなければRustが理に適ってるシーンもある。

GC付きの言語でメモリ以外のリソースをGC的に管理しようとする取り組みとか無いのかね。
tryで囲んだりdefer書くとかで責務をいつまでも書き手に委ね続けるのは言語設計者の怠慢だわ。
2022/08/13(土) 13:07:30.57ID:njvmvUJk
イキってRustなんて使ったところで技術的負債になるだけ

あくまでもC++を置き換えるだけだからイキって採用しないようにしろよ
2022/08/13(土) 13:07:51.86ID:ppHUbuJC
エスケープ解析に触れないでGCと所有権を比較するのはさすがに無能すぎる。

あと、所有権に言及して設計の制約を無視する奴は詐欺師。
Rustはまず効率化のために制約の下でできる範囲で設計して、無理なら設計を破棄してやり直す(か、そもそもコーダーにやらせない)思想だろ。
2022/08/13(土) 13:19:05.90ID:uzvb9KsU
>>360
現実世界だと大手IT各社がRustを採用しているのはどうしてなの?
2022/08/13(土) 13:23:30.97ID:N+gF026L
>>363
デストラクタ内でポインタをいじる処理を許せばGCの性能が死ぬ
2022/08/13(土) 13:35:35.80ID:6QfP9d8W
>>363
C#のusingじゃだめですか
2022/08/13(土) 13:36:08.73ID:HNkVMULx
>>367
メモリ以外のリソースを持つオブジェクトを型付けしてやって効率的にするとかできないもんかね。

何にせよRustの適用領域が狭いのは確かだけどハマる領域だとこれ一択レベルだろうな。
2022/08/13(土) 13:40:47.26ID:r/AYssCA
>>369
Rustはほとんどの領域に向いている汎用的な言語
そもそも特定向け専用言語なんて非常に珍しい存在
2022/08/13(土) 13:40:59.10ID:njvmvUJk
>>366
ヒント 低レイヤー C++
2022/08/13(土) 13:45:03.23ID:HNkVMULx
>>368
C#のusingやkotlinのuseが正解っぽい感じはするんだけど、GCみたいにそもそも普段は意識しなくて済む感じになってほしい。
2022/08/13(土) 13:54:48.24ID:njvmvUJk
>>370
向いていると専用の違いがわからない馬鹿
374デフォルトの名無しさん
垢版 |
2022/08/13(土) 14:02:11.57ID:35Vbbs0e
ここにあるファイルを末尾に日付を入れてネットワーク上のNASにコピーした後、削除し空ファイルを作ってください。
これをRustでやる奴はウンコ、普通にbashで書く
2022/08/13(土) 14:06:21.25ID:N+gF026L
Pythonの__del__の仕様を確認したらむちゃくちゃ大雑把だった
こんなのスクリプト以外で許されるわけねえだろ
2022/08/13(土) 14:10:23.92ID:6QfP9d8W
>>374
エラー処理の要件次第ではbashだと辛くなりそうな予感がするんですが
2022/08/13(土) 14:19:49.12ID:w1Rw8Hpr
>>372
普通にストリームとかを使いっぱにしとけばいいんじゃね?
まともな実装ならその変数がGCで回収される時にクローズされるだろ
2022/08/13(土) 14:49:04.30ID:98LBn3Jf
>>326
日本が伊達にIT後進国じゃないってことだよな
2022/08/13(土) 14:51:34.28ID:98LBn3Jf
>>343
zig
2022/08/13(土) 15:27:52.15ID:1A00TS1y
>>374
それだとファイルの末尾だと誤読しうる
おそらくファイル名の末尾の意味だろう

そういう処理は用途によってはbashスクリプトも当然使っている
ただし色んなエラー処理をしだすとシェルスクリプトでは面倒なこともある

そのためプログラミング言語を使う場合もある
Rustを使っているものもある
2022/08/13(土) 15:36:28.85ID:1A00TS1y
>>377
GCはいつ起こるかわからない
そしてその使い方ではGCが起きるまでクローズが遅延される

すると色んな問題が起こる
OSリソースがその間占有され続ける
占有オープンなら他者が利用できないなど

GC言語を使うなら面倒でもdeferやusingなどで明示的に後処理するしかないだろう
もちろんC++やRustならばRAIIにより即座に解放されクローズ処理もされるため面倒な記述は不要である
2022/08/13(土) 15:40:18.08ID:w1Rw8Hpr
>>381
> GCはいつ起こるかわからない
> そしてその使い方ではGCが起きるまでクローズが遅延される
そんなことは分かってるよw
話の流れくらい読めよ
2022/08/13(土) 15:56:23.29ID:1A00TS1y
>>382
RAII言語の方が優秀だと認識できているならばよろしい
2022/08/13(土) 16:14:32.90ID:w1Rw8Hpr
>>383
アホなの?
C# の using も知らん無能はいちいち絡んでくるなよ
2022/08/13(土) 17:08:08.82ID:1A00TS1y
>>384
君は>>381を最後まで読まずに
途中で反射的に書き込んでいると分かったのでもういい
反省しなさい
2022/08/13(土) 17:28:21.83ID:njvmvUJk
NoSQL最強おじさん笑
RAII最強おじさん笑
2022/08/13(土) 17:30:58.15ID:w1Rw8Hpr
>>385
お前は>>372に既に書いてあることをアホみたいに再度書いてるから揶揄されてることも分からん知能しかないことがよくわかったよw
2022/08/13(土) 17:33:59.86ID:Dkd+eytH
>>375
そんな雑なものがたくさんあるのに、Rustにすべきなんて言う人とはいつ迄も平行線な気がするよね。
2022/08/13(土) 17:41:30.08ID:WN46//k4
>>363
それが怠慢とかw
どこでメモリ(リソース)を確保してどこで解放するかをプログラマが選択出来なきゃ
それこそ自由度が無く使いにくい言語になる
GCがあるから解放しなくてもいつかやってくれるから明示的に書かないという思想が
正しいと思っているならおかしい
2022/08/13(土) 17:50:27.94ID:N+gF026L
>>388
Rustやれぇとか命令されても
命令を無視する自由度のある人間はいちいち気にしない
命令無視しようが平行線だろうが何も問題ない
2022/08/13(土) 18:03:09.67ID:ctGwDZYY
useとかusingとかdeferとか
書き忘れていたら実行前にエラーとなってくれればいいんだけどね
忘れずに書いていることに依存させる言語仕様はよくないね
2022/08/13(土) 18:12:50.43ID:46rvE8i+
GCは結局メモリとGCの二つを管理しなきゃいけなくなって非効率なんじゃないか?
393デフォルトの名無しさん
垢版 |
2022/08/13(土) 18:14:07.67ID:9Y2sM84k
量子プロセッサ時代のプログラミング言語とか、意義のある会議は出来ないものか。
2022/08/13(土) 18:42:16.49ID:MTqiLV7H
ここ隔離スレなので特定のトピックに興味あるなら専用スレ立てた方が良いよ
2022/08/13(土) 21:59:10.85ID:8G4SUPRt
ファイルの自動クローズがRAIIで無条件かGCなので何らか明示指定かの話を見ていて思ったんだけど、
メモリの自動解放はこれまでGC言語だけの特権でGCにはデメリットもあれどメモリの自動解放という何もかもを上回るメリットが前面にあったのよね。
ところがGCがないのにメモリを自動解放するプログラミング言語が登場しちゃって危機感を覚える人も登場しちゃって、
396デフォルトの名無しさん
垢版 |
2022/08/13(土) 22:51:24.09ID:6wAoLN5t
GCがない(?)のにメモリを自動解放するプログラミング言語は昔からありますが……C++と言いましてね。

C++で(Rustみたいに)スタックフレームに何でも押し込むスタイルにするとどうなるのかねぇ。
397デフォルトの名無しさん
垢版 |
2022/08/13(土) 23:40:22.03ID:9Y2sM84k
重要なものがキャッシュに乗りにくくなるのでは?
2022/08/13(土) 23:54:24.87ID:601ao6Ev
そもそもRustもC++も含め、RAIIは何でもスタックに積んでいるわけではない
スタック上の値のように振る舞うように作られているだけで、内部的にヒープにメモリを確保しポインタを保持しているケースが多い
399デフォルトの名無しさん
垢版 |
2022/08/14(日) 00:25:46.03ID:b9F5IowR
Rustは自動メモリー管理が売りなんだから、C++のように自由に何でも出来たらダメでは?
400デフォルトの名無しさん
垢版 |
2022/08/14(日) 00:49:36.36ID:b9F5IowR
JavaとHaskellの良いとこ取りのように宣伝されてたけど、悪いところを併せ持ってしまったのでは?
2022/08/14(日) 07:17:26.98ID:tJlVM+m7
>>396
C++はメモリを自動解放しない。
unique_ptrやshared_ptrを忘れずに利用し間違えずに使用した場合のみ自動解放されるが、
それはその正しく作られたプログラムがメモリを自動解放しているのであり、
C++という言語自体がメモリを自動解放することはない。
一方でGC言語やRust言語などはプログラムの記述と関係なくメモリが自動解放される。
2022/08/14(日) 07:54:47.25ID:osAuRY7C
事実上今時のプログラムで生ポインタなんて使わないしアスペの>>401は知らんけど普通のプログラマにとってメモリー解放はC++程度で充分
2022/08/14(日) 08:05:26.58ID:tJlVM+m7
>>402
それはプログラマーの問題。
プログラマーの作ったプログラムにより自動解放している。
C++という言語はメモリを自動解放しない。
2022/08/14(日) 08:19:24.23ID:J5VfX3cG
>>401
一般ユーザーがめったに使わないnewで言いがかりつけるなよ。Rustのunsafeみたいなものだろ。
2022/08/14(日) 08:30:27.75ID:osAuRY7C
はいはい、アスペは何を指摘されているかも理解できないからどうでもいいわ
406デフォルトの名無しさん
垢版 |
2022/08/14(日) 08:44:12.34ID:FX5vs6id
ムッシュムラムラ
2022/08/14(日) 09:20:45.22ID:lDco67Nc
RAIIみたいなありふれたものじゃなくてxor mutabilityをアピールした方が良いのでは
408デフォルトの名無しさん
垢版 |
2022/08/14(日) 09:37:16.54ID:TQqmfXCA
>>407
これ
2022/08/14(日) 09:38:28.08ID:gLXUvNT9
>>407
実運用としては難しすぎて逆効果だとわかっているから言わないんだよ。
あるいはそもそも理解していないか。
410デフォルトの名無しさん
垢版 |
2022/08/14(日) 10:03:55.97ID:TQqmfXCA
>>409
難しすぎて逆効果ってどういうこと?
ワイRust大好きマンだけど、趣味ってだけで業務ではRust使ってないからよくわからない....
2022/08/14(日) 10:19:19.22ID:q44Oj4I2
>>410
もちろん難しいことはなくとてもシンプルな原理
そして実運用で非常に大きなメリットをもたらしている
Rustが大手IT各社に支持されている理由の一つ
2022/08/14(日) 10:29:55.69ID:oyMyAes/
あくまでもOS開発の用途で採用されてるだけ
2022/08/14(日) 10:38:15.56ID:q44Oj4I2
>>412
Rustの世界的大規模な調査結果により
Rustの利用対象はサーバーサイド/バックエンドが最多で
以下クラウド、分散システム、WebAssembly/Webフロント、組み込みといった状況になっている
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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