[過去ログ] Rust part27 (967レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 2024/12/02(月)22:32 ID:D+1pIyvG(1) AAS
公式
外部リンク:www.rust-lang.org
外部リンク:blog.rust-lang.org
外部リンク:github.com
公式ドキュメント
外部リンク:www.rust-lang.org
Web上の実行環境
外部リンク:play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
外部リンク:doc.rust-lang.org
省11
948: 03/23(日)22:40 ID:dLW1UlJo(4/4) AAS
スマートポインタやRAIIはC++由来だし、代数的データ型やパターンマッチは他の言語にもあるけど、所有権やライフタイムはRust独自
これはかなり強力な仕組みで、安全性という点ではとても成功してると思う
(同時に難しさの要因でもある)
書いておいて何だけど、言語の独自性はそこまで重要でもないと思う
TypeScriptなんかがそうだけど、仕組み自体は既にあるものでもバランスが良ければ十分に価値がある
949: 03/23(日)22:45 ID:QyKgsP1k(4/4) AAS
C/C++が一番ダメな点は大量の様々な未定義動作
950(2): 03/24(月)00:19 ID:ELaBM+IJ(1/2) AAS
CのenumとRustのenumで全く似ても似つかないのとか何とかしてほしいわ
C出身のノリで使うと実装量多くてビックリするわ。たかが整数型定数とかいうのと全く違うもんなあ
ほかにも学習で大変なところ数多あるけど、コンパイルエラーを全部潰したらあとはアプリケーションロジックだけの問題になるのはRustならではで快便感ある。Cはコンパイル通ってからが鬼門だからな
951(1): 03/24(月)00:51 ID:9O8f24u0(1) AAS
なんでenumって名前にしたんだろうな
adtとかdataとかtypeとかにしたら良かったのにと思わなくもない
952(1): 03/24(月)01:05 ID:ELaBM+IJ(2/2) AAS
>>951
実際の使われ方からするとOption型、Choice型だよね。それだとネーミング的に予約語と競合してダメだけどマシな名前は考える余地あったよなあ
基本的に「よその言語から似た単語借りてくる」風習はどの言語にもフレームワークにもあるし慣れるしかないけどね
953: 03/24(月)02:41 ID:u90IfC4I(1) AAS
plain enumとADT enumがあるだけでenumはenum
ADT enumをenumの名前で使えるのはRustに限った話ではない
954: 03/24(月)03:34 ID:rrmbjdIs(1/2) AAS
HaskellもRustと同じくらい使われてると言われていたが
つまりすべての製品に使われてるようなことを言っていた
955: 03/24(月)03:36 ID:rrmbjdIs(2/2) AAS
結局、駄目なものはどれだけ宣伝しても流行らないのでは?
956: 03/24(月)07:38 ID:Tm5RncoX(1) AAS
そんなに言われてなかったよ。
それは誤解か、誤解した人が大げさに吹聴してるな
957(1): 03/24(月)08:13 ID:a0wY9RFf(1/4) AAS
>>950
たぶんプログラミング言語一般的な型付けシステムに慣れてないんだと思う
enumはその名の通り列挙型だよ
それを整数型定数と誤認してるのが不思議
定数はその名の通りconstで当然何の型の定数なのかi64とかf64とかOptionなど型名を指定する必要があるよ
enumは列挙型だから名付けてenum Fooなどの別の型になる
内部的には整数で識別されるからその整数値を指定することもできるけどその整数の取れる値の範囲は列挙した分に限られるから別の型
制限はあるけど明示的にcastすれば整数型(i32とかusizeとか)へ変換できるよ
>>952
enumは列挙型だからSome(T)とNoneの2つを列挙できるenum Option<T>型も作れるだけの話だよ
省9
958(1): 03/24(月)08:14 ID:CX9jwcEn(1/2) AAS
Haskellを宣伝してた人がRustを宣伝してる
959(1): 03/24(月)08:15 ID:CX9jwcEn(2/2) AAS
>>957
Trait制約では?
960(2): 03/24(月)08:16 ID:YUJc8XWR(1) AAS
言語なんて一長一短あるんだから万能な言語なんてないんだよね
たまにそのへんのことがわからない人が宗教戦争始めんだよ
961: 03/24(月)08:24 ID:+3Ali/jO(1/2) AAS
>>958
これだろうね
962: 03/24(月)08:28 ID:a0wY9RFf(2/4) AAS
>>959
トレイト境界(trait bounds)だよ
制約(constraint)とは異なり区別
任意の型(の集合)がトレイトによってトレイト実装されてる型とされてない型に境界が引かれるよ
963(1): 03/24(月)08:33 ID:a0wY9RFf(3/4) AAS
>>960
それぞれの言語に特徴があるね
その中でもRustは様々な優れてる点があるけど
>>950さんの言う通り
>> コンパイルエラーを全部潰したらあとはアプリケーションロジックだけの問題になるのはRustならではで快便感ある。
それが一番大きいかな
他の多くの言語は実行時デバッグで無駄な開発時間を奪われてしまうから
964(1): 03/24(月)08:38 ID:+3Ali/jO(2/2) AAS
>>963
CやC++ぐらいだろ
普通に普及してる言語は大体GCありで考えなくて良い
965: 03/24(月)08:56 ID:a0wY9RFf(4/4) AAS
>>964
GCは関係ないよ
プログラミングしたことあるならわかってるはずだけど
まず強い静的型付け言語でないと実行時デバッグは山積み
Rustの場合はデータ競合まで型付けチェックで弾いてくれるからさらに助かるよ
あと一番ありがたいのはsingle writer XOR multiple readers ルール
このおかげで色々な罠にはまらなくて済むよ
それによって書き換え競合を意識するようになるからデータ書き換えのスパゲッティ構造も防げたり
966: 03/24(月)10:05 ID:NJwebgj2(1) AAS
>>960
「言語」はそれでいいとして「データ」は万能ではないと指摘されたらAIが死ぬんだよな
まだかなあ
967: 03/24(月)10:15 ID:8nOZWVbe(1) AAS
ポエムで草
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.169s*