公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part19
https://mevius.5ch.net/test/read.cgi/tech/1673926892/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part20
■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 00:45:28.73ID:vTVY069B
499デフォルトの名無しさん
2023/06/04(日) 16:55:53.89ID:6x+rjW9P500デフォルトの名無しさん
2023/06/04(日) 16:59:31.44ID:6x+rjW9P501デフォルトの名無しさん
2023/06/04(日) 17:00:30.76ID:CvW15b8Y 高レイヤーのWebアプリでもRustがつかわれるようになるよ
支配的にはならないけど
支配的にはならないけど
502デフォルトの名無しさん
2023/06/04(日) 18:26:31.67ID:R98I/Q0o ID:rt4nzg3Uからは議論や情報交換より
「論破」したい気持ちは強く伝わるな
「論破」したい気持ちは強く伝わるな
503デフォルトの名無しさん
2023/06/04(日) 18:31:18.83ID:rt4nzg3U 論破なんてどうでも良いです
504デフォルトの名無しさん
2023/06/04(日) 18:56:40.97ID:Yc44DpOp >>493
AWS (Amazon Web Service)など様々なものがRust製になっていってる現実を受け入れられない?
もしRust製である必要がないと主張したいならばどの言語を使うのがベストなのか明確にすべき
AWS (Amazon Web Service)など様々なものがRust製になっていってる現実を受け入れられない?
もしRust製である必要がないと主張したいならばどの言語を使うのがベストなのか明確にすべき
505デフォルトの名無しさん
2023/06/04(日) 19:11:40.33ID:rt4nzg3U506デフォルトの名無しさん
2023/06/04(日) 19:12:48.96ID:rt4nzg3U OS開発に向いてますって言われてもOS作る開発者は一般的じゃ無いやろ
507デフォルトの名無しさん
2023/06/04(日) 19:13:29.18ID:yBN53eMB >>478
言おうとしてたのはWebサーバーじゃなくてWebアプリね
で、企業でnginxやapacheみたいなHTTPサーバースクラッチで作ってる日本の企業ってどこにあるんだ?
Webアプリ作ってるのが大半だろ?
H2Oぐらいしか知らないけどあれはほぼ個人開発だしな
なんでかって言うと既にOSSで優秀なエンジニアが作ってるから、企業でそれをやるのは意味がないから
普通のエンジニアはこういう車両の再発明的なことを業務ではやらない
だからWeb系企業にRustは普通採用されないと言ってるの
一部のエリート向けって言ったのはまさにこういうこと
nginxもredisもCで書かれてるけどほぼ一人のエリートよって作成されてるからな
Linuxカーネル書いてる人もエリートしかいないだろ
そう言う人向けの言語
言おうとしてたのはWebサーバーじゃなくてWebアプリね
で、企業でnginxやapacheみたいなHTTPサーバースクラッチで作ってる日本の企業ってどこにあるんだ?
Webアプリ作ってるのが大半だろ?
H2Oぐらいしか知らないけどあれはほぼ個人開発だしな
なんでかって言うと既にOSSで優秀なエンジニアが作ってるから、企業でそれをやるのは意味がないから
普通のエンジニアはこういう車両の再発明的なことを業務ではやらない
だからWeb系企業にRustは普通採用されないと言ってるの
一部のエリート向けって言ったのはまさにこういうこと
nginxもredisもCで書かれてるけどほぼ一人のエリートよって作成されてるからな
Linuxカーネル書いてる人もエリートしかいないだろ
そう言う人向けの言語
508デフォルトの名無しさん
2023/06/04(日) 19:13:51.05ID:rt4nzg3U 議論が出来ない馬鹿の良くある事
極論で語る
これが出てきたら無能確定
極論で語る
これが出てきたら無能確定
509デフォルトの名無しさん
2023/06/04(日) 19:36:06.85ID:yBN53eMB でその一部のエリートは通常C、C++を使いたがる
新しい言語自体には興味がなくメモリを自分で管理できる自信があるから
Rustが輝くのはAWSとか一部のエリート企業に限られるだろうね
企業でやる場合はメモリ安全は重要だろう
俺たちIT土方はまずこういった低レイヤーやミドルウェアを触れる機会がないので間違ってもイキってWebアプリとかでRust使わない方がいいと思うよ
ほとんどのケースで向いてないし、企業でもまず採用されないから
新しい言語自体には興味がなくメモリを自分で管理できる自信があるから
Rustが輝くのはAWSとか一部のエリート企業に限られるだろうね
企業でやる場合はメモリ安全は重要だろう
俺たちIT土方はまずこういった低レイヤーやミドルウェアを触れる機会がないので間違ってもイキってWebアプリとかでRust使わない方がいいと思うよ
ほとんどのケースで向いてないし、企業でもまず採用されないから
510デフォルトの名無しさん
2023/06/04(日) 19:55:56.27ID:Yc44DpOp >>505
Webにそんな区別はない
HTTPベースで通信するものがWebと呼ばれておりAWSのWもその略
Rustでも他の言語と同様にHTTPは自分で実装する必要がなく利用するだでよい
低レイヤという区別をするならばRustではhyperというHTTPを担うライブラリが低レイヤと呼ばれている
だからRustでもその低レイヤ部分を自分で実装する必要はない
さらにその低レイヤhyperの上に作られた様々なフレームワークがある
つまり低レイヤ部分のhyperを自分で直接使う必要はなく各フレームワークを用いてWebのプログラムを書くことができる
したがってRustでは低レイヤ部分を自作もできるが既に標準的なものがあり
フレームワークも自作できるが既に様々なものがあり自分で作らなくても利用可能
Rustを否定しているあなたがRustの代わりに使うべきだと考えているプログラミング言語は何ですか?
>>509
Rustを否定しているあなたもRustの代わりに使うべきだと考えているプログラミング言語は何ですか?
Webにそんな区別はない
HTTPベースで通信するものがWebと呼ばれておりAWSのWもその略
Rustでも他の言語と同様にHTTPは自分で実装する必要がなく利用するだでよい
低レイヤという区別をするならばRustではhyperというHTTPを担うライブラリが低レイヤと呼ばれている
だからRustでもその低レイヤ部分を自分で実装する必要はない
さらにその低レイヤhyperの上に作られた様々なフレームワークがある
つまり低レイヤ部分のhyperを自分で直接使う必要はなく各フレームワークを用いてWebのプログラムを書くことができる
したがってRustでは低レイヤ部分を自作もできるが既に標準的なものがあり
フレームワークも自作できるが既に様々なものがあり自分で作らなくても利用可能
Rustを否定しているあなたがRustの代わりに使うべきだと考えているプログラミング言語は何ですか?
>>509
Rustを否定しているあなたもRustの代わりに使うべきだと考えているプログラミング言語は何ですか?
511デフォルトの名無しさん
2023/06/04(日) 22:38:12.29ID:rt4nzg3U 何でRust否定してる事になってるの?
妄想酷くねw
長々と書いてるけど的外れなんだよ
妄想酷くねw
長々と書いてるけど的外れなんだよ
512デフォルトの名無しさん
2023/06/04(日) 22:52:44.00ID:Lgm9jhwY 結局なにがしたいのかがわからん
相手にしてるやつも
相手にしてるやつも
513デフォルトの名無しさん
2023/06/04(日) 22:57:08.43ID:YjKn3ZKa 速さ省メモリに保守性の良さからRustがベストで間違いない
514デフォルトの名無しさん
2023/06/05(月) 01:02:48.45ID:G39bRhEA この人の中ではRustの適用範囲は決まってて
他の人が範囲外の事例出すと否定のための否定を
したいだけなのが明白だから相手しても不毛
他の人が範囲外の事例出すと否定のための否定を
したいだけなのが明白だから相手しても不毛
515デフォルトの名無しさん
2023/06/05(月) 01:11:33.27ID:9wHuhZD9516デフォルトの名無しさん
2023/06/05(月) 01:41:08.29ID:FV749zD+ まとめて隔離スレに帰れゴミカスども
517デフォルトの名無しさん
2023/06/05(月) 07:49:28.36ID:GAWgQYcM >>468
ライブマイグレーションって今でもあまり普通じゃないと思うけど。冗長化構成とって切り替えが多いだろ。
ライブマイグレーションって今でもあまり普通じゃないと思うけど。冗長化構成とって切り替えが多いだろ。
518デフォルトの名無しさん
2023/06/05(月) 11:19:07.49ID:9Zk1qYqb >>514
違うかな
逆に言うとC#でもOSは書けるし実際に有る
でもソレって無理矢理感有るでしょ
Rustも同じでやろうと思えば出来る
でもそれってRustである意味は無いよねって話
高速で動く必要があって
GCが走って一時的にレスポンスが遅くなる事態が不味い
って場面がRustの出番って事だと思うんだけどね
WebアプリについてはまさしくRustであるある必要は無い
せめて他言語のフレームワーク並みに各種ミドルウェアが充実してるならまだしもその分野では貧相としか言えない
だからこそ流行ってないとも言える
違うかな
逆に言うとC#でもOSは書けるし実際に有る
でもソレって無理矢理感有るでしょ
Rustも同じでやろうと思えば出来る
でもそれってRustである意味は無いよねって話
高速で動く必要があって
GCが走って一時的にレスポンスが遅くなる事態が不味い
って場面がRustの出番って事だと思うんだけどね
WebアプリについてはまさしくRustであるある必要は無い
せめて他言語のフレームワーク並みに各種ミドルウェアが充実してるならまだしもその分野では貧相としか言えない
だからこそ流行ってないとも言える
519デフォルトの名無しさん
2023/06/05(月) 11:31:56.47ID:G39bRhEA >>518
そうだねすごいね
そうだねすごいね
520デフォルトの名無しさん
2023/06/05(月) 12:29:52.32ID:AdIugMi7 自分で考えて調べて判断を下せない人にはRustは向かない
良い悪いじゃなく適性と置かれている環境の違い
良い悪いじゃなく適性と置かれている環境の違い
521デフォルトの名無しさん
2023/06/05(月) 12:41:59.19ID:GjYw3Sbx DiscordでGC云々ってのもGoのアップデートで解消できる内容だしな
(Go作者のRuss Coxさん曰く)
Webでいちいちスタックだとかヒープだとかメモリの所有権だとか考えながらコードを書くメリットは別にそこまでないよな
nginxみたいなミドルウェア的な立ち位置のWebサーバーを作るならともかく
システムプログラミング言語だからあくまでもC, C++の代替言語
GoやJavaとは全く別用途の言語
(Go作者のRuss Coxさん曰く)
Webでいちいちスタックだとかヒープだとかメモリの所有権だとか考えながらコードを書くメリットは別にそこまでないよな
nginxみたいなミドルウェア的な立ち位置のWebサーバーを作るならともかく
システムプログラミング言語だからあくまでもC, C++の代替言語
GoやJavaとは全く別用途の言語
522デフォルトの名無しさん
2023/06/05(月) 13:16:05.91ID:dGVU/GMJ 15年くらい前の考え方だね
523デフォルトの名無しさん
2023/06/05(月) 13:34:19.17ID:UReP7Es5 >>518
C#である必要もない
C#である必要もない
524デフォルトの名無しさん
2023/06/05(月) 13:43:03.69ID:UReP7Es5 >>521
あるよ
ここまで外部データを扱う分野もない
つまり内部でメモリアロケーションが頻発する
メモリをどうアロケートするか?で天と地の差が出るのが現代のマシンのアーキテクチャだ
キャッシュメモリに全部乗せるようにプログラムを書くのは今や常識
いちいちヒープからメモリを確保していたらページフォルトで尋常じゃないスピード劣化を招く
ましてやGCなどそんなプログラムを遅くするようなもんよく採用したな?というレベル
Webこそスタックとヒープとメモリアロケーションを明確に制御できるべき分野
あるよ
ここまで外部データを扱う分野もない
つまり内部でメモリアロケーションが頻発する
メモリをどうアロケートするか?で天と地の差が出るのが現代のマシンのアーキテクチャだ
キャッシュメモリに全部乗せるようにプログラムを書くのは今や常識
いちいちヒープからメモリを確保していたらページフォルトで尋常じゃないスピード劣化を招く
ましてやGCなどそんなプログラムを遅くするようなもんよく採用したな?というレベル
Webこそスタックとヒープとメモリアロケーションを明確に制御できるべき分野
525デフォルトの名無しさん
2023/06/05(月) 13:46:53.65ID:UReP7Es5 >>509
何度も言うがスタック、ヒープ、ベクター化(SIMD)、キャッシュメモリなどを意識することは一昔前よりはるかに有効になっている
キャッシュメモリの速度が比べ物にならないくらい速くなっているからだ
むしろ今こそスタックとヒープを意識して「メモリをちゃんと使い回す」ことを意識すべきなんだよ
所有権ってのはマシンアーキテクチャの視点で見ると
メモリ領域をうまく使い回すための技術ともいえる
余計なアロケーションを防ぎメモリリークを防ぎ
ページフォルトを防ぎベクター化を容易にする
このような現代的なプログラミング技術についてまともに解説されることは少ないのだが
優れたプログラマは常に意識している
何度も言うがスタック、ヒープ、ベクター化(SIMD)、キャッシュメモリなどを意識することは一昔前よりはるかに有効になっている
キャッシュメモリの速度が比べ物にならないくらい速くなっているからだ
むしろ今こそスタックとヒープを意識して「メモリをちゃんと使い回す」ことを意識すべきなんだよ
所有権ってのはマシンアーキテクチャの視点で見ると
メモリ領域をうまく使い回すための技術ともいえる
余計なアロケーションを防ぎメモリリークを防ぎ
ページフォルトを防ぎベクター化を容易にする
このような現代的なプログラミング技術についてまともに解説されることは少ないのだが
優れたプログラマは常に意識している
526デフォルトの名無しさん
2023/06/05(月) 13:51:56.62ID:UReP7Es5 「Rustが速い」と言われてるのはこのようなメモリの使い方が優れているから結果として速くなっているというのが事実
これは他の言語が捨てた部分だ
他の言語は「メモリなんて富豪的でいいっしょ」と言う姿勢を貫いていた
しかし現代のアーキテクチャにおいては他の言語が捨てた部分こそが高速化の肝だったのだ
Rustの初期のメンバーがここまで意識できてたかはわからないが
メモリ安全を追求した結果現代アーキテクチャにとって最適な形になったのは偶然ではない
これは他の言語が捨てた部分だ
他の言語は「メモリなんて富豪的でいいっしょ」と言う姿勢を貫いていた
しかし現代のアーキテクチャにおいては他の言語が捨てた部分こそが高速化の肝だったのだ
Rustの初期のメンバーがここまで意識できてたかはわからないが
メモリ安全を追求した結果現代アーキテクチャにとって最適な形になったのは偶然ではない
527デフォルトの名無しさん
2023/06/05(月) 14:02:53.03ID:v+V2Ynpr >>521
TypeScriptで型レベルプログラミングに慣れた人たちは「せめて直和型くらいは欲しい」となってしまい
移行先としてGoもJavaも対象外になって、パフォーマンスが必要なくてもRustに行くケースがよくある
Goがもっとリッチな言語機能を目指してればこういう層は全部取れたんだろうけど
TypeScriptで型レベルプログラミングに慣れた人たちは「せめて直和型くらいは欲しい」となってしまい
移行先としてGoもJavaも対象外になって、パフォーマンスが必要なくてもRustに行くケースがよくある
Goがもっとリッチな言語機能を目指してればこういう層は全部取れたんだろうけど
528デフォルトの名無しさん
2023/06/05(月) 14:21:53.12ID:qHQdZEB1 アレな人とアレを複製する人のアレな議論からは
反面教師とする以外に何も得るものがないな
反面教師とする以外に何も得るものがないな
529デフォルトの名無しさん
2023/06/05(月) 14:27:59.36ID:/xaXR3Rr >>521
かつてはウェブの世界だと細々と切り詰めて効率化するよりスケールアウトのしやすさのほうが重要視されてた。
プログラムを改良して性能を倍に延ばすよりもサーバの数を増やしたほうが安上がりだから。
プログラムの改良はやればやるだけ性能が伸びるというわけでなくて、
どうせどこかに上限があるなら数で補えるような設計のほうが良い。
それがかつてのウェブの思想だが、クラウドが前提の世界になって一変した。
スケールアウトを簡単に出来るインフラが整ってしまったんだ。
サービスを構築する側は CPU とメモリを使いたい分だけ金を払えばスケールアウトは当たり前に出来るものになった。
サーバの準備が投資ではなく消費になってしまったとも言える。
ま、経営者にとってみれば消費は減らしたいもんだ。
故に今はミクロ的な実行効率のほうを上げようとする圧力が発生している。
そんなわけで Rust を採用する動機はある。
もちろんサービスの規模が小さいならそんなに手間かける割に合わんということも多いだろうけど、
ウェブでも Rust を採用する動機は存在するんだよ。
かつてはウェブの世界だと細々と切り詰めて効率化するよりスケールアウトのしやすさのほうが重要視されてた。
プログラムを改良して性能を倍に延ばすよりもサーバの数を増やしたほうが安上がりだから。
プログラムの改良はやればやるだけ性能が伸びるというわけでなくて、
どうせどこかに上限があるなら数で補えるような設計のほうが良い。
それがかつてのウェブの思想だが、クラウドが前提の世界になって一変した。
スケールアウトを簡単に出来るインフラが整ってしまったんだ。
サービスを構築する側は CPU とメモリを使いたい分だけ金を払えばスケールアウトは当たり前に出来るものになった。
サーバの準備が投資ではなく消費になってしまったとも言える。
ま、経営者にとってみれば消費は減らしたいもんだ。
故に今はミクロ的な実行効率のほうを上げようとする圧力が発生している。
そんなわけで Rust を採用する動機はある。
もちろんサービスの規模が小さいならそんなに手間かける割に合わんということも多いだろうけど、
ウェブでも Rust を採用する動機は存在するんだよ。
530デフォルトの名無しさん
2023/06/05(月) 14:30:23.16ID:SGaNfCKj おっさん、Rustは学歴勝負の言語なんだよ
高卒様はC#スレに帰ってくれ
高卒様はC#スレに帰ってくれ
531デフォルトの名無しさん
2023/06/05(月) 14:36:08.40ID:0sUVinjo Rustの言語機能の充実さが書きやすくて堅牢でメンテもしやすいね
メモリ管理はほぼ自動で慣れだけの問題で書くこともできるし
さらに踏み込んで頑張ることもできて幅広い利用者に適してる
Rustの唯一の弱点は慣れるまでの時間が他の言語より長いことだけど
慣れてしまえば消える弱点なので現存するベストなプログラミング言語かな
メモリ管理はほぼ自動で慣れだけの問題で書くこともできるし
さらに踏み込んで頑張ることもできて幅広い利用者に適してる
Rustの唯一の弱点は慣れるまでの時間が他の言語より長いことだけど
慣れてしまえば消える弱点なので現存するベストなプログラミング言語かな
532デフォルトの名無しさん
2023/06/05(月) 14:45:53.25ID:DZ7CuRre 結局C++とRustってどっちが良いの? 3traits
https://mevius.5ch.net/test/read.cgi/tech/1683154196/
https://mevius.5ch.net/test/read.cgi/tech/1683154196/
533デフォルトの名無しさん
2023/06/05(月) 14:47:01.66ID:DZ7CuRre 他言語との比較は隔離スレでお願いします
534デフォルトの名無しさん
2023/06/05(月) 15:11:38.38ID:vRd9123b ID変えないやつはNGしやすくていいけど
複オジはID変えてしかも複数人のふりして
同じ内容の長文を繰り返し繰り返し書くから
めちゃくちゃウザい
複オジはID変えてしかも複数人のふりして
同じ内容の長文を繰り返し繰り返し書くから
めちゃくちゃウザい
535デフォルトの名無しさん
2023/06/05(月) 15:34:05.37ID:AvaxKdII >>492
具体的にRust以外のどの言語?
具体的にRust以外のどの言語?
536デフォルトの名無しさん
2023/06/05(月) 16:59:55.04ID:4ssR4odd 単発NGを推奨する
537デフォルトの名無しさん
2023/06/05(月) 17:04:06.04ID:GjYw3Sbx Webって何に対しても上限決まってないから動的確保が基本でヒープに確保しまくるだろ
Rustですらヒープ使うしかないのに何いってんだこいつ
Rustですらヒープ使うしかないのに何いってんだこいつ
538デフォルトの名無しさん
2023/06/05(月) 17:19:13.55ID:4NoCfZlh どういう書き込みに対するレスかわからないが
一般的にはヒープの使用をゼロというより最小限にすることが可能な言語かどうか
バックエンドをマイクロサービス化した場合は想定外のリクエストは来ないので更に最小化できる
いずれにせよGCのある言語は論外
一般的にはヒープの使用をゼロというより最小限にすることが可能な言語かどうか
バックエンドをマイクロサービス化した場合は想定外のリクエストは来ないので更に最小化できる
いずれにせよGCのある言語は論外
539デフォルトの名無しさん
2023/06/05(月) 17:34:34.25ID:DZ7CuRre540デフォルトの名無しさん
2023/06/05(月) 18:09:21.14ID:dww0BWyZ 論外坊を相手にしてはいけない、メモリ確保と解放を繰り返す原始的なダサい構造より搭載メモリに応じてアリーナ管理するほうが理にかなってる。Rustを使ってるのにアロケーターの自作や変更を考えたことのない子は最小の意味が分かっていない
541デフォルトの名無しさん
2023/06/05(月) 18:15:03.73ID:8ZF5QBOp ガベージコレクションのある言語はそれができず非効率だもんな
542デフォルトの名無しさん
2023/06/05(月) 18:29:07.02ID:tOuh49Mt 書き心地のよさや近代的なエコシステムが好きで使ってる
チームで使うと品質を安定させやすい
実行時もリソースも安定させやすい
パフォーマンス面ではどちらかとコストの低い方を選択するよう努力するするが、そこまで突き詰めて考えないよ
チームで使うと品質を安定させやすい
実行時もリソースも安定させやすい
パフォーマンス面ではどちらかとコストの低い方を選択するよう努力するするが、そこまで突き詰めて考えないよ
543デフォルトの名無しさん
2023/06/05(月) 18:33:55.89ID:/S79/CE3 Rustの良い面が多面的であり
どの面を重視するかは人によって様々だが
Rustに行き着く点では同じだ
どの面を重視するかは人によって様々だが
Rustに行き着く点では同じだ
544デフォルトの名無しさん
2023/06/05(月) 18:54:42.77ID:M00yb3VA まーたクソみたいな複オジ節が連投されてんなw
545デフォルトの名無しさん
2023/06/05(月) 20:04:46.68ID:5pPw8Ntr546デフォルトの名無しさん
2023/06/05(月) 20:12:05.32ID:sHX0h5A1 ML系言語やればいいよ思うよ
547デフォルトの名無しさん
2023/06/05(月) 20:50:22.82ID:UzHiRmXo 先日のStableのリリースでやっとOnceCellが安定化されたんですね。
Lazyはまだっぽいけど嬉しい。
Lazyはまだっぽいけど嬉しい。
548デフォルトの名無しさん
2023/06/06(火) 02:17:44.23ID:puQ29V2U 去年から始めたけど、ここ2~3年で標準化された機能が必須に感じるので、最適なタイミングで始められたなと思う
549デフォルトの名無しさん
2023/06/06(火) 07:22:24.29ID:o6YEf8qO550デフォルトの名無しさん
2023/06/06(火) 07:54:49.95ID:8OPdxEUp 書き心地も良いが開発効率の高さだな
スクリプトで済むのはスクリプト言語を使うとして
プログラミングするならRust一択となった
スクリプトで済むのはスクリプト言語を使うとして
プログラミングするならRust一択となった
551デフォルトの名無しさん
2023/06/06(火) 10:54:53.70ID:6c57W+Lm 何の数字を比べて 開発効率が上がったと言ってるんだ?
552デフォルトの名無しさん
2023/06/06(火) 11:12:32.78ID:o1s33Rlj ありがとうRustAnalyzer
553デフォルトの名無しさん
2023/06/06(火) 19:31:13.22ID:mkQOe4X2 >>545
それは反対だ。副作用がない関数コールでOptionやResultはオーバースペックで邪魔でしかない、Rustだって-> i32とか出来るのは理由があるからで意味のないResultラッピングしてしまうのは邪悪でしかない。
それは反対だ。副作用がない関数コールでOptionやResultはオーバースペックで邪魔でしかない、Rustだって-> i32とか出来るのは理由があるからで意味のないResultラッピングしてしまうのは邪悪でしかない。
554デフォルトの名無しさん
2023/06/06(火) 19:35:17.52ID:5BE6aCuJ555デフォルトの名無しさん
2023/06/06(火) 21:19:28.43ID:n1ZdC4n5556デフォルトの名無しさん
2023/06/06(火) 22:39:17.85ID:lWt7Neg4 >>553
絶対にエラーが起きない場合も含めてインターフェースの戻り型を統一しなきゃいけない時に、
Resultで統一することで非効率になるのを恐れているのだと思うけど、
エラーが起きない場合の実装のみエラー型をstd::convert::Infallibleつまり戻り型をResult<Xxx, Infallible>とすれば、
最適化されるため気にせずResultラッピングのコードを書いても大丈夫だよ
絶対にエラーが起きない場合も含めてインターフェースの戻り型を統一しなきゃいけない時に、
Resultで統一することで非効率になるのを恐れているのだと思うけど、
エラーが起きない場合の実装のみエラー型をstd::convert::Infallibleつまり戻り型をResult<Xxx, Infallible>とすれば、
最適化されるため気にせずResultラッピングのコードを書いても大丈夫だよ
557デフォルトの名無しさん
2023/06/07(水) 02:16:00.81ID:pdPmNlas Rustは文字列やネット系のライブラリが充実しているため、書き易いと
感じるのかもしれないが、言語自体の書き心地は悪い。
感じるのかもしれないが、言語自体の書き心地は悪い。
558デフォルトの名無しさん
2023/06/07(水) 02:25:13.42ID:VU6rdBvm >>557
スクリプト以外でRustより書き易い言語ある?
スクリプト以外でRustより書き易い言語ある?
559デフォルトの名無しさん
2023/06/07(水) 02:41:53.93ID:pdPmNlas >>558
色々有るな。例えばJavaやC#とか。
色々有るな。例えばJavaやC#とか。
560デフォルトの名無しさん
2023/06/07(水) 02:52:36.10ID:bLVp0x6K Javaは言語が古すぎ
機能不足で書くのが苦痛
今どきの言語を知っていてJavaを書きやすいと言う人はいない
機能不足で書くのが苦痛
今どきの言語を知っていてJavaを書きやすいと言う人はいない
561デフォルトの名無しさん
2023/06/07(水) 03:13:16.86ID:PASEDR7I お前ら本当にシステム屋か?
“描きやすい”ってのは人それぞれで定義が曖昧やん
なぜその定義や認識の統一をせずに議論始めるん?
“描きやすい”ってのは人それぞれで定義が曖昧やん
なぜその定義や認識の統一をせずに議論始めるん?
562デフォルトの名無しさん
2023/06/07(水) 03:15:24.35ID:PASEDR7I 例えばだけどJavaは古くてというが昔からJavaやってるやつは慣れから書きやすいと感じる
Java歴15年
Rust歴1年
とかで比べたらどっちに軍配上がるか分かるやん
Java歴15年
Rust歴1年
とかで比べたらどっちに軍配上がるか分かるやん
563デフォルトの名無しさん
2023/06/07(水) 03:23:10.65ID:2dySsIAz 議論を成立させるのが無理なの分かってるから隔離スレでやれっつってるんですよ
564デフォルトの名無しさん
2023/06/07(水) 03:35:20.85ID:PASEDR7I まあ言語スレで具体的なコードも出さずに議論しちゃう馬鹿ばかりだしな
せめて○○言語じゃこう書くけどRustではこう書ける
だから書きやすいってぐらいはして欲しいもんだ
せめて○○言語じゃこう書くけどRustではこう書ける
だから書きやすいってぐらいはして欲しいもんだ
565デフォルトの名無しさん
2023/06/07(水) 03:35:24.21ID:mYje0a9y >>562
それは言語の書きやすさではなく
その個人が慣れか不慣れかだろ
言語の書きやすさはその言語に十分慣れた上で
言語の機能が不足していて書きにくい点がないかどうかなどで決まる
その比較例だとJavaとRust両方に慣れた人たちにとって全員がJavaに❌をつける
それは言語の書きやすさではなく
その個人が慣れか不慣れかだろ
言語の書きやすさはその言語に十分慣れた上で
言語の機能が不足していて書きにくい点がないかどうかなどで決まる
その比較例だとJavaとRust両方に慣れた人たちにとって全員がJavaに❌をつける
566デフォルトの名無しさん
2023/06/07(水) 04:14:00.36ID:PASEDR7I 別の言語を長くやってても面倒臭いなって思う点は出てくるじゃん
例えばJavaやってるとC#のあの機能欲しい
なんでJavaには追加されないんだろとかさ
例えばJavaやってるとC#のあの機能欲しい
なんでJavaには追加されないんだろとかさ
567デフォルトの名無しさん
2023/06/07(水) 04:15:46.17ID:mYje0a9y だから全員がJavaに✕をつける
568デフォルトの名無しさん
2023/06/07(水) 10:36:40.93ID:o7otWeXk >>562
わかるやん、てあなたが勝手に言ってるだけですやんw
わかるやん、てあなたが勝手に言ってるだけですやんw
569デフォルトの名無しさん
2023/06/07(水) 15:06:17.70ID:3M1fBRd0 でも、多数決では、Rustが最下位なんだよな。
570デフォルトの名無しさん
2023/06/07(水) 15:44:42.75ID:3M1fBRd0 Rustの問題点を指摘すると、「それはあなたが ・・・」
「馬鹿だから」「老害だから」「じじいだから」「化石みたいな人だから」
みたいな事言って人いるけど、それは
「若くて頭のいい人々が使うんだから、老害/馬鹿は黙っとけって」ことになるが、
それでは一般人に普及する言語には成れないであろう。
そもそも、高級言語の目的とは、簡単に安全にやりたいことが出来ると言う
ことであり、しかも、一部の人を除いては簡単にも思えないようなものであっては
普及は遠い。
「馬鹿だから」「老害だから」「じじいだから」「化石みたいな人だから」
みたいな事言って人いるけど、それは
「若くて頭のいい人々が使うんだから、老害/馬鹿は黙っとけって」ことになるが、
それでは一般人に普及する言語には成れないであろう。
そもそも、高級言語の目的とは、簡単に安全にやりたいことが出来ると言う
ことであり、しかも、一部の人を除いては簡単にも思えないようなものであっては
普及は遠い。
571デフォルトの名無しさん
2023/06/07(水) 15:54:04.41ID:3M1fBRd0572デフォルトの名無しさん
2023/06/07(水) 16:20:31.76ID:QsxM8200 書きやすいか否かという話より、rustは意外にタイピング量は多い思想は考え直してほしい。
std::fmtなどの「::」だとか引数名・変数の後の型の「:」だとか、むろんmutも、戻り値の「->」もなぜ引数の「:」と戻り値の「->」を同じにしなかったのか?思想面が分かる人に教えてほしい。
ほかにもなぜマクロ呼び出しに「!」をいちいち付けるのかとか、関数はfnやpubで省略しているのに?アトリビュートも#[xxx]と異様に見える。なぜ@xxxでは駄目だったのか?
まあセミコロンはC/C++からの移行を重視したのだろうけど。言語をディスってる訳じゃなく完全論破されることを願う
std::fmtなどの「::」だとか引数名・変数の後の型の「:」だとか、むろんmutも、戻り値の「->」もなぜ引数の「:」と戻り値の「->」を同じにしなかったのか?思想面が分かる人に教えてほしい。
ほかにもなぜマクロ呼び出しに「!」をいちいち付けるのかとか、関数はfnやpubで省略しているのに?アトリビュートも#[xxx]と異様に見える。なぜ@xxxでは駄目だったのか?
まあセミコロンはC/C++からの移行を重視したのだろうけど。言語をディスってる訳じゃなく完全論破されることを願う
573デフォルトの名無しさん
2023/06/07(水) 16:59:17.90ID:MyTs/b4R 細かい構文は互換性やらが重視されて一定の思想が徹底してないことも多いでしょうよ
暇ならissue掘り返してみればいい
とりあえず::はC++由来でattributeはC#由来
暇ならissue掘り返してみればいい
とりあえず::はC++由来でattributeはC#由来
574デフォルトの名無しさん
2023/06/07(水) 18:36:58.20ID:Rjy197CJ Rustが難しいと感じるのは経験不足だと思うわ
困難に立ち向かった経験が少ない
困難に立ち向かった経験が少ない
575デフォルトの名無しさん
2023/06/07(水) 18:50:18.58ID:JMx9Ekkp >>572
マクロ呼び出しに「!」を付けるのはコンパイラと人間の両方がマクロ呼び出しをすぐに識別できるようにするため
コンパイラの実装方法によっては無くすことは不可能ではないだろうけど効率が悪くなるし実装も難しくなる
最初は俺も無いほうが良いと思ってたけど
「!」をつけないといけないから不必要にマクロを作らなくて
結果的にメンテしやすいコードにつながってるので考え方変わった
マクロ呼び出しに「!」を付けるのはコンパイラと人間の両方がマクロ呼び出しをすぐに識別できるようにするため
コンパイラの実装方法によっては無くすことは不可能ではないだろうけど効率が悪くなるし実装も難しくなる
最初は俺も無いほうが良いと思ってたけど
「!」をつけないといけないから不必要にマクロを作らなくて
結果的にメンテしやすいコードにつながってるので考え方変わった
576デフォルトの名無しさん
2023/06/07(水) 19:54:20.54ID:6MUTDsao >>572
タッチタイピングできない人?
もしくはVSCode使ってない人?
文字数なんて気にするやつ初めて見たぞ
::はC++由来
->はHaskell由来だよ
マクロの!や?はおそらくRuby由来だが別の意味で使ってる
#[]はわからん
タッチタイピングできない人?
もしくはVSCode使ってない人?
文字数なんて気にするやつ初めて見たぞ
::はC++由来
->はHaskell由来だよ
マクロの!や?はおそらくRuby由来だが別の意味で使ってる
#[]はわからん
577デフォルトの名無しさん
2023/06/07(水) 20:20:10.95ID:MyTs/b4R >>576
煽るなら最低限公式ドキュメントの内容はすべて頭に入れてからにしたまえ
https://doc.rust-lang.org/reference/influences.html
>>572が言いたいのはTypeScriptのごとくfn f(x: T): Uとかけないのは何故かということだろう
trait boundとの曖昧性が生まれる状況があるのかなと思ったが、ちょっと具体例が思いつかないので違うかも
煽るなら最低限公式ドキュメントの内容はすべて頭に入れてからにしたまえ
https://doc.rust-lang.org/reference/influences.html
>>572が言いたいのはTypeScriptのごとくfn f(x: T): Uとかけないのは何故かということだろう
trait boundとの曖昧性が生まれる状況があるのかなと思ったが、ちょっと具体例が思いつかないので違うかも
578デフォルトの名無しさん
2023/06/07(水) 21:01:38.64ID:MyTs/b4R というかRustは元々めっちゃタイプ数気にする系言語だったんだよねむしろ
1.0以前にはreturnがretだった頃もあった
今日まで残るfnとかimplとか、比較的新しいdynもそうだが
実際かなり略したがりな言語ではあると思うよ
1.0以前にはreturnがretだった頃もあった
今日まで残るfnとかimplとか、比較的新しいdynもそうだが
実際かなり略したがりな言語ではあると思うよ
579デフォルトの名無しさん
2023/06/07(水) 22:03:46.79ID:juXVB+W2 >>572
あらゆる言語で同じことが言えるが
基本的な文法記述方法を考え直してほしいと要求しても
今から変わるわけがないし変わったら利用者が困る
無意味な破壊的な要求をしていることになる
タイピング量が多いといってもわずかな誤差であり
ほとんどの記述方法は既存のメジャーな言語で実績があるものと同じ
現在のメモリCPU開発環境からも余裕で許容される範囲でもある
個人的に気に入らないと主張しているのと変わらない
あらゆる言語で同じことが言えるが
基本的な文法記述方法を考え直してほしいと要求しても
今から変わるわけがないし変わったら利用者が困る
無意味な破壊的な要求をしていることになる
タイピング量が多いといってもわずかな誤差であり
ほとんどの記述方法は既存のメジャーな言語で実績があるものと同じ
現在のメモリCPU開発環境からも余裕で許容される範囲でもある
個人的に気に入らないと主張しているのと変わらない
580デフォルトの名無しさん
2023/06/07(水) 22:23:55.97ID:gvoW4qh7 記述方法が気に入らないのであれば
自分で変換器を作ればいいだけなのでは?
自分で変換器を作ればいいだけなのでは?
581デフォルトの名無しさん
2023/06/07(水) 22:42:25.08ID:JMx9Ekkp >>577
>TypeScriptのごとくfn f(x: T): Uとかけないのは何故かということだろう
基本的には視認性の問題
TypeScriptも関数の型を明記するときはファットアローを使ってる
>TypeScriptのごとくfn f(x: T): Uとかけないのは何故かということだろう
基本的には視認性の問題
TypeScriptも関数の型を明記するときはファットアローを使ってる
582デフォルトの名無しさん
2023/06/07(水) 23:12:17.03ID:Y4/HSuwV 気に入らない部分くらいあってもいいだろうに過剰に攻撃的な人は落ち着いて欲しい
どんな人もある程度は興味があってきてるんだろうから建設的に話をしましょうよ
気に入らない部分も背景知ると納得できたりするしそういう情報知るの楽しいから書いてくれてる人はありがたい
どんな人もある程度は興味があってきてるんだろうから建設的に話をしましょうよ
気に入らない部分も背景知ると納得できたりするしそういう情報知るの楽しいから書いてくれてる人はありがたい
583デフォルトの名無しさん
2023/06/07(水) 23:20:10.61ID:C+WmTRhv 戻り値型指定の->には returns や maps to 的なニュアンスを感じられるから個人的には好き
584デフォルトの名無しさん
2023/06/07(水) 23:44:37.64ID:ZHL7BfYm ->ってでも実際は不要でしょ?
無駄
無駄
585デフォルトの名無しさん
2023/06/07(水) 23:52:00.89ID:PbTa+35j >>572が、Rustの思想を考え直して欲しい、と攻撃的にスタートしたのはマズかったかもね。
戻り値の型指定がなぜ「:」ではなく「->」なのかと、素直に質問すればよかったかも。
理由は視認性の良さに加えて、C++の関数の戻り型の後置記法「-> int」と、同じ記法にしたためでしょう。
例えばCarbonでは「-> i32」と、Rustと同じになります。
戻り値の型指定がなぜ「:」ではなく「->」なのかと、素直に質問すればよかったかも。
理由は視認性の良さに加えて、C++の関数の戻り型の後置記法「-> int」と、同じ記法にしたためでしょう。
例えばCarbonでは「-> i32」と、Rustと同じになります。
586デフォルトの名無しさん
2023/06/07(水) 23:58:55.09ID:KhstQSkV int foo() {} C/C++前置
auto foo() -> int {} C++後置
fn foo() -> i32 {} Carbon
fn foo() -> i32 {} Rust
auto foo() -> int {} C++後置
fn foo() -> i32 {} Carbon
fn foo() -> i32 {} Rust
587デフォルトの名無しさん
2023/06/08(木) 02:28:36.11ID:EE2g7bKF Cと似ても似つかない。
588デフォルトの名無しさん
2023/06/08(木) 02:35:35.53ID:EE2g7bKF 嘘つき大国アメリカには、良いソフトウェアは作れない。
独占によって維持するのみ。
独占によって維持するのみ。
589デフォルトの名無しさん
2023/06/08(木) 02:36:59.06ID:EE2g7bKF 日本人を大量虐殺したことを反省せず、今度はウクライナとロシア人を
殺している。
そんな国に良いものは作りえない。ずるするのみ。
殺している。
そんな国に良いものは作りえない。ずるするのみ。
590デフォルトの名無しさん
2023/06/08(木) 02:48:48.98ID:EE2g7bKF 平均寿命がアメリカは日本より5歳も低いことをみんな知らない。
そんな後進国を先進国扱いしている。
そんな後進国を先進国扱いしている。
591デフォルトの名無しさん
2023/06/08(木) 02:53:24.84ID:EE2g7bKF 特に、githubなんかは、わけの分からんソフトを作ってる人に別の左翼が
寄付する。左翼は相互扶助で虚構世界を作るのが好き。一般需要が全く無い
ソフトウェアに大金が寄付される。
このように、左翼は日本やアメリカにあってもお互いに虚構を流し合うことで
脳内で言論統制し合い虚構世界を生きている。
寄付する。左翼は相互扶助で虚構世界を作るのが好き。一般需要が全く無い
ソフトウェアに大金が寄付される。
このように、左翼は日本やアメリカにあってもお互いに虚構を流し合うことで
脳内で言論統制し合い虚構世界を生きている。
592デフォルトの名無しさん
2023/06/08(木) 03:00:18.36ID:EE2g7bKF アメリカのやり口:
・需要が無いのに無理やり使わせる。
・不便なのに無料化することで構造上それしか存在しない状態になっている。
・無料化することでどんなに粗悪品でも対抗製品が現れ得ないからである。
・からくりは、検索エンジンの広告料で大金を永遠と稼ぐことで、ソフトを
無料化し、検索エンジンを持たない通常企業の参入を永久阻止しているのである。
・需要が無いのに無理やり使わせる。
・不便なのに無料化することで構造上それしか存在しない状態になっている。
・無料化することでどんなに粗悪品でも対抗製品が現れ得ないからである。
・からくりは、検索エンジンの広告料で大金を永遠と稼ぐことで、ソフトを
無料化し、検索エンジンを持たない通常企業の参入を永久阻止しているのである。
593デフォルトの名無しさん
2023/06/08(木) 03:40:00.34ID:aft4Kt1Y うーん
やはりワッチョイなしスレは放棄する他ないか
やはりワッチョイなしスレは放棄する他ないか
594デフォルトの名無しさん
2023/06/08(木) 03:57:30.29ID:VBjeYwpm595デフォルトの名無しさん
2023/06/08(木) 04:06:08.75ID:EE2g7bKF596デフォルトの名無しさん
2023/06/08(木) 04:07:01.06ID:EE2g7bKF アメリカは基本ルールが守れて無いのに、Rustの仕様なんて語る権利が無い。
597デフォルトの名無しさん
2023/06/08(木) 04:10:05.28ID:EE2g7bKF 要は、アメリカは人殺しが刑務所で書いた本が売れて億万長者になっているようなものだ。
598デフォルトの名無しさん
2023/06/08(木) 07:29:01.96ID:ABj73STK C言語の戻り型の前置記述だとC++で色々と不便なことがわかり
C++11では戻り型を"->"により後置できるようになった
ラムダ式でも戻り型を指定する時に同じく"->"で後置する
つまりC++11の時点で"->"による戻り型の後置記法が導入されている
そして>>586のようにRustとCarbonもC++11の"->"を踏襲している
C++11では戻り型を"->"により後置できるようになった
ラムダ式でも戻り型を指定する時に同じく"->"で後置する
つまりC++11の時点で"->"による戻り型の後置記法が導入されている
そして>>586のようにRustとCarbonもC++11の"->"を踏襲している
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 古市憲寿氏、『中居正広氏の性暴力認定』に疑問符 「上司が部下を飲みに誘うことも性暴力になりうる。幅がメチャクチャ広い」 [jinjin★]
- 【芸能】ホリエモンが登場する日清食品の新CMに元タカラジェンヌ「全てが不快。企業イメージ堕ちた」 [シャチ★]
- 秋田産コメからカドミウム 基準値超、回収進める [蚤の市★]
- 【兵庫】「お前もとっとと自殺しろ」兵庫県議らに大量の脅迫メール 激化する“言論への攻撃”の実態「フラグを立てられたら終わり」 [ぐれ★]
- 【フジ】女性アナに下半身露出の出演者 ヒアリングに「多忙で協力できない」と不誠実な対応 「実名出して」SNSが震撼した恐怖の夜★2 [冬月記者★]
- 【文春】中居正広『性暴力』被害の元フジテレビ女性アナ「私はこの事件のことを隠したかった」「けど、誹謗中傷され、さげすまれ…」★2 [冬月記者★]
- 【動画】Xのメンヘラ女子、自殺 [632966346]
- コメ、もうすぐ完全枯渇。去年4月と比べて在庫が1/5しかない [263288856]
- 【実況】博衣こよりのえちえちモンハンワイルズ🧪★8
- 松本人志さん、テレビから永久追放が確定wwwwwwwwwwwwwwww [977790669]
- 【増える速報】『薬屋のひとりごと』の漫画、更に増殖。無限か? [454313373]
- 【実況】博衣こよりのえちえちモンハンワイルズ🧪★7