[過去ログ] Rust part20 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(2): 2023/03/03(金)00:45 ID:vTVY069B(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
※Rustを学ぶ際に犯しがちな12の過ち
外部リンク:dystroy.org
※Rustのasyncについて知りたければ「async-book」は必読
外部リンク:rust-lang.github.io
※次スレは原則>>980が立てること
前スレ
Rust part19
2chスレ:tech
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
2chスレ:tech
876: 2023/07/31(月)14:38 ID:uDpaCeqo(1) AAS
pqnic
877: 2023/07/31(月)16:40 ID:cE0Z6rmj(1) AAS
ピクニック?
878(1): 2023/07/31(月)17:53 ID:1dCFbVL1(1) AAS
fn っていちいち略さなくても function でよくない?
書き込める変数の宣言に mut ってつけるのもダサい
879: 2023/07/31(月)18:05 ID:+bjI2PCn(1/5) AAS
mutはガチでダサい
何かいい記号はなかったのかとw
880(1): 2023/07/31(月)18:13 ID:+bjI2PCn(2/5) AAS
英語圏の人たちはmut見てcoolに感じるとか日本人と感性が違う可能性がある
881(1): 2023/07/31(月)18:38 ID:9nT3Yxeb(1) AAS
>>878
感性が古いよ
882: 2023/07/31(月)18:48 ID:STr6yd2M(1) AAS
今までミュートと読んでいた
883: 2023/07/31(月)18:49 ID:A3cMstwB(1) AAS
unicode解禁にして変にすればいい
884: 2023/07/31(月)20:49 ID:X0OEUfKN(1) AAS
>>881
短い略語を使いたがるのはメモリ容量が少なかった昔の習性・感性だろ。
昔に作られた言語のFortranとPascalですらfunctionは略さなかったのに、
今になって変な略語を採用したRust開発者は工学的センスも美的センスもない。
比較的新しい言語のF#はmutと略さずにmutableと書く。
885: 2023/07/31(月)21:15 ID:+bjI2PCn(3/5) AAS
BASICの頃はDEF FNと言うので関数を定義してた
886: 2023/07/31(月)21:25 ID:4/4p/Sxt(1) AAS
様々なプログラミング言語があって千差万別な中
大した問題ではないキーワード名やその多少の長さに文句をつける人はダメな仕事できないやつ
仕事できる人は文法とその意味論を比べる
887: 2023/07/31(月)21:34 ID:+bjI2PCn(4/5) AAS
ダサいのはダサい
今後何があってもbegin end区切りの言語は使わないと思う
delphiやってた時もimplementationと言うのを見てクソダサいなと感じた
Objective-Cも二度と接することはないだろう
888: 2023/07/31(月)22:59 ID:i3Lje9zm(2/2) AAS
kotlin や swift の前で同じこと言えるの?
889: 2023/07/31(月)23:19 ID:+bjI2PCn(5/5) AAS
implementation Point {
public function ...
}
890: 2023/08/01(火)03:00 ID:8wU+ches(1) AAS
>>880
constより2文字も短い!かっけええぇぇぇ!!!
かもな
同意しないけど
891: 2023/08/01(火)03:53 ID:enF/Vqu1(1) AAS
constは定数だからコンパイル時に静的に確定する
immutableかmutableかというのはconstとは無関係な概念で実行時の変数の値が書き換わるかどうか
つまりRustの非mut (immutable)は定数ではなく実行時に値が決まる変数
892(1): 2023/08/01(火)11:16 ID:AvEKEx5a(1/2) AAS
let x : u32 = 1234;
と
const x : u32 = 1234;
は違うんですか?
893: 2023/08/01(火)11:22 ID:AvEKEx5a(2/2) AAS
なるほど、const = の右辺値はconst 文脈で書かれていてコンパイル時に決定できないといけないけど let = の右辺はその制約がないのか
894: 2023/08/01(火)17:52 ID:3uGNwlqu(1/2) AAS
constはコンパイル時に値が決まる定数となり定数名は大文字で書く
letは(mutの有無に関係なく)実行時に値が決まる変数となり変数名は小文字で書く
mutの有無はその変数の値が書き換えられるかどうかだけの違い
895: 2023/08/01(火)18:49 ID:Nt/KTAzO(1/2) AAS
自分は素人だけどそれじゃあ型に対する言及が抜けてないですか?
896: 2023/08/01(火)20:27 ID:3uGNwlqu(2/2) AAS
型とは直交する概念なので型とは無関係
任意の型で成り立つ
897: 2023/08/01(火)22:08 ID:YdsBZTXH(1) AAS
'static
898(1): 2023/08/01(火)22:38 ID:Nt/KTAzO(2/2) AAS
constはシャドーイングは行われない
変数と違い型を必ず明示しなくてはならない
899: 2023/08/02(水)00:09 ID:IOFZl0B3(1/2) AAS
>>898
なんでですか?
constシャドーイングしてなんか不都合あります?
900: 2023/08/02(水)00:12 ID:/ED8qpF1(1/2) AAS
>>892
constならROM領域に置ける
901: 2023/08/02(水)00:12 ID:IOFZl0B3(2/2) AAS
あ、わかった
そりゃそうだ
902: 2023/08/02(水)09:00 ID:4pI1Wfnv(1) AAS
関数名というか関数を格納した変数?にもmut付けるときあるけど
動作中に関数を変えるのが目的?って表明以外の意味ある?
903: 2023/08/02(水)13:19 ID:MBDISWVo(1/2) AAS
関数ポインタかラムダ式(クロージャ)かで意味が変わりそうだな
関数ポインタの場合は途中で別の同型の関数に差し替えるときにmutが必要
クロージャの場合は途中で内部の変数が変更される(FnMutになる)ときにmutが必要
(クロージャは型の関係で別の関数に差し替えることはできないはず)
下の例だとf,gのどちらもmutがないと怒られる
fn print_foo() { println!("foo"); }
fn print_bar() { println!("bar"); }
fn main() {
let mut f: fn();
f = print_foo;
f();
f = print_bar;
f();
let mut i = 0u32;
let mut g = move || { println!("{i}"); i += 1; };
for _ in 0..5 { g(); }
}
904: 2023/08/02(水)13:23 ID:MBDISWVo(2/2) AAS
そこに置かれてる値(関数ポインタ or クロージャ)が変更されるという意味では同じか
905(1): 2023/08/02(水)18:24 ID:SI51iZ7R(1) AAS
let mut hoge; じゃなくて
むしろ let hoge = 3; と mut hoge = 3; の二種類に分ければ美しくてよ
906(1): 2023/08/02(水)19:02 ID:F3jAz55G(1) AAS
static mut もあるし
letはパターンマッチ文だからlet (mut a, b) もあるし
if let Some((ref mut p, ref q)) もあるし
907: 2023/08/02(水)20:18 ID:/ED8qpF1(2/2) AAS
>>905
それは無い
908: 2023/08/03(木)07:43 ID:9tsUh6Bs(1) AAS
速い! 安全! ださい!
909: 2023/08/03(木)08:17 ID:8npqW66R(1) AAS
>>906
mutを単独キーワードに分離したRustの設計方針の勝利だな
910: 2023/08/03(木)10:00 ID:W+hOnHrE(1) AAS
かわいい
北朝鮮みたい
911: 2023/08/03(木)21:15 ID:j7849mpF(1) AAS
こんなスレ見てるなんてダサいぞ!
912: 2023/08/04(金)09:07 ID:XLfSEGlw(1) AAS
かわいい
埼玉県みたい
913(3): 2023/08/06(日)17:59 ID:xBSreVT+(1/3) AAS
任意長整数型演算の実装の演習してるんですけど
・和の時には下の桁から、大小の比較の時は上の桁から順次比較するので双方からのアクセスをO(1)で行いたい
・任意長なので加法のときにover flowしたときitemの追加ができないとダメ
この場合どのcollection型が有利ですか?
ソースが難しすぎてわかりません
情報お願いいたします
914(1): 2023/08/06(日)19:27 ID:3wcIZOky(1) AAS
自分ならVec使う
915(1): 2023/08/06(日)19:29 ID:lVXXe/mp(1/5) AAS
>>913
何を問題にしているのかわからない
言語に関係なく連続体のデータ型(配列やベクタなど)の順次アクセスは
前から後ろから関係なくサイズNに対して総コストO(N)で1つあたりO(1)
それらのうち固定長ではなくサイズを伸ばせるデータ型(ベクタ)なら要素を追加できる
RustならVec
916(1): 2023/08/06(日)20:21 ID:xBSreVT+(2/3) AAS
>>915
各collectionの内部構造がよくわからないんですよ
ソース全部読めてなくて
vecってLinkedLustみたいな数珠繋ぎじゃないですよね?
917: 2023/08/06(日)20:24 ID:xBSreVT+(3/3) AAS
>>914
ありがとう
確かに片方だけ伸ばすならbecで良さそうなんですよね
しかし後でよくよく考えたら掛け算の時に一の位の方向にも伸ばせた方が便利な気もしてきて
でもそっちは絶対じゃないんですよね
なんせvecのソースがむずい
918(1): 2023/08/06(日)20:32 ID:Mgx3ApDu(1/2) AAS
ソースよりドキュメントを見なよ。
図つきで解説されてるから。
Vec は必要に応じて自動で再配置する配列ってかんじ。
要素は連続して配置される。
919(1): 2023/08/06(日)20:50 ID:WEauDaB9(1) AAS
>>918
外部リンク[html]:doc.rust-lang.org
とか読んだんですけどよくわからないんですよ
rust専用スレならstd::vec全部目を通せてる人いるかなと
連続して確保される領域の幅とかは指定できます?
920(1): 2023/08/06(日)20:51 ID:lVXXe/mp(2/5) AAS
>>916
性質が重要なのであってよほどのことがないかぎり実装内部のソースを知る必要はない
LinkedListは極一部の用途を除きほとんどの用途で遅く不利になり今回も考える必要はない
これらは言語と関係なく一般的な話
921(1): 2023/08/06(日)21:11 ID:kGEgc8zj(1/2) AAS
>>920
とりあえず今はガロアの連分数使って円周率の計算でもやってみようと思ってるんですけど、その場合計算する項のlog orderで桁数が増大していきます
でも例えばbinary splittingとかにすれば桁数の上昇具合が変わってきます
そういう用途に応じて適切なcollection型の使い分けできるようにしたいんですよ
あくまで練習なので
ソース読みはまぁ趣味みたいなもんなんですけどそもそもRustの自習が趣味なので
922(1): 2023/08/06(日)21:11 ID:Mgx3ApDu(2/2) AAS
>>919
だからドキュメント読めってば。
Vec はポインタとキャパシティと長さを管理する仕組みだと書いてある。
外部リンク[html]:doc.rust-lang.org
実体が配列だからスライスの形で扱うことも出来る。
もし C++ を知ってるなら設計理念的には vectorと同じ感じとおもっていいと思う。
923: 2023/08/06(日)21:16 ID:kGEgc8zj(2/2) AAS
>>922
まぁ実はちょっと立場上普通の人より深く知ってる事を要求されることが多いんですよ
もちろんRustを並の人より知ってると言えるには後何年か修行しないといけないんでしょうけど、そもそもRustについては趣味なのでそこまで深く理解しなくてもいいとは思ってます
まぁ趣味なのでボチボチ読みます
ありがとうございます
924: 2023/08/06(日)21:39 ID:+jzrd7Vj(1) AAS
Haskell君と同じ臭いがしますね〜w
925: 2023/08/06(日)22:09 ID:lVXXe/mp(3/5) AAS
>>921
何度も書いて伝わっていると思うが各データ型の性質や各用途への向き不向きは使用言語と関係ない話
その適切なcollection型の使い分けというのが仮に必要だとしても各言語と関係なく抽象的なレベルで考えて可否を判断すべきこと
その上でベクタ型のデータ構造では何がいけないのかの問題点も見えてこない
926(1): 2023/08/06(日)22:29 ID:jEjmg3Hf(1) AAS
やっぱり>>913のようにサイズが不定である場合にはダメですね
The capacity of a vector is the amount of space allocated for any future elements that will be added onto the vector. This is not to be confused with the length of a vector, which specifies the number of actual elements within the vector. If a vector’s length exceeds its capacity, its capacity will automatically be increased, but its elements will have to be reallocated.
まぁ一般論ではなくて××桁まで計算するとか決めうちして使います
どのみち掛け算最終的にはFourier変換でやってみるつもりなのでその場合不定長だとメチャクチャ難しいし
927(1): 2023/08/06(日)22:59 ID:lVXXe/mp(4/5) AAS
>>926
不定長なら再配置を含めてもVecが有利
再配置コストは例えば2^nから2^(n+1)へ広げる度にしか発生せず誤差となる
それよりも連続領域に配置されることによるメモリキャッシュ効果が絶対に効く
928: 2023/08/06(日)23:14 ID:vwDBawzd(1) AAS
>>927
そうなんですか?
でもドキュメントには続いて
For example, a vector with capacity 10 and length 0 would be an empty vector with space for 10 more elements. Pushing 10 or fewer elements onto the vector will not change its capacity or cause reallocation to occur. However, if the vector’s length is increased to 11, it will have to reallocate, which can be slow. For this reason, it is recommended to use Vec::with_capacity whenever possible to specify how big the vector is expected to get.
とありますよ?
929(2): 2023/08/06(日)23:50 ID:lVXXe/mp(5/5) AAS
それを読んで再配置があった場合でも1回あたりO(1)で済んでいることが理解できないならば
Rustの勉強でもなくプログラミングの勉強でもなくCSなどの基礎から学ぶことをおすすめする
そういう基礎を理解しないままO(1)で行ないたいと最初の質問で書いていたのもヤバい
何度も伝えているが各言語と関係なく成り立つ話なのだから各言語に立ち入る前に理解を済ませておくべき
930(2): 2023/08/07(月)00:14 ID:KoOATDug(1) AAS
>>929
>CSなどの基礎から学ぶことをおすすめする
任意長整数型演算の実装の演習をするような人ならCSで学ぶ程度の知識はあるんじゃなのか
当然、データ構造についても一通りの知識はあると思うが
931: 2023/08/07(月)00:41 ID:Sa+WohTx(1) AAS
“amortized O(N)”を”1回あたりO(1)”に変換するあたりは流石オジ
でもCS基礎を学べというオジの主張に今回ばかりは同意するよ
932(1): 2023/08/07(月)00:47 ID:uTLlh+jk(1/2) AAS
>>929なんでO(1)で済むんですか?
そもそもデータ全体を連続領域に確保するんでしょ?
その延長する部分のヒープがもう埋まってたらデータ全部丸写しするしかないんじゃないですか?
大体そもそもデータを連続領域に確保して前からも後ろからも関係なくアドレス1発でアクセスもできて、その上データの追加もO(1)でできるとかなら無敵じゃないですか?
そんな魔法のよなメモリ管理できるハズないのでは?
933: 2023/08/07(月)00:48 ID:Lr/s88yL(1) AAS
Vecって単純過ぎてデータ構造では扱わなかったりするのかな
ならし解析では最初に出てきそうなネタだけど
934: 2023/08/07(月)00:50 ID:uTLlh+jk(2/2) AAS
ああ、データの読み書きが一回あたりI(1)ですか
でも今データの追加は整数の桁数が一上がるごとに発生するんですよ?
あらかじめデータの桁数が不明でそれが難しいと言ってるじゃないですか
足し算のたびにコピー発生しますよ?
935: 2023/08/07(月)00:53 ID:O5oF7I6f(1) AAS
こいつぅ
絶対わかってないやんw
936: 2023/08/07(月)00:53 ID:++BmxY1A(1) AAS
実際バイナリスプリッティングでマクローリン級数で足し算する場合とかどうやってあらかじめ必要桁数予言するの
937: 2023/08/07(月)00:54 ID:eXrQj8ZH(1) AAS
実際どんな用途かも具体的に書いてるのに
938: 2023/08/07(月)02:21 ID:pearvhja(1) AAS
2年くらい前の過去スレと今の状況見比べて泣いちゃった
939: 2023/08/07(月)10:50 ID:wl/Lx6N5(1) AAS
ここまでvecdeq無しとは
940: 2023/08/07(月)18:18 ID:UTlzilSe(1) AAS
VecDequeもその名の通りVec(正確にはどちらもRawVec)で作られていて
確保されている連続領域に対して未使用領域が末端か途中かの違いしかない
>>932は確保されている連続領域が埋まった時のコストを気にしているようだが
サイズNが埋まるまでの再配置の総コストは最悪ケースでもわずかN-1回の読み書きコストで済む
例えばサイズN/2が埋まった時にその倍のサイズNの新たな連続領域へ再配置するためにはN/2回の読み書きが発生
仮に最悪ケースでサイズ1からスタートしてもそれまでの累積の再配置コストはN/2+N/4+N/8+...+1 = N-1が上限値となる
つまりサイズNが埋まるまでの再配置の総コストは最悪のケースで読み書きN-1回でありO(N)で済む
一方でサイズNが埋まるまでの再配置以外の読み書きが何回行われるかを今回のケースで考えると
次々とサイズが倍々に増えていく計算の場合は最小でも合計O(N)回の読み書きが起こり
次々とサイズがリニアに増えていく計算の場合は最小でも合計O(N^2)回の読み書きが起こり
もっと緩やかにサイズが増える場合や上述の増え方の場合でも普通に読み書きが多い計算なら合計O(N^2)を超える
現実のほとんどの計算においてVecの再配置コストO(N)は誤差となる
941: 2023/08/09(水)00:49 ID:52BV6d5f(1) AAS
>>930
>当然、データ構造についても一通りの知識はあると思うが
今までのレス読んでそう思う?
942(1): 2023/08/09(水)18:58 ID:2XWtgL1F(1) AAS
でも競プロでvec.insert(0, value)でタイムアウトしたけどvecdeque.pushfront(value)ではタイムアウトしなかった経験があるな
943(1): 2023/08/09(水)19:31 ID:X5pmvNGk(1) AAS
VecDequeはring bufferだから連続性は保証されないね
VecみたいなDerefがないから&[T]に渡せない
slice未実装かと思ったら2つのsliceで返すas_slices()が実装されてて思ったより芸が細かかった
944: 2023/08/09(水)22:17 ID:5oPtG5Gl(1) AAS
>>942
そのinsertはずらすコピーが毎回O(N)かかるからサイズNになるまでの累計はO(N^2)になってしまう
一方で満杯になったときの自動再配置コピーコストの方は累計でO(N)だからさほど気にしなくていい
>>943
その時の状態配置に応じて最小コピーで連続領域にしてくれるmake_contiguous()で
連続1本になった&mut [T]を得られるのでVecDeque内でのsort()なんかもできちゃうね
945: 2023/08/10(木)04:07 ID:GpbD/XFE(1/2) AAS
>slice未実装かと思ったら2つのsliceで返すas_slices()が実装されてて
He-
946: 2023/08/10(木)04:08 ID:GpbD/XFE(2/2) AAS
vecdequeはlinkedlistじゃね
947: 2023/08/10(木)06:08 ID:74A6gUuN(1) AAS
vecdequeはもちろんvecで構成
linkedlistは他のデータ構造(vector, binary tree, hash table)と比較してほとんどの用途で遅く不利なため極限られた用途でしか用いられない
linkedlistが用いられる限られた用途でもlinkedlistの欠点を補うため同時にhash tableやbinary treeなどと組み合わせて用いられることも多い
948(1): 2023/08/11(金)08:01 ID:4oMIZBsG(1/2) AAS
>>930
データ構造なんて知らなくてもできる
中学生の頃やってた
大学入った1年の前期でプログラム実習があってそこでも多倍長整数演算の計算をやった
配列で計算すんの
何も難しいことはない
949: 2023/08/11(金)08:22 ID:6e7vDYNE(1) AAS
RustやるならCSでもまず計算モデル(特にスタックフレームモデル周辺)だろ。
950: 2023/08/11(金)08:37 ID:/t3LBfIN(1) AAS
>>948
その配列というのが長さと場所を固定した連続領域を取るデータ構造なのよ
Vecは同じ連続領域だけど長さと場所は可変なデータ構造
VecDequeはVecを用いたリングバッファで連続領域を確保して使っているけど使用データ自体は最大二つの領域に分かれるデータ構造
LinkedListは連続領域を使わない連結リストといったようにいろいろあるデータ構造の中で質問者はどれを使うべきか悩んでるみたい
951(1): 2023/08/11(金)11:19 ID:4oMIZBsG(2/2) AAS
最近おかしな議論が複数のスレにまたがって続いてるけど
多倍長整数というワードすら出てこないんだからなあ
952(1): 2023/08/11(金)12:40 ID:v1edpQDw(1) AAS
複オジと厨房と二人いるのか?
それとも厨2病をこじらせた複オジか?
953(1): 2023/08/11(金)13:08 ID:1cDd+Y+T(1) AAS
>>951
ユーザーは多倍長整数ライブラリを使えばいい
しかし彼は作る側でどのデータ構造を使って実装するとよいかの相談
Rustの話ではなく普遍的な基礎知識の話だけどな
>>913
>>任意長整数型演算の実装の演習してるんですけど
>>(略)
>>この場合どのcollection型が有利ですか?
954: 2023/08/11(金)14:32 ID:8y9raxy5(1) AAS
>>952
最近はこじらせてる人が3〜4人いるよ
複オジは>>953
955: 2023/08/11(金)14:38 ID:WGGkjKOg(1) AAS
複オジ認定される人は複数いると思われ
956: 2023/08/12(土)06:55 ID:H/leygs+(1) AAS
誰かに雇われてるのかもな
957(1): 2023/08/12(土)17:12 ID:uYfXOEbY(1/2) AAS
詳しい人がいたらアドバイスをもらえると嬉しいです
やりたいこと
入力系イベントの変換及び送出
例えば所定のウインドウがアクティブ時にピンチインが入力されたらCtrl+「-」を送出とか
OS
WindowsとLinux。同じコードで両OSに対応する必要はない
UI
とりあえずCLIでも構わない
技術要素
入力系イベントのグローバルフック。Rustではどうやる?
というか言語を問わずグローバルフックを使った新しい記事ってめっちゃ減っている気がする
現行の環境でどのような実装が良いのかよくわからない
958: 2023/08/12(土)18:35 ID:Vg3fIeNP(1) AAS
XY問題の上にRust関係ないな
959(1): 2023/08/12(土)20:05 ID:uYfXOEbY(2/2) AAS
今でもピンチイン/ピンチアウトで縮小拡大できないデスクトップアプリは珍しくないからね
特にエンジニアリング系アプリは有名どころでもタッチやペンに対応していなかったりするし
あと今から作るならRustを使いたいけどフックなどの実装は処理系依存になりやすく
システム言語を自称するRustでどこまでできるのかという点も興味ある
960(1): 2023/08/12(土)21:12 ID:ufIhf+ig(1) AAS
言語と関係なくね?
961: 2023/08/12(土)22:08 ID:ysM/YNb0(1) AAS
>>960
言語の話ではないが、まぁ、RustでWinやLinuxのアプリを作るときには(激システム依存だろうが)関係するからな
WinならWinのapiを使うためのクレート
外部リンク:learn.microsoft.com
で頑張るとかになるだろうが。
962: 2023/08/12(土)22:11 ID:ecBv/yaX(1) AAS
アタオカがまた別のアタオカを呼ぶ
963: 2023/08/12(土)22:58 ID:SnIoCjjg(1/2) AAS
>>957
今風のやり方は知らないが大昔にCでxlib使ってx11のイベント通知もらって何でもできた
>>959
CでできることはRustでできる
各分野についてRustだけで書かれたクレートもあれば
Cのライブラリを呼んでほぼ生で提供するクレートから
それをRustなインタフェースで提供するクレートもある
レアな分野で誰もクレート作ってなければ自分で作るのも難しいことではない
まずはcrates.ioでクレート探しからスタート
もし何を探すべきかがわからないのならばそれはRust以前の問題
964: 2023/08/12(土)23:35 ID:pSdIUbms(1) AAS
まぁ仕事でRust使う人は皆無だろうからな
そして仕事でなければコンソールアプリで十分やし
家でサンデープログラミングするのにわざわざwindows sdk引っ張り出さないし
965: 2023/08/12(土)23:49 ID:SnIoCjjg(2/2) AAS
むしろ仕事でWindowsを使わない
人それぞれだろう
966: 2023/08/12(土)23:52 ID:3Gp8Ilch(1) AAS
システムプログラミング向けの言語だからデスクトップアプリでは活況ではないんじゃないかな
967(1): 2023/08/13(日)00:01 ID:lcT7JkgH(1) AAS
そうか、サーバサイドの人は使わんわな
968(1): 2023/08/13(日)00:04 ID:RW198XaM(1) AAS
好きにプロセス消失してもいい系のWebサーバ向けアプリには
あんまメリットないわな。
969: 2023/08/13(日)01:00 ID:IKXyPV6w(1) AAS
>>967
>>968
WebサーバーサイドはRustが最も適している
そしてRustが毎年調査しているAnnual Survey ReportでもRustの業務利用目的の調査トップがWebサーバーサイド&バックエンド
画像リンク[png]:gihyo.jp
970: 2023/08/13(日)11:45 ID:mxfdwtiA(1) AAS
また現状認識ズレた人が不況に熱心なこと
971(1): 2023/08/13(日)12:47 ID:tlLZmbuO(1) AAS
クラウドはリソース(演算能力やストレージ)を使った分だけ金がかかるという話は何度も言及されているやで
972: 2023/08/13(日)13:12 ID:1wlKIUZg(1) AAS
ずっとそれ勘違いして言い続けてるよね
急になんJ民の振りしてもバレバレ
973: 2023/08/13(日)13:31 ID:4YjHceGO(1/2) AAS
>>971
オンプレミスも同じ
遅い言語を用いていると無駄にサーバー数が必要となりその電気代が固定費となってしまう
C/C++にはtokioのような非同期並行並列でCPUマルチコアを使い切れるスケジューリング環境もないため
現状Rust一択
974: 2023/08/13(日)16:16 ID:QszCfK1u(1/2) AAS
オンプレでも最終的にはそうなんだけど、クラウドの力でリソースの割り当てが柔軟に出来る状況になったので
「(開発初期は) まだ余っているリソースのチューニングは後回しにする」ということが出来なくなった。
余りなど存在しないので。
975: 2023/08/13(日)20:12 ID:NbQv8fjv(1) AAS
費用ならjavaやc#の方が安い
利用者が多くエンジニアを集めるコストが低いので
976: 2023/08/13(日)21:37 ID:lTJXvUOS(1) AAS
Webサービス分野だと小規模なサービスは人件費 > サーバー費用だからRustは早すぎる最適化になりがち。
とはいえ開発体験もかなり優秀な部類になってきたから初手でRust選ぶのが開発者のオナニーとは言い切れなくなってきてるよな。
977: 2023/08/13(日)22:11 ID:QszCfK1u(2/2) AAS
ウェブサービスというものが根本的に手探りだった時代は
素早く変更してサービスに反映させられる言語が重要だったけど
今は部品が確立してそれを組み合わせる形に変わっているから
部品が充分に揃っていると仮定できるなら言語 (処理系) の性能差で差がつく。
978: 2023/08/13(日)22:21 ID:26EPBWum(1) AAS
でも実際問題としてRustで組んだ人いる?
979(1): 2023/08/13(日)22:35 ID:4YjHceGO(2/2) AAS
世界のウェブインフラもRust製
【CDN世界トップシェアCloudflare】
外部リンク[html]:www.publickey1.jp
CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。
【クラウド世界トップシェアAWS】
外部リンク:japan.zdnet.com
Rustで構築されたAWSサービスの例としては、
コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
「Amazon Simple Storage Service(S3)」、
「Amazon Elastic Compute Cloud(EC2)」、
コンテンツ配信ネットワーク「Amazon CloudFront」、
LinuxベースのコンテナーOS「Bottlerocket」などがある。
980(2): 2023/08/13(日)22:57 ID:otTwfC5P(1) AAS
>>979
イヤ、そうじゃなくてこういうとこで雑談するレベルの話で実際に仕事でRust使うような実例を持ってる人いるかって質問
別に煽ってるわけじゃないよ
まずそこまで流行ってないと思うしかない、仕事で実際使った人いるならどういう経緯で使うことになったのかなぁと
981: 2023/08/13(日)23:15 ID:QyDGXVub(1) AAS
自分は仕事で書いてるし、直接の知り合いで仕事で使ってる人10人くらいはいるかな
なんで国内でも数十社くらいは使ってるんじゃないかと思う
982(1): 2023/08/13(日)23:48 ID:iO5PvBbd(1) AAS
そうなんや
それは言語はなんでもいいから好きなので書いていいん?
それともRustで書くように指示された案件?
983: 2023/08/13(日)23:48 ID:427/I8XL(1) AAS
> 自分は仕事で書いてる
開発の仕事じゃなさそう
くだらないウェブ記事書いてお小遣いもらってそう
984: 2023/08/13(日)23:51 ID:6khxmh9H(1) AAS
うちはバックエンドの一部をRust製にした
最終的には全てRust製へ置き換えるが着実に一つずつ
985: 2023/08/14(月)00:03 ID:SMR2domD(1) AAS
へぇ、意外にRust導入されてるんやな
986: 2023/08/14(月)02:41 ID:QUiVDENJ(1) AAS
蝦出んす
987: 2023/08/14(月)06:54 ID:BvDmcvEg(1) AAS
>>982
うちの場合はC++で書かれた部分をRustに移行した感じ
開発言語は実担当者に任されてるから自分のチームの数人で話して決定
皆C++書けるからRustも結構すぐ書けるようになってた
988: 2023/08/14(月)08:31 ID:YSmL6IQ6(1) AAS
こちらはNode.jsからRustへ移行だったけど
どちらもasync/awaitによる軽量タスクコードだから意外に簡単だった
989: 2023/08/14(月)22:05 ID:VoYfevle(1) AAS
どれも具体性が薄すぎてニートが妄想で書いてるんかってレベルやな
何の目的があってRustが選択されたのか
他の候補として何が検討されたか
最終的に目的はどの程度達成されたのか
大きな課題としてどんなものが現れたか
その課題はどう解決したか(しなかったか)
一般論じゃなく各論で、そういう特筆すべきことはなんにもなかったんか?
990: 2023/08/14(月)22:08 ID:NTZtQKzP(1) AAS
そうやって情報収集しようとするクセよくないぞ
自分でしらべろや
991: 2023/08/14(月)22:13 ID:sy90BXR1(1) AAS
このスレにいる以上は Rust に関心を持っているのは当たり前なんだから
実務で使ってる事例もそれなりにあるのは全く自然なことだと思うんだが、
そう思えない理由がなんかあるか?
LISP スレですら実務の採用例がそこそこあるのに Rust で無いってこたぁない。
992: 2023/08/14(月)23:40 ID:GBb0r4Vn(1) AAS
思う思わないレベルの話はいらない
993(1): 2023/08/14(月)23:49 ID:h0ddCJfE(1) AAS
アンチの相手しなくていいんじゃないかしら
お盆に入ってからの書き込み原文ママ
「仕事でRust使う人は皆無だろう」
「サーバサイドの人は使わん」
「Webサーバ向けアプリにはあんまメリットない」
「開発の仕事じゃなさそう」
「くだらないウェブ記事書いてお小遣いもらってそう」
「どれも具体性が薄すぎてニートが妄想で書いてる」
994: 2023/08/15(火)00:22 ID:0OuVStUx(1) AAS
無理やで
995: 2023/08/15(火)01:10 ID:eHfmSxwe(1) AAS
>>993
君のとこでは採用してるん?
996: 2023/08/15(火)02:40 ID:ozj7JwYA(1) AAS
確かにこんなところで調査しても意味ねえわ
997: 2023/08/15(火)03:17 ID:W84SzS8v(1) AAS
NoSQLなデータ扱うマイクロサービス改修を機会にそこをRustにしたよ
998: 2023/08/15(火)08:51 ID:ca01mENm(1) AAS
ウクライナが勝ってるよっていう情報を流すのと同じw
999: 2023/08/15(火)22:01 ID:wEreUCSS(1) AAS
ここで普及させようとしても意味無いでw
1000: 2023/08/15(火)22:12 ID:6mJ3MaUL(1) AAS
rustupが動かないので手動でクロスビルド環境を構築したいんだが
rustup target add 〜
って具体的に何やっているの?ターゲットはとりあえずthumbv7em-none-eabihfとriscv32imac-unknown-none-elfの2つ
ネイティブビルド環境は公式にあるプレビルドファイル一式を適当な場所に手動で展開すれば構築できるけど(構築済み)
1001(1): 1001 ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 165日 21時間 27分 27秒
1002(1): 1002 ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
外部リンク:premium.5ch.net
▼ 浪人ログインはこちら ▼
外部リンク[php]:login.5ch.net
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.317s*