X



Rust part20

■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 00:45:28.73ID:vTVY069B
公式
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/
499デフォルトの名無しさん
垢版 |
2023/06/04(日) 16:55:53.89ID:6x+rjW9P
>>492
ジャバもダメだね
C#はちょっとしか触ってないから評価できないな
500デフォルトの名無しさん
垢版 |
2023/06/04(日) 16:59:31.44ID:6x+rjW9P
>>498
レイルズに限らずフレームワークというのはえてしてそういうものだよね
それって作る時はいいけど維持することを難しい
なので避けられるようになってきた
501デフォルトの名無しさん
垢版 |
2023/06/04(日) 17:00:30.76ID:CvW15b8Y
高レイヤーのWebアプリでもRustがつかわれるようになるよ
支配的にはならないけど
2023/06/04(日) 18:26:31.67ID:R98I/Q0o
ID:rt4nzg3Uからは議論や情報交換より
「論破」したい気持ちは強く伝わるな
2023/06/04(日) 18:31:18.83ID:rt4nzg3U
論破なんてどうでも良いです
504デフォルトの名無しさん
垢版 |
2023/06/04(日) 18:56:40.97ID:Yc44DpOp
>>493
AWS (Amazon Web Service)など様々なものがRust製になっていってる現実を受け入れられない?
もしRust製である必要がないと主張したいならばどの言語を使うのがベストなのか明確にすべき
2023/06/04(日) 19:11:40.33ID:rt4nzg3U
>>504
既に言われてるけど低レイヤーの話でしょ
そこは得意分野だろ

でお前はその低レイヤーな部分を作るの?
要はApacheもどきを自分で作るんか?
2023/06/04(日) 19:12:48.96ID:rt4nzg3U
OS開発に向いてますって言われてもOS作る開発者は一般的じゃ無いやろ
2023/06/04(日) 19:13:29.18ID:yBN53eMB
>>478
言おうとしてたのはWebサーバーじゃなくてWebアプリね

で、企業でnginxやapacheみたいなHTTPサーバースクラッチで作ってる日本の企業ってどこにあるんだ?
Webアプリ作ってるのが大半だろ?
H2Oぐらいしか知らないけどあれはほぼ個人開発だしな
なんでかって言うと既にOSSで優秀なエンジニアが作ってるから、企業でそれをやるのは意味がないから
普通のエンジニアはこういう車両の再発明的なことを業務ではやらない

だからWeb系企業にRustは普通採用されないと言ってるの

一部のエリート向けって言ったのはまさにこういうこと
nginxもredisもCで書かれてるけどほぼ一人のエリートよって作成されてるからな
Linuxカーネル書いてる人もエリートしかいないだろ
そう言う人向けの言語
2023/06/04(日) 19:13:51.05ID:rt4nzg3U
議論が出来ない馬鹿の良くある事

極論で語る

これが出てきたら無能確定
2023/06/04(日) 19:36:06.85ID:yBN53eMB
でその一部のエリートは通常C、C++を使いたがる
新しい言語自体には興味がなくメモリを自分で管理できる自信があるから

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の代わりに使うべきだと考えているプログラミング言語は何ですか?
2023/06/04(日) 22:38:12.29ID:rt4nzg3U
何でRust否定してる事になってるの?
妄想酷くねw

長々と書いてるけど的外れなんだよ
2023/06/04(日) 22:52:44.00ID:Lgm9jhwY
結局なにがしたいのかがわからん
相手にしてるやつも
2023/06/04(日) 22:57:08.43ID:YjKn3ZKa
速さ省メモリに保守性の良さからRustがベストで間違いない
2023/06/05(月) 01:02:48.45ID:G39bRhEA
この人の中ではRustの適用範囲は決まってて
他の人が範囲外の事例出すと否定のための否定を
したいだけなのが明白だから相手しても不毛
2023/06/05(月) 01:11:33.27ID:9wHuhZD9
言いたいことはこれなのだろう

>>489
> それってJavaとかC#でも良くね?
> Rustである意味はないよね

JavaとかC#である意味こそないよな
2023/06/05(月) 01:41:08.29ID:FV749zD+
まとめて隔離スレに帰れゴミカスども
2023/06/05(月) 07:49:28.36ID:GAWgQYcM
>>468
ライブマイグレーションって今でもあまり普通じゃないと思うけど。冗長化構成とって切り替えが多いだろ。
2023/06/05(月) 11:19:07.49ID:9Zk1qYqb
>>514
違うかな

逆に言うとC#でもOSは書けるし実際に有る
でもソレって無理矢理感有るでしょ

Rustも同じでやろうと思えば出来る
でもそれってRustである意味は無いよねって話

高速で動く必要があって
GCが走って一時的にレスポンスが遅くなる事態が不味い
って場面がRustの出番って事だと思うんだけどね

WebアプリについてはまさしくRustであるある必要は無い
せめて他言語のフレームワーク並みに各種ミドルウェアが充実してるならまだしもその分野では貧相としか言えない
だからこそ流行ってないとも言える
2023/06/05(月) 11:31:56.47ID:G39bRhEA
>>518
そうだねすごいね
520デフォルトの名無しさん
垢版 |
2023/06/05(月) 12:29:52.32ID:AdIugMi7
自分で考えて調べて判断を下せない人にはRustは向かない
良い悪いじゃなく適性と置かれている環境の違い
2023/06/05(月) 12:41:59.19ID:GjYw3Sbx
DiscordでGC云々ってのもGoのアップデートで解消できる内容だしな
(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#である必要もない
524デフォルトの名無しさん
垢版 |
2023/06/05(月) 13:43:03.69ID:UReP7Es5
>>521
あるよ
ここまで外部データを扱う分野もない
つまり内部でメモリアロケーションが頻発する
メモリをどうアロケートするか?で天と地の差が出るのが現代のマシンのアーキテクチャだ
キャッシュメモリに全部乗せるようにプログラムを書くのは今や常識
いちいちヒープからメモリを確保していたらページフォルトで尋常じゃないスピード劣化を招く
ましてやGCなどそんなプログラムを遅くするようなもんよく採用したな?というレベル
Webこそスタックとヒープとメモリアロケーションを明確に制御できるべき分野
2023/06/05(月) 13:46:53.65ID:UReP7Es5
>>509
何度も言うがスタック、ヒープ、ベクター化(SIMD)、キャッシュメモリなどを意識することは一昔前よりはるかに有効になっている
キャッシュメモリの速度が比べ物にならないくらい速くなっているからだ
むしろ今こそスタックとヒープを意識して「メモリをちゃんと使い回す」ことを意識すべきなんだよ
所有権ってのはマシンアーキテクチャの視点で見ると
メモリ領域をうまく使い回すための技術ともいえる
余計なアロケーションを防ぎメモリリークを防ぎ
ページフォルトを防ぎベクター化を容易にする
このような現代的なプログラミング技術についてまともに解説されることは少ないのだが
優れたプログラマは常に意識している
2023/06/05(月) 13:51:56.62ID:UReP7Es5
「Rustが速い」と言われてるのはこのようなメモリの使い方が優れているから結果として速くなっているというのが事実
これは他の言語が捨てた部分だ
他の言語は「メモリなんて富豪的でいいっしょ」と言う姿勢を貫いていた
しかし現代のアーキテクチャにおいては他の言語が捨てた部分こそが高速化の肝だったのだ
Rustの初期のメンバーがここまで意識できてたかはわからないが
メモリ安全を追求した結果現代アーキテクチャにとって最適な形になったのは偶然ではない
2023/06/05(月) 14:02:53.03ID:v+V2Ynpr
>>521
TypeScriptで型レベルプログラミングに慣れた人たちは「せめて直和型くらいは欲しい」となってしまい
移行先としてGoもJavaも対象外になって、パフォーマンスが必要なくてもRustに行くケースがよくある
Goがもっとリッチな言語機能を目指してればこういう層は全部取れたんだろうけど
528デフォルトの名無しさん
垢版 |
2023/06/05(月) 14:21:53.12ID:qHQdZEB1
アレな人とアレを複製する人のアレな議論からは
反面教師とする以外に何も得るものがないな
2023/06/05(月) 14:27:59.36ID:/xaXR3Rr
>>521
かつてはウェブの世界だと細々と切り詰めて効率化するよりスケールアウトのしやすさのほうが重要視されてた。
プログラムを改良して性能を倍に延ばすよりもサーバの数を増やしたほうが安上がりだから。
プログラムの改良はやればやるだけ性能が伸びるというわけでなくて、
どうせどこかに上限があるなら数で補えるような設計のほうが良い。
それがかつてのウェブの思想だが、クラウドが前提の世界になって一変した。

スケールアウトを簡単に出来るインフラが整ってしまったんだ。
サービスを構築する側は CPU とメモリを使いたい分だけ金を払えばスケールアウトは当たり前に出来るものになった。
サーバの準備が投資ではなく消費になってしまったとも言える。
ま、経営者にとってみれば消費は減らしたいもんだ。
故に今はミクロ的な実行効率のほうを上げようとする圧力が発生している。

そんなわけで Rust を採用する動機はある。
もちろんサービスの規模が小さいならそんなに手間かける割に合わんということも多いだろうけど、
ウェブでも Rust を採用する動機は存在するんだよ。
530デフォルトの名無しさん
垢版 |
2023/06/05(月) 14:30:23.16ID:SGaNfCKj
おっさん、Rustは学歴勝負の言語なんだよ
高卒様はC#スレに帰ってくれ
2023/06/05(月) 14:36:08.40ID:0sUVinjo
Rustの言語機能の充実さが書きやすくて堅牢でメンテもしやすいね
メモリ管理はほぼ自動で慣れだけの問題で書くこともできるし
さらに踏み込んで頑張ることもできて幅広い利用者に適してる

Rustの唯一の弱点は慣れるまでの時間が他の言語より長いことだけど
慣れてしまえば消える弱点なので現存するベストなプログラミング言語かな
2023/06/05(月) 14:45:53.25ID:DZ7CuRre
結局C++とRustってどっちが良いの? 3traits
https://mevius.5ch.net/test/read.cgi/tech/1683154196/
2023/06/05(月) 14:47:01.66ID:DZ7CuRre
他言語との比較は隔離スレでお願いします
534デフォルトの名無しさん
垢版 |
2023/06/05(月) 15:11:38.38ID:vRd9123b
ID変えないやつはNGしやすくていいけど
複オジはID変えてしかも複数人のふりして
同じ内容の長文を繰り返し繰り返し書くから
めちゃくちゃウザい
2023/06/05(月) 15:34:05.37ID:AvaxKdII
>>492
具体的にRust以外のどの言語?
2023/06/05(月) 16:59:55.04ID:4ssR4odd
単発NGを推奨する
2023/06/05(月) 17:04:06.04ID:GjYw3Sbx
Webって何に対しても上限決まってないから動的確保が基本でヒープに確保しまくるだろ
Rustですらヒープ使うしかないのに何いってんだこいつ
2023/06/05(月) 17:19:13.55ID:4NoCfZlh
どういう書き込みに対するレスかわからないが
一般的にはヒープの使用をゼロというより最小限にすることが可能な言語かどうか
バックエンドをマイクロサービス化した場合は想定外のリクエストは来ないので更に最小化できる
いずれにせよGCのある言語は論外
2023/06/05(月) 17:34:34.25ID:DZ7CuRre
>>538
他言語との比較は禁止
隔離スレに移動せよ
2023/06/05(月) 18:09:21.14ID:dww0BWyZ
論外坊を相手にしてはいけない、メモリ確保と解放を繰り返す原始的なダサい構造より搭載メモリに応じてアリーナ管理するほうが理にかなってる。Rustを使ってるのにアロケーターの自作や変更を考えたことのない子は最小の意味が分かっていない
2023/06/05(月) 18:15:03.73ID:8ZF5QBOp
ガベージコレクションのある言語はそれができず非効率だもんな
542デフォルトの名無しさん
垢版 |
2023/06/05(月) 18:29:07.02ID:tOuh49Mt
書き心地のよさや近代的なエコシステムが好きで使ってる
チームで使うと品質を安定させやすい
実行時もリソースも安定させやすい
パフォーマンス面ではどちらかとコストの低い方を選択するよう努力するするが、そこまで突き詰めて考えないよ
2023/06/05(月) 18:33:55.89ID:/S79/CE3
Rustの良い面が多面的であり
どの面を重視するかは人によって様々だが
Rustに行き着く点では同じだ
544デフォルトの名無しさん
垢版 |
2023/06/05(月) 18:54:42.77ID:M00yb3VA
まーたクソみたいな複オジ節が連投されてんなw
545デフォルトの名無しさん
垢版 |
2023/06/05(月) 20:04:46.68ID:5pPw8Ntr
>>497
>>527
他の言語の標準ライブラリでも戻り型をOptionとResultにしてほしい
2023/06/05(月) 20:12:05.32ID:sHX0h5A1
ML系言語やればいいよ思うよ
2023/06/05(月) 20:50:22.82ID:UzHiRmXo
先日のStableのリリースでやっとOnceCellが安定化されたんですね。
Lazyはまだっぽいけど嬉しい。
548デフォルトの名無しさん
垢版 |
2023/06/06(火) 02:17:44.23ID:puQ29V2U
去年から始めたけど、ここ2~3年で標準化された機能が必須に感じるので、最適なタイミングで始められたなと思う
2023/06/06(火) 07:22:24.29ID:o6YEf8qO
>>542
>書き心地のよさ
www
550デフォルトの名無しさん
垢版 |
2023/06/06(火) 07:54:49.95ID:8OPdxEUp
書き心地も良いが開発効率の高さだな
スクリプトで済むのはスクリプト言語を使うとして
プログラミングするならRust一択となった
2023/06/06(火) 10:54:53.70ID:6c57W+Lm
何の数字を比べて 開発効率が上がったと言ってるんだ?
2023/06/06(火) 11:12:32.78ID:o1s33Rlj
ありがとうRustAnalyzer
2023/06/06(火) 19:31:13.22ID:mkQOe4X2
>>545
それは反対だ。副作用がない関数コールでOptionやResultはオーバースペックで邪魔でしかない、Rustだって-> i32とか出来るのは理由があるからで意味のないResultラッピングしてしまうのは邪悪でしかない。
2023/06/06(火) 19:35:17.52ID:5BE6aCuJ
>>553
多言語で単に言語仕様の限界から来る異常を示すのに
nullとか-1とか例外とかなんとかならんかねえという
話では
2023/06/06(火) 21:19:28.43ID:n1ZdC4n5
>>553
「他の言語の標準ライブラリでも」とあるから「(Rustと同じように)」の意味だろうね
Rustで書くと戻り型がOptionやResultとなるような関数のみが対象でしょう
具体的には>>554やerrnoなど
556デフォルトの名無しさん
垢版 |
2023/06/06(火) 22:39:17.85ID:lWt7Neg4
>>553
絶対にエラーが起きない場合も含めてインターフェースの戻り型を統一しなきゃいけない時に、
Resultで統一することで非効率になるのを恐れているのだと思うけど、
エラーが起きない場合の実装のみエラー型をstd::convert::Infallibleつまり戻り型をResult<Xxx, Infallible>とすれば、
最適化されるため気にせずResultラッピングのコードを書いても大丈夫だよ
2023/06/07(水) 02:16:00.81ID:pdPmNlas
Rustは文字列やネット系のライブラリが充実しているため、書き易いと
感じるのかもしれないが、言語自体の書き心地は悪い。
2023/06/07(水) 02:25:13.42ID:VU6rdBvm
>>557
スクリプト以外でRustより書き易い言語ある?
2023/06/07(水) 02:41:53.93ID:pdPmNlas
>>558
色々有るな。例えばJavaやC#とか。
2023/06/07(水) 02:52:36.10ID:bLVp0x6K
Javaは言語が古すぎ
機能不足で書くのが苦痛
今どきの言語を知っていてJavaを書きやすいと言う人はいない
2023/06/07(水) 03:13:16.86ID:PASEDR7I
お前ら本当にシステム屋か?

“描きやすい”ってのは人それぞれで定義が曖昧やん
なぜその定義や認識の統一をせずに議論始めるん?
2023/06/07(水) 03:15:24.35ID:PASEDR7I
例えばだけどJavaは古くてというが昔からJavaやってるやつは慣れから書きやすいと感じる

Java歴15年
Rust歴1年

とかで比べたらどっちに軍配上がるか分かるやん
2023/06/07(水) 03:23:10.65ID:2dySsIAz
議論を成立させるのが無理なの分かってるから隔離スレでやれっつってるんですよ
2023/06/07(水) 03:35:20.85ID:PASEDR7I
まあ言語スレで具体的なコードも出さずに議論しちゃう馬鹿ばかりだしな

せめて○○言語じゃこう書くけどRustではこう書ける
だから書きやすいってぐらいはして欲しいもんだ
2023/06/07(水) 03:35:24.21ID:mYje0a9y
>>562
それは言語の書きやすさではなく
その個人が慣れか不慣れかだろ

言語の書きやすさはその言語に十分慣れた上で
言語の機能が不足していて書きにくい点がないかどうかなどで決まる
その比較例だとJavaとRust両方に慣れた人たちにとって全員がJavaに❌をつける
2023/06/07(水) 04:14:00.36ID:PASEDR7I
別の言語を長くやってても面倒臭いなって思う点は出てくるじゃん
例えばJavaやってるとC#のあの機能欲しい
なんでJavaには追加されないんだろとかさ
2023/06/07(水) 04:15:46.17ID:mYje0a9y
だから全員がJavaに✕をつける
568デフォルトの名無しさん
垢版 |
2023/06/07(水) 10:36:40.93ID:o7otWeXk
>>562
わかるやん、てあなたが勝手に言ってるだけですやんw
2023/06/07(水) 15:06:17.70ID:3M1fBRd0
でも、多数決では、Rustが最下位なんだよな。
2023/06/07(水) 15:44:42.75ID:3M1fBRd0
Rustの問題点を指摘すると、「それはあなたが ・・・」
「馬鹿だから」「老害だから」「じじいだから」「化石みたいな人だから」
みたいな事言って人いるけど、それは
「若くて頭のいい人々が使うんだから、老害/馬鹿は黙っとけって」ことになるが、
それでは一般人に普及する言語には成れないであろう。
そもそも、高級言語の目的とは、簡単に安全にやりたいことが出来ると言う
ことであり、しかも、一部の人を除いては簡単にも思えないようなものであっては
普及は遠い。
2023/06/07(水) 15:54:04.41ID:3M1fBRd0
>>564
あなたは、そうやって、ここで、市場調査をして、次なる改良言語のネタに
したいということですね。
帰れ。
2023/06/07(水) 16:20:31.76ID:QsxM8200
書きやすいか否かという話より、rustは意外にタイピング量は多い思想は考え直してほしい。
std::fmtなどの「::」だとか引数名・変数の後の型の「:」だとか、むろんmutも、戻り値の「->」もなぜ引数の「:」と戻り値の「->」を同じにしなかったのか?思想面が分かる人に教えてほしい。
ほかにもなぜマクロ呼び出しに「!」をいちいち付けるのかとか、関数はfnやpubで省略しているのに?アトリビュートも#[xxx]と異様に見える。なぜ@xxxでは駄目だったのか?
まあセミコロンはC/C++からの移行を重視したのだろうけど。言語をディスってる訳じゃなく完全論破されることを願う
2023/06/07(水) 16:59:17.90ID:MyTs/b4R
細かい構文は互換性やらが重視されて一定の思想が徹底してないことも多いでしょうよ
暇ならissue掘り返してみればいい

とりあえず::はC++由来でattributeはC#由来
574デフォルトの名無しさん
垢版 |
2023/06/07(水) 18:36:58.20ID:Rjy197CJ
Rustが難しいと感じるのは経験不足だと思うわ
困難に立ち向かった経験が少ない
2023/06/07(水) 18:50:18.58ID:JMx9Ekkp
>>572
マクロ呼び出しに「!」を付けるのはコンパイラと人間の両方がマクロ呼び出しをすぐに識別できるようにするため
コンパイラの実装方法によっては無くすことは不可能ではないだろうけど効率が悪くなるし実装も難しくなる

最初は俺も無いほうが良いと思ってたけど
「!」をつけないといけないから不必要にマクロを作らなくて
結果的にメンテしやすいコードにつながってるので考え方変わった
2023/06/07(水) 19:54:20.54ID:6MUTDsao
>>572
タッチタイピングできない人?
もしくはVSCode使ってない人?
文字数なんて気にするやつ初めて見たぞ

::はC++由来
->はHaskell由来だよ
マクロの!や?はおそらくRuby由来だが別の意味で使ってる
#[]はわからん
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との曖昧性が生まれる状況があるのかなと思ったが、ちょっと具体例が思いつかないので違うかも
2023/06/07(水) 21:01:38.64ID:MyTs/b4R
というかRustは元々めっちゃタイプ数気にする系言語だったんだよねむしろ
1.0以前にはreturnがretだった頃もあった
今日まで残るfnとかimplとか、比較的新しいdynもそうだが
実際かなり略したがりな言語ではあると思うよ
2023/06/07(水) 22:03:46.79ID:juXVB+W2
>>572
あらゆる言語で同じことが言えるが
基本的な文法記述方法を考え直してほしいと要求しても
今から変わるわけがないし変わったら利用者が困る
無意味な破壊的な要求をしていることになる

タイピング量が多いといってもわずかな誤差であり
ほとんどの記述方法は既存のメジャーな言語で実績があるものと同じ
現在のメモリCPU開発環境からも余裕で許容される範囲でもある
個人的に気に入らないと主張しているのと変わらない
2023/06/07(水) 22:23:55.97ID:gvoW4qh7
記述方法が気に入らないのであれば
自分で変換器を作ればいいだけなのでは?
2023/06/07(水) 22:42:25.08ID:JMx9Ekkp
>>577
>TypeScriptのごとくfn f(x: T): Uとかけないのは何故かということだろう
基本的には視認性の問題
TypeScriptも関数の型を明記するときはファットアローを使ってる
2023/06/07(水) 23:12:17.03ID:Y4/HSuwV
気に入らない部分くらいあってもいいだろうに過剰に攻撃的な人は落ち着いて欲しい
どんな人もある程度は興味があってきてるんだろうから建設的に話をしましょうよ
気に入らない部分も背景知ると納得できたりするしそういう情報知るの楽しいから書いてくれてる人はありがたい
2023/06/07(水) 23:20:10.61ID:C+WmTRhv
戻り値型指定の->には returns や maps to 的なニュアンスを感じられるから個人的には好き
2023/06/07(水) 23:44:37.64ID:ZHL7BfYm
->ってでも実際は不要でしょ?
無駄
2023/06/07(水) 23:52:00.89ID:PbTa+35j
>>572が、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
2023/06/08(木) 02:28:36.11ID:EE2g7bKF
Cと似ても似つかない。
2023/06/08(木) 02:35:35.53ID:EE2g7bKF
嘘つき大国アメリカには、良いソフトウェアは作れない。
独占によって維持するのみ。
2023/06/08(木) 02:36:59.06ID:EE2g7bKF
日本人を大量虐殺したことを反省せず、今度はウクライナとロシア人を
殺している。
そんな国に良いものは作りえない。ずるするのみ。
2023/06/08(木) 02:48:48.98ID:EE2g7bKF
平均寿命がアメリカは日本より5歳も低いことをみんな知らない。
そんな後進国を先進国扱いしている。
2023/06/08(木) 02:53:24.84ID:EE2g7bKF
特に、githubなんかは、わけの分からんソフトを作ってる人に別の左翼が
寄付する。左翼は相互扶助で虚構世界を作るのが好き。一般需要が全く無い
ソフトウェアに大金が寄付される。
このように、左翼は日本やアメリカにあってもお互いに虚構を流し合うことで
脳内で言論統制し合い虚構世界を生きている。
2023/06/08(木) 03:00:18.36ID:EE2g7bKF
アメリカのやり口:
・需要が無いのに無理やり使わせる。
・不便なのに無料化することで構造上それしか存在しない状態になっている。
・無料化することでどんなに粗悪品でも対抗製品が現れ得ないからである。
・からくりは、検索エンジンの広告料で大金を永遠と稼ぐことで、ソフトを
 無料化し、検索エンジンを持たない通常企業の参入を永久阻止しているのである。
2023/06/08(木) 03:40:00.34ID:aft4Kt1Y
うーん
やはりワッチョイなしスレは放棄する他ないか
2023/06/08(木) 03:57:30.29ID:VBjeYwpm
>>592
各プログラミング言語の本スレを無関係な話で荒らすのはマナー違反なので止めなさい
この一線だけは守りなさい
2023/06/08(木) 04:06:08.75ID:EE2g7bKF
>>594
アメリカは、基本ルールを守ってないので個別製品の話にまで進まない。
中国の知的財産権違反や著作権違反、不正コピーを言う前に、アメリカこそ、
まずは、基本ルールを守らないと。
2023/06/08(木) 04:07:01.06ID:EE2g7bKF
アメリカは基本ルールが守れて無いのに、Rustの仕様なんて語る権利が無い。
2023/06/08(木) 04:10:05.28ID:EE2g7bKF
要は、アメリカは人殺しが刑務所で書いた本が売れて億万長者になっているようなものだ。
2023/06/08(木) 07:29:01.96ID:ABj73STK
C言語の戻り型の前置記述だとC++で色々と不便なことがわかり
C++11では戻り型を"->"により後置できるようになった
ラムダ式でも戻り型を指定する時に同じく"->"で後置する
つまりC++11の時点で"->"による戻り型の後置記法が導入されている
そして>>586のようにRustとCarbonもC++11の"->"を踏襲している
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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