プログラミング言語 Rust 4 at TECH
プログラミング言語 Rust 4 - 暇つぶし2ch2:デフォルトの名無しさん
17/10/14 17:50:32.20 TG6KQnkb.net
乙py

3:デフォルトの名無しさん
17/10/14 19:21:55.29 exUih+Y4.net
rustって難しいの?
使いにくい言語って結局クソじゃね?
有難がってるのって信者だけ?

4:デフォルトの名無しさん
17/10/14 20:28:14.94 5CxcJldf.net
簡単だからみんなに愛されてるよ

5:デフォルトの名無しさん
17/10/14 20:49:22.17 d/ZcF8z5.net
低能には無理なだけ。

6:デフォルトの名無しさん
17/10/14 21:21:44.96 MEMAbYNQ.net
乙rs

7:デフォルトの名無しさん
17/10/15 02:22:15.99 Gzamsjai.net
>>3
厳しい先生だと思う。
でもそれは俺らのためでもあって、rust先生の審査を通ったプログラムは安全と言える。
ただ先生も普段が厳しすぎるとは思ってるので、わかってる奴ら用にunsafeって抜け道も用意してくれてる、、、
そんな感じ。

8:デフォルトの名無しさん
17/10/15 17:08:59.82 OLs+Obq4.net
>>3
そう。信者と本山(モジラ)だけ
試しにAPIサーバでも書いてみりゃ即この言語使えねえってわかるぞ

9:デフォルトの名無しさん
17/10/15 17:11:39.41 OLs+Obq4.net
あと何度もいうけど「Rustのコンパイル通らないプログラムは危険」とかいうデマゴーグが嫌い
きち


10:んと状態管理すりゃいくらでも正しく動くのに やれstatic領域は排他制御しろだのやれこの変数はスコープ明示的に切れだのいらんことばっかいうのがRustコンパイラな



11:デフォルトの名無しさん
17/10/15 17:45:57.69 rS8Rkw3L.net
書きやすさは一旦置いといたとしても
保守のしやすさってどうなんだろうか
この言語は、保守しやすいコードへ導く言語なんだろうか

12:デフォルトの名無しさん
17/10/15 17:55:29.27 OLs+Obq4.net
>>10
一度書いたものを書き換える度にコンパイラが奇声をあげるので変更もままならないという意味では保守性()は高いかもな
メンテナンス性がまったくないともいう

13:デフォルトの名無しさん
17/10/15 18:15:28.06 rS8Rkw3L.net
>>11
メンテナンス性はまったくない、でFA?
言語とのしてのメンテナンス性の傾向ってのは
さほど語られてるのを目にしないけど個人的には
Java
10年後数万行のコード見てもわりと整然としてる
あとから何度も手を入れて運用していける
Ruby
最初書きやすい、表現力が高い?と感じながらスイスイ書いていける
半年後、雑然としていてまったく読めない
クソみたいなコード書いた自分が悪いとはいえ
↑こういう感想を抱いている

14:デフォルトの名無しさん
17/10/15 18:56:05.11 OLs+Obq4.net
そもそもRustはプログラミング言語として破綻してるので、
モジラ信者でもない限り使わん触らんが一番幸せだ
悪いことは言わんからRustのことは忘れろ

15:デフォルトの名無しさん
17/10/15 19:40:50.30 tVDbMyAt.net
>>13
ほんと定期的に沸くなこのアンチ
>>12
メンテナンス性でいうなら、最初に型さえうまく設計してれば結構拡張性あるから、
その辺はどっちかというとHaskellに近いかな
クセはあるけど型をきちんと理解して最初の設計に組み込んでおけばかなり自由が効く
最初の型合わせゲームは辛いけどな

16:デフォルトの名無しさん
17/10/15 21:01:33.85 hXoFufWE.net
ID:OLs+Obq4 くらいの基地外になれば100年だって粘着する。

17:デフォルトの名無しさん
17/10/16 00:56:00.52 L0xOtnmA.net
firefoxをRustで書けるわけないと言ってたのがMozilla以外使わないに後退したのか

18:デフォルトの名無しさん
17/10/16 01:34:41.28 fJuedXc2.net
>>16<br>
そりゃまぁ、事実としてmozillaがRustでfirefoxを書いちゃったからな
firefox Quantum beta 試してみたけど確かにchrome並みに速くなったな
そしてchromeよりメモリは食わないのが良い
でも正直、俺はメモリ不足を感じたことがないからChromeベースのVivaldiを使い続けるが
無事にfirefoxも出たことだしRustもう少し普及してくれないかなぁ

19:デフォルトの名無しさん
17/10/16 06:58:12.63 tAuyK94w.net
quantam はcssしかrustになってないからまだ速くなるらしいぞ

20:デフォルトの名無しさん
17/10/17 15:47:54.26 wIRdElZt.net
>>18
ブラウザのレンダリング速度ってcssをどれくらい速く捌けるかが大部分なんじゃないの?
それ以外がRustになったところで速くなるといっても微々たるものなのでは...
Servoって確かJSエンジンは従来のSpiderMonkeyをそのまま使ってるんだよね
JSはGCあるし、DOM管理(Rust側のDOMオブジェクトとの連携)とかどうやってるのかよく分からんけど
DOM管理の部分とかがRustになったらさらに速くなるのかな?
今のQuantumってGecko全体の何%くらいがRustになってるんだろう?

21:デフォルトの名無しさん
17/10/17 18:19:17.27 +iMUpGrE.net
firefoxはまだまだchromeに負けてる
URLリンク(www.phoronix.com)
rustの力ではよどうにしかして😣

22:デフォルトの名無しさん
17/10/19 23:42:22.47 IsyCcSeh.net
というか Servo はいつになったらまともに動くようになるんだろう。
精力的に開発が行われているのに、数クリックでフリーズする状況が年単位で続いているのが謎すぎる。

23:デフォルトの名無しさん
17/10/20 00:07:38.98 wgfDnpHi.net
>>21
数クリックでフリーズってどういう事?
普通に動くぞ

24:デフォルトの名無しさん
17/10/20 00:17:55.96 rZiWAdIU.net
>>22
定期的にバイナリ落としてきて Windows/Linux で試しているけれど、リンクを数回辿る
くらいの操作で入力を受けつけなくなる。 Windows と Linux は物理的にも違うマシン
だし、おま環じゃないと思うんだけどなあ。

25:デフォルトの名無しさん
17/10/20 02:33:32.00 Ka6W9rl7.net
>>23
下のサイトでnightlyビルドで公開されてるやつ試したが日本語サイトは全滅だった。
英語サイトならWikipedia, Github, Rustの公式サイトあたりは見れたぞ。
Amazon, youtube, google mapは動かなかったが。。。
ちなWin10ね
URLリンク(servo.org)

26:デフォルトの名無しさん
17/10/21 15:27:07.62 QcSDmzOK.net
>>24
起動直後にそれらのサイトにアクセスすると普通に動くけれど、
そのままリンクを辿ったりするとフリーズしない?
こちらもそこで落とした Nightly on Win10.

27:デフォルトの名無しさん
17/10/21 15:39:44.95 01QdRZD5.net
rocketというwebフレームワーク気になる
そもそもrustってwebサーバーに向いてる?🤔

28:デフォルトの名無しさん
17/10/21 16:07:39.00 guA6ZzKE.net
rocketワイも気になるンゴ

29:デフォルトの名無しさん
17/10/21 18:49:44.39 JlJoedU7.net
trait Foo: Sized {
const BAR: Self;
const BAZ: Self = Self::BAR;
}
beta や nightly では通るのに、stable ではエラー出して通らないのな。

30:デフォルトの名無しさん
17/10/21 22:00:10.66 guA6ZzKE.net


31:デフォルトの名無しさん
17/10/21 22:37:04.09 WA0WypxL.net
>>29
あ、アは、日本語の音節の1つであり、仮名の1つである。1モーラを形成する。
五十音図において第1行第1段(あ行あ段)に位置する。
by wikipedia
URLリンク(ja.wikipedia.org)

32:デフォルトの名無しさん
17/10/22 05:54:14.55 bmxwOMJ1.net
>>26
向いてはないな
web系は処理速度や信頼性、保守性よりも生産性が重要視される。
生産性ではRustはphpやruby on rails には劣る。
かといって向かないとも思わない。
現にRustのweb系のフレームワークは複数存在してるし、
どれも今のところ結構精力的に開発、更新


33:されてる。 Rustはc++と比べて抽象化と並行性という意味では優れているから、 特にRocketは他言語のwebフレームワークにも負けないレベルの短いコード量で Webサーバー作れる(あくまで個人的な感想。異論は認める)し、 将来的には並行性を活かしてパフォーマンスも改善されると思われる。 Rustが好きなら十分アリだと思う。 逆に目的のWebサーバーさえ作れれば言語なんかどれでも良い って感じならRustはないな。 Rustは慣れるのにとにかく時間がかかるけど、慣れちゃえば それほど生産性の低い言語だとは思わないし(高いとも思わないが)。。。 結局は学習コストがRustの一番の問題なんだよなぁ。。。 思ったより長文になった。すまぬ



34:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 09:29:16.36 sz06mai3.net
web系で一括りは雑でしよ
シングルスレッドでうぇいうぇいやってるアプリ層と下位の屋台骨支えてるところでは世界が違う
シンプルにまずはc++の代替を狙う言語でいい
仕事で使うレベルを考えるとc++の教育コストにうんざりしてるからrustには期待してる

35:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 11:20:50.04 WwgEyxCZ.net
そーいえばいつの間にかrustfmtのフォーマットが変わって
くそめんどいことになってるけど、
どうしてこうなったの

36:デフォルトの名無しさん
17/10/25 21:48:06.68 RVSof4zp.net
C/C++を覚えなきゃだめです
Rustを使うにしろGo言語を使うにしろです何の新しい言語を使うにしてもです
世のライブラリの大半はC/C++用に作られているわけです
Rustでラップされたライブラリ、代替できるRustで書かれたライブラリ、そんな便利なものがたくさんあればいいのですが

37:デフォルトの名無しさん
17/10/26 17:41:17.14 iL6gP4TT.net
typedef struct Foo {
int x;
int * x_ref;
} Foo;
Foo foo;
foo.x = 11;
foo.x_ref = &foo.x;
C で書くとこんな感じになる、自分の要素への参照を要素として持つ構造体って、Rust じゃもしかして書けない?
苦心してこんなん書いてもやっぱ無理だし。
use std::mem;
struct Foo<'a> {
x: i32,
x_ref: &'a i32,
}
impl<'a> Foo<'a> {
fn new() -> Self {
let mut foo = Foo {
x: 32,
x_ref: unsafe { mem::uninitialized() },
};
foo.x_ref = &foo.x;
foo
}
}

38:デフォルトの名無しさん
17/10/26 18:27:07.74 oDCnt1ox.net
参照として持たせる意味が分からない

39:デフォルトの名無しさん
17/10/26 18:39:59.49 iL6gP4TT.net
カーソルに使うんだよ。

40:デフォルトの名無しさん
17/10/26 23:52:30.58 ErMEtQpf.net
前もこのスレで同じようなこと聞いてダメだったはず
一つの構造体の中に、配列とその中のどれかを指す参照が入ってる構造
解決策は、参照をやめてインデックスを持つ

41:デフォルトの名無しさん
17/10/28 17:28:01.09 sEZMTm/T.net
let mut foo = vec![false; 20];
// fooの2番目と3番目をtrueにするには
foo[1] = true;
foo[2] = true;
// しかないでしょうか?

42:デフォルトの名無しさん
17/10/28 18:11:36.42 MtYOEUVQ.net
2番目と3番目以外がどうなってもいいなら
let mut foo = vec![true; 20];

43:デフォルトの名無しさん
17/10/28 18:33:36.35 sEZMTm/T.net
すいません…
良くありません

44:デフォルトの名無しさん
17/10/28 19:14:18.79 R69/khYl.net



45:タ際のところ生産性ってどうなん? GUIプログラムとかにも向いてる? いい感じのGUIフレームワークがあったとして。



46:デフォルトの名無しさん
17/10/28 19:33:23.13 2Kf4Kqfh.net
>>39
何がしたいの?
いろいろ出来るけど

47:デフォルトの名無しさん
17/10/28 19:58:15.36 sEZMTm/T.net
>>43
pythonでいえば
foo[1:2] = [True] * 2
みたいなことです
(1..3).for_each(|x| foo[x] = true);
といちいち書くのが面倒(な上処理が重そう)だったので伺いました
実装したいのはアトキンの篩です

48:デフォルトの名無しさん
17/10/28 20:29:56.20 2Kf4Kqfh.net
>>44
効率が悪いってのはindexアクセスを二回やるとこのこと?
ここは過疎ってるからまじめに聞きたければSlack行くとよいよ

49:デフォルトの名無しさん
17/10/28 20:41:41.30 2kkil0pQ.net
let mut foo = vec![false; 20];
println!("{:?}", foo);
foo.get_mut(1..3).unwrap().iter_mut().for_each(|v| *v = true);
println!("{:?}", foo);

50:デフォルトの名無しさん
17/10/28 20:43:42.54 2kkil0pQ.net
コスト気にしてるみたいだけど、release でコンパイルすれば、結局
foo[1] = true;
foo[2] = true;
したのと変わらん結果になるんちゃうか?

51:デフォルトの名無しさん
17/10/28 21:55:42.13 sEZMTm/T.net
>>45,47
そうなんでしょうか(LLVM IRも読めない)
それで進めようと思います
ありがとうございました

アトキンの篩は他の言語だとどれもヒープ
確保してforループでヒープ操作という感じですが
横着して同じような実装をRustで書くとas usizeばっかだしで一目でダメとわかるコードに…

52:デフォルトの名無しさん
17/10/29 00:23:56.31 BVtm7xd8.net
Atkinの篩、実装を見てみたが(察し)
URLリンク(phillip-h.github.io)
URLリンク(github.com)

53:デフォルトの名無しさん
17/10/29 09:47:38.74 femXOKq6.net
Kotlinのスコープ関数みたいなことができるcrateってありますか?

54:デフォルトの名無しさん
17/10/29 11:47:41.30 SkqxwfAQ.net
'a type と 'a + type の違いが分からん.

55:デフォルトの名無しさん
17/10/29 11:48:57.06 UFBW+HOq.net
obj.method(args) って形はマクロを使っても崩せないんじゃないかなあ
動作的にwithみたいなのは一関数でできるんじゃない?
無理すればメソッドとして実装することもできるかと
URLリンク(play.rust-lang.org)
便利か?と言われたらそうでもないかも

56:デフォルトの名無しさん
17/10/29 11:50:41.46 UFBW+HOq.net
>>51 'a + typeじゃなくて'a + Traitじゃない?

57:デフォルトの名無しさん
17/10/29 12:23:33.14 femXOKq6.net
>>52
なるほど!
最近Kotlin書くことが多くてスコープ関数使ってみたら、いちいち変数に入れなくてよかったり(変数名を考えなくていい)レシーバを指定しなくてよかったりして楽に感じたので、Rustでも同じようなことできるcrate公開されてないかなと思っていたところです!

58:デフォルトの名無しさん
17/10/29 12:31:27.29 SkqxwfAQ.net
>>53
おお、その通りだ。分かってなさすぎるな…。
fn hoge<'a, T: 'a + Trait>( x: &'a T );
&'a T が参照先オブジェクトの寿命を表しているのはいいとして、
'a + Trait の 'a の意味がよく分からない。

59:デフォルトの名無しさん
17/10/29 17:07:16.08 UFBW+HOq.net
>>55 自分もよく分かってないし、見覚えの無い使われ方があったときにそれを指す言葉を知らなくて時間がかかるんだけど、
URLリンク(doc.rust-lang.org)
↑にあるように、<>の中ではlifetimeや総称型を使うよ、と宣言するのと、T: Traitとやって型の境界(bound)を指定するのの2つの意味があって、
T: 'a + Traitってのは型TがTraitをimplしていることと、もし参照型だったりlifetimeを持つ型だったりしたときは'aより長生きなものに限りますって意味になる、らしい
意味は分かる。けど、hoge(v)としたとき、lifetime関連のエラーを吐く具体的な値vの例が思いつかない

60:デフォルトの名無しさん
17/10/29 18:50:42.32 DMNR4JpH.net
whereで書いたほうがわかりやすいね

61:デフォルトの名無しさん
17/10/30 21:06:32.26 4dqnj7Aj.net
>>35
まず、そのままのコードでは new() の返り値が move されるときに
&x のアドレスが変わってしまう(実際には最適化で move されない
だろうけど言語仕様的には)ので、そのコードがエラーになるのは正当。
なので x か Foo 全体を box 化する必要がある。ただ box 化すれば
コンパイルが通るかというと、 box を deref して得られる参照は box
の中身の寿命ではなく box 自身の寿命になるので、 transmute で
チートする必要がある。
fn new() -> Self {
let mut foo = Box:new(Foo {
x: 32,
x_ref: unsafe { mem::uninitialized() },
});
foo.x_ref = unsafe{ mem::transmute::<_, &'static _>(&foo.x) };
foo
}

62:デフォルトの名無しさん
17/10/30 21:26:14.87 4dqnj7Aj.net
失礼。コンパイル通らないコードを貼り付けてしまった。
fn new() -> Box<Self> {
let mut foo = Box::new(Foo {
x: 32,
x_ref: unsafe { mem::uninitialized() },
});
foo.x_ref = unsafe { mem::transmute(&foo.x) };
foo
}

63:デフォルトの名無しさん
17/10/30 22:54:07.55 nDqoZaw+.net
ありがとう。
move するとアドレスが変わるというのは無理矢理実験したときに気付いたけれど、
実際はこんな感じで Box 化された構造体の特定の変数への参照が欲しかったので、
>>38が言った前スレの>>507-514辺りを見て、こんな感じで解決してました。
use std::mem;
struct Bar(i32);
struct Foo {
x: Box<Bar>,
x_ref: &'static i32,
}
impl Foo {
fn new() -> Self {
let mut foo = Foo {
x: Box::new(Bar(10)),
x_ref: unsafe { mem::uninitialized() },
};
let dummy = mem::replace(&mut foo.x_ref, unsafe { mem::transmute(&foo.x.0) } );
mem::forget(dummy);
foo
}
}

64:デフォルトの名無しさん
17/10/31 00:31:43.31 pbuN/n26.net
>>60
ああ、確かにリファレンスとはいえ forget() しとくべきだね。
このコードについては↓でも問題ないけど、まあ実際の初期化はもっと他にも
処理があるだろうから、一般にはこううまくは行かなかいか。
struct Foo<'a> {
x: Box<Bar>,
x_ref: &'a i32,
}
impl<'a> Foo<'a> {
fn new() -> Self {
let x = Box::new(Bar(10));
Foo {
x_ref: unsafe { mem::transmute(&x.0) },
x: x,
}
}
}

65:デフォルトの名無しさん
17/10/31 18:55:06.66 xO8W0Vv5.net
Rcって何のためにあるんですか? 所有権? 借用じゃダメなん?
所有権持ってる変数のライフタイムを超えて借用できないからRc?
色んなコンテナや、色んなデータ構造に渡って持たせたいときはRc?
URLリンク(ideone.com)
書いてみたらなんとなく納得行ったような気がする

66:デフォルトの名無しさん
17/11/03 08:56:29.78 Z6QhTX43.net
標準に整数型のトレイトがないの意味わかんねぇ
std::net以上に需要あるでしょ

67:デフォルトの名無しさん
17/11/03 19:05:06.62 q9Q8QP2Y.net
>>63
Scalaも無かった気がする

68:デフォルトの名無しさん
17/11/04 09:52:47.01 ZfOcIIq3.net
Haskellで言うNun型クラスみたいな奴ってことか?
トレイトでやろうとすると要定義メソッド多すぎたり、
累乗みたいな計算の実装が遠回りになったりしそうできつそうに見えるな

69:デフォルトの名無しさん
17/11/04 10:16:41.16 sRI2IP6J.net
Haskellは数値も抽象化してるせいでパフォーマンスにかなり影響与えてるしね…

70:デフォルトの名無しさん
17/11/04 11:00:10.28 ZfOcIIq3.net
s/Nun/Num/
Scalaはその辺を、暗黙の型変換でシームレスに扱おうとして闇を量産してるんだよな
Rustは今んとこ特になんもしてない感じか

71:デフォルトの名無しさん
17/11/04 11:30:17.70 I+CIRt80.net
numクレートじゃいかんの?
URLリンク(github.com)

72:デフォルトの名無しさん
17/11/05 10:17:10.41 /rlXjeS/.net
numクレートが標準にないのが嫌なんだろうけど、std::timeみたいに標準サポートやーめたってなりそう
Into/From使えば別に困らんしと需要は少ないのではなかろうか

73:デフォルトの名無しさん
17/11/07 20:38:24.64 vWfvN4c5.net
URLリンク(ideone.com)
・AA treeを実装
・1.8.0で主に確認(ideoneは1.14.0)
・Rc<RefCell<Option<Node<T>>>>を中心に実装
・ふんだんにRc::clone()を乱発
・Tも<T: Copy>でコピーしちゃう
・肝心の木の操作部分は、wikipediaでの表現に近くなるように表現
・基本的によく分かってないので色々奇妙な事をしているかもしれない
昔からチラホラ「Rustで木構造は苦しい」と耳にしてて興味があったのと
最近ほかのスレで実装してた人がいたのをみて触発されたので書いた
最初はOption<Rc<Node<T>>>で書いてたけど
RcとRefCellの組み合わせを試してみたくなって方向転換
けっきょくどっちが正解だったのかは不明

74:デフォルトの名無しさん
17/11/07 20:46:48.79 pha33qDk.net
ただのAA木に Rc なんて要らんだろ。Option<Box<Node<T>>> で済むだろ。

75:デフォルトの名無しさん
17/11/08 00:56:51.98 hd1pqs3m.net
AA木の削除操作はwikipediaのやつだとpred(自分より小さい値のうち一番大きいもの)とsucc(自分より大きい値のうち一番小さいもの)を
子ノードから取ってきた後に子ツリーに対して再帰的にdeleteをしてくってなってるけど、ノードの値がNoCopyだとRc使うかunsafe使うかしないと無駄なコピーが発生しない?

76:デフォルトの名無しさん
17/11/08 01:15:10.36 T1vINdZw.net
>>70
「他スレで実装してた人」って俺のことだな。
↓のスレのことだろ?
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
スレリンク(tech板)
木構造は持ち主(親)が1つに限定されるはずのでRcもRefCellもいらないと思うよ。
実際 、自分はOption<Box<_>>という形で実装してるし。
RcとRefCellの練習するんならグラフ構造とかがいいじゃないかな。
グラフ構造ならRcとRefCellはほぼ必須になるんじゃないかな。
グラフ構造はRustどころかC, C++でも実装したことないから詳しくは分からんけども。
>>72
俺の実装では、Option型のtakeメソッドを使ってるぞ。
そしてtakeメソッドの中ではunsafeが使われてる。だからコピーもないはず。
そのことじゃないのか?俺のほうが何か勘違いしてる??

77:70
17/11/08 20:27:30.89 iPjR8aCv.net
URLリンク(ideone.com)
・AA treeを実装
・1.8.0で主に確認(ideoneは1.14.0)
・今回はOption<Box<Node<T>>>中心に実装
・Tも<T: Copy>でコピーしちゃう
・肝心の木の操作部分は、wikipediaでの表現に近くなるように表現
・前の奴>>70のコピペから開始してるから妙なとこ残ってるかも
>>72
wikipedia見ただけでそのへんに着目できたのってすごい
前回は実はそこで一旦あきらめてコピーとOption<T>の導入に踏み切った
今回もTのコピーうんぬんについては挑戦せずそのまんまコピーし�


78:トる



79:デフォルトの名無しさん
17/11/09 01:32:36.02 kYfp6pnU.net
>>73 Option::takeを使って子ノードのsuccかpredの値を取ってくるとすると、その子ノードの値はNothingになるよね?
wikipediaの例だとその後にdeleteを再帰的に行うことで(delete内で適宜skew&splitを呼んでる)バランスを保つよう処理してるけど、Nothingが入ってる時点でうまく動く保証が無い
そのスレで書いてくれたものは要素としてCopyであるi32を使ってるから問題が見えないんじゃないかと思う
>>74 自分も>>73の例を見る前に多相型でちょっと書いてみて、どうすんだこれって気付いたんで偉そうなこと言えないっす
Rust固有の問題じゃないような気がしてるよ。C++とかで多相型にしてみたとしても、「子ノードの値を自身の値にする」って部分でコピーが行われる気がしてならない
一瞬だけどAA木の中に同じ値を持つノードが発生しているから、AA木の実装を綺麗に書こうとしたらT:Copy or T:Cloneって制約は必須なんじゃないかと

80:デフォルトの名無しさん
17/11/09 03:38:46.05 x23Vytiv.net
>>75
ああ、なるほどね。
確かにi32の部分をTに置き換えると T: Copy か T: Clone が必須になるね。
これは確かに無駄なコピーが発生してるわ。
まぁ、この実装だとおそらく元になったwikipediaのコードの時点で
無駄なコピーが発生してることになるよね。
wikipediaの場合はi32(4byte)くらいならコピーしてもいいやってスタンスなのかな?
Tの場合は何byteになるか分からないからそういうわけにもいかないということかな?
これ以上は考えるのが面倒になってしまった。。。orz

81:70
17/11/09 19:44:06.23 1u6Rcsa8.net
URLリンク(ideone.com)
>>70の<T: Copy>を<T: Clone>に変更
・ついでにRc付きで運用してみて様子を観察
でっかい構造体の場合はこういうふうなのがマシなのかな
Clone運用してるとこに、さらにRcもってくると気持ちよすぎ
おかげで内部の操作に由来した余計な割り当ては無くなった
CloneトレイトとRcには敬意を表したい
>>75
そこんとこの苦悩はもうしゃあないのかな
それについてはもう思考停止します

82:77
17/11/09 19:45:08.89 1u6Rcsa8.net
×・>>70の<T: Copy>を<T: Clone>に変更
○・>>74の<T: Copy>を<T: Clone>に変更

83:デフォルトの名無しさん
17/11/09 20:45:25.15 EdyTgEfO.net
rustのことはわからんけどコピーしないAA木は実装したことがあるので口を出させろください
「succかpredの値をnodeにコピーしてからsuccかpredを削除」しているわけなので
リンクを繋ぎ変えてsuccかpredとnodeをまるごと入れ替えるようにすれば、コピーは要らなくなりませんか

84:デフォルトの名無しさん
17/11/09 22:34:40.35 kYfp6pnU.net
コピーしない実装も不可能じゃないと思うけど、削除時の再平衡をちゃんと理解してないから分からん
ちょっと勉強してみるわ

85:デフォルトの名無しさん
17/11/10 00:49:41.25 PhyVaKjz.net
データ構造,アルゴリズム,デザインパターン総合スレ 3c2ch.net
スレリンク(tech板)

86:デフォルトの名無しさん
17/11/10 23:43:40.77 3DZB3Erk.net
num crateって昔標準じゃなかったっけ?rustc_privateだけだっけ?

87:デフォルトの名無しさん
17/11/11 03:49:20.94 x6IBdmnF.net
Rustの日本語書籍ってまだ出てないのですか?

88:デフォルトの名無しさん
17/11/11 21:51:46.65 rbpvu0L2.net
>>83
URLリンク(rust-lang-ja.github.io)

89:デフォルトの名無しさん
17/11/12 00:57:30.78 pW30nUMy.net
>>84
ありがとうございます

90:デフォルトの名無しさん
17/11/13 15:07:53.78 paUmVqxY.net
言語は割といい感じなのに何でcargoはこんなにウンコなん(´・ω・`)

91:デフォルトの名無しさん
17/11/13 21:10:10.81 W6k1I/AE.net
cargoのどこが不満やねん

92:デフォルトの名無しさん
17/11/13 21:12:20.77 o8y42drl.net
ビルドとパッケージマネージャを一緒にしてcrates.io必須にして、他のビルドツールとの連携がつらいんでNIH症候群になりがちで、あんま好きになれないのがcargo
環境変数でビルド先のディレクトリが変わるけど、そこらへんのドキュメントも乏しいのが難点

93:デフォルトの名無しさん
17/11/14 01:18:01.25 03b/WoCZ.net
戻り値の型をflow sensitiveに推論してくれなくて、rustcが推論間違えてそれに気付くのに一日潰れてしまった。
>>86,88
わかる。囲い込んでるのにcargo自身が大したこと出来なくて色々困るんだよね。
色々方針が変わるし。mvnと同じ問題起こしたnpmと同じことしてるし。
言語は良いんだよ。

94:デフォルトの名無しさん
17/11/14 01:25:20.09 Meoq/IF/.net
rust製のOSSのウェブサーバーってないの?

95:デフォルトの名無しさん
17/11/14 01:50:40.15 xg4XyUK/.net
>>90
hyperかな Webフレームワークのironやnickelがhyperに依存してる

96:デフォルトの名無しさん
17/11/14 17:05:10.90 RZwCC6tv.net
>>90
ロケット

97:デフォルトの名無しさん
17/11/14 17:57:48.10 Meoq/IF/.net
ウェブサーバーって書き方が悪かった
RocketやIronを使って実際に運営されてるウェブアプリはある?
小規模なTwitterクローンとかでいいんだけど

98:デフォルトの名無しさん
17/11/14 22:28:34.56 xFziBOix.net
server書いてます。フレームワーク書いてますは沢山あるけど運用例聞かないね、そう言えば。

99:デフォルトの名無しさん
17/11/15 01:12:59.55 Yh7CedoH.net
だってどこも使ってないもの
泥箱みたいなところはモジラから金もらって「使ってます」って提灯持ちしてるだけ
事例やソースが一切出てきてないのが証拠
いい加減Rustそのものがモジラのステマの産物だと認めろ。これはプログラミング言語ではない

100:デフォルトの名無しさん
17/11/15 02:07:05.71 xYQYBhLn.net
プログラミング言語ではある

101:デフォルトの名無しさん
17/11/15 02:56:35.18 p5zaPhLE.net
ディスりにモジラ絡める時点で長いこと荒らしてるいつもの暇人だってすぐ分かるんだよなあ
自分から具体的な話ができないししてもすぐ反論されて終わるもんだから他人の愚痴に便乗するしかできなくなってる
ボローチェッカに自分のコード全否定されて頭がおかしくなった可哀想な子を生み出したRustの業は深い

102:デフォルトの名無しさん
17/11/15 03:08:53.86 xYQYBhLn.net
ボローチェッカにボローボローに否定されたんやなぁってやかましいわwww

103:デフォルトの名無しさん
17/11/15 06:53:08.67 nRwvVPky.net
つーかおまえらはrustで何書いてんの?

104:デフォルトの名無しさん
17/11/15 10:20:38.06 QoaSbxja.net
それな
まだ仕事で使ってる人はいないだろうし

105:デフォルトの名無しさん
17/11/15 10:32:37.69 I7ANqDvy.net
仕事で使ってるけど、小さな会社なので、皆さんのご期待には沿えない。

106:デフォルトの名無しさん
17/11/15 10:49:24.15 FBksKtwj.net
>>97
せめてモジラの提灯持ち以外にまともにプロダクションで使ってる企業を出してから言えよ

107:デフォルトの名無しさん
17/11/15 11:05:39.14 oyAT9Por.net
糖質は同じ言葉を繰り返すからすぐ分かる。

108:デフォルトの名無しさん
17/11/15 11:45:28.60 FBksKtwj.net
反論できずに糖質認定か

109:デフォルトの名無しさん
17/11/15 13:03:45.77 PSu/RMx1.net
クローズドソースのときって、どういうスタイルなの?
crateのパスを相対で書きまくるのか、巨大ctateをつくるのか

110:デフォルトの名無しさん
17/11/15 13:27:56.09 p5zaPhLE.net
URLリンク(www.rust-lang.org)
公式サイトのこのページくらいは見たことあるだろ?無いのか?無さそうだな。
まともな耳目がついててこのページ見てるならそんなレスできねえもんな

111:デフォルトの名無しさん
17/11/15 14:07:55.37 FBksKtwj.net
>>106
まさかソースといってモジラの大本営発表持ち出してくるとは思わんかったわ
そんなもんただの提灯で何の意味もない。使ってる根拠にはならない
せめてそういう企業がGithubで公開してるものがあるとかなら認めるがそうじゃねえだろ

112:デフォルトの名無しさん
17/11/15 14:16:38.25 MzdtAyc5.net
ちょっと前までのfirefoxをRust使って書けるわけない失敗すると言い張ってからの
この流れは笑える

113:デフォルトの名無しさん
17/11/15 14:21:13.24 FBksKtwj.net
>>108
失敗してるやん
Rustなんかで書き直したせいでアドオン全滅してる

114:デフォルトの名無しさん
17/11/15 14:22:10.55 bBOLEH2G.net
>>107
昔と比べるとだいぶオープンソースな時代にはなったが、
全てがオープンソースで開発されるような時代ではない。
公式の発表を信じずに何を信じろと?
「俺を信じろ」とでも言うつもりか?
「公式」と「お前」どちらのほうが信用度が高いのかまさか君にはわからないのか?

115:デフォルトの名無しさん
17/11/15 14:22:39.30 bBOLEH2G.net
まぁ、けど確かにここに載っているのは社内の一部の物好きな社員が
メンテの必要もないくらい簡単な社内ツールとかを作るのに
利用しているだけのような気はしているんだが、実際はどうなんだろうな?

116:デフォルトの名無しさん
17/11/15 14:25:51.46 FBksKtwj.net
少なくともブラウザから得た個人情報の横流しとステマで生計を立ててる非営利()組織の大本営発表は信じるに値しない

117:デフォルトの名無しさん
17/11/15 14:35:48.33 MzdtAyc5.net
>>109
キミの笑いのセンスには脱帽だよ

118:デフォルトの名無しさん
17/11/15 14:36:17.78 bBOLEH2G.net
>>109
それは設計の段階で従来のアドオンとの互換性の一部を捨てるように仕様変更したからだよ。
firefoxのアドオンは自由度が高すぎるが故に、セキュリティに問題を抱えやすかったし、
アドオン同士が衝突して落ちるとかも結構あったから、そこら辺をChromeと同レベルくらいに制限して、
セキュリティと安定性を取る方向に方針転換した。
仕様が変わってるんだから、Rustで書こうが他の言語で書こうがどっちにしろ従来のアドオンの一部は動かないよ。

119:デフォルトの名無しさん
17/11/15 14:42:32.68 bBOLEH2G.net
>>113
あ、これネタだったの?
気づかずにマジレスしてしまったわ。すまん。

120:デフォルトの名無しさん
17/11/15 14:49:29.35 p5zaPhLE.net
こっちとしちゃ糖質クンに「自分は視野狭窄している馬鹿なんだ」って気付いてもらうんじゃなく
ただどっちが妥当な話をしているのか周りに伝わればいいんだわ。乙。
Redditで、自社の既存のシステムをRustで書き直したよって言う投稿をよく見かける
自分で触った感じでも、プロトタイピングや全く新しいシステム作るときは他の言語でやった方が楽な気がするけど、
試行錯誤もRustでやった方がはやいわってなるのかね?

121:デフォルトの名無しさん
17/11/15 14:49:41.95 FBksKtwj.net
ネタなのは自殺したブラウザの方だろ

122:デフォルトの名無しさん
17/11/15 15:32:16.99 bBOLEH2G.net
>>112
どちらが信用度が高いのか本当に分からなかったようだ。。。
君には呆れを通り越して憐れみを覚えるよ。

123:デフォルトの名無しさん
17/11/15 15:38:56.68 a1L9d6tA.net
そういう大きな話じゃなくて、もっと身近な感じでrust使ってるかどうかを聞きたかったんだけど、ここまで>>101しか出てこないな

124:デフォルトの名無しさん
17/11/15 17:13:53.76 QoaSbxja.net
rustでチェスの対戦サイト(サーバー)作りましたとかないわけ?
goとかscalaではいくつかあるけど(もちろんphpも)

125:デフォルトの名無しさん
17/11/15 18:04:29.51 I7ANqDvy.net
今まで「担当者の趣味でなんとなく」C, Go, Python, Rubyで書かれていたツールをRustで書いて
おー速いやんとニヤニヤしてる段階
>>105
crateのパスは相対

126:デフォルトの名無しさん
17/11/15 18:07:27.47 lnZNl5oY.net
>>121
やっぱ細かく分けてるの?
っていうほど巨大なプロジェクトじゃないかな?

127:デフォルトの名無しさん
17/11/15 18:17:07.13 6qkyb6Qq.net
Rustでコード書くのって意外と楽しいよね
クロージャもスッキリしてるし
そもそもあと実は俺はスネークケース文化が好き
map_or ←この時面がすき
mapOr ←こんな言語は(あるとしたら)嫌い

128:デフォルトの名無しさん
17/11/15 18:58:57.26 JXP4Zmpc.net
ドワンゴがなんか作ってたね

129:デフォルトの名無しさん
17/11/15 21:05:47.07 Kx4c/qA9.net
スクリプト言語を趣味でやってる俺ですが
firefoxの軽さに感動してrustに興味を持ちました
現在ネットでrustについて調べてる最中なんですが
c++の置き換えだとかっていう情報はよく書かれてますけど
実際c++を書いたことの無い自分にはいまいち掴めません
なんか他に特徴的なとこはあるんでしょうか?
マルチプラットフォームのguiアプリとか作ってみたいです

130:デフォルトの名無しさん
17/11/15 21:54:08.10 zsyPe7CY.net
>>125
>なんか他に特徴的なとこはあるんでしょうか?
自分でガシガシ書く向けだよ。C++より綺麗に。JITなんざ頼らねぇ(れねぇ)、GC邪魔(やる余裕がない)って
領域向けに抽象度をある程度保ったまま書ける。メモリ管理にリージョン使うから解放タイミングが予測できるし、
組み込みもベアメタルもいける。nightlyは書式統一されたインラインアセンブラもある。
低レベル全部rustで書いてもいいし、ライブラリだけrustで書いてCから呼び出せばC++不要。
>firefoxの軽さに感動してrustに興味を持ちました
前にも言ったがfx57の速さにrustは関係ない。設計が根本的に変わった影響。
Servoにあるhtmlの並列トークナイズがfxに移植されたらさらに速くなる。
そんで、言語自体は遅いよ。コンパイラもまだ改善途中だし。
標準ライブラリのコードは速度のためにunsafeだらけで、
JIT/GCがある環境みたいにド直球で素直なコード書くもんじゃなくて、
速くなる部分はLLVMの部分だからコンパイラのバックエンドの違いでしかない。
tracing gcないから開放できないメモリがあるのは他と同じ。

131:デフォルトの名無しさん
17/11/15 22:03:43.52 rT1iYiCt.net
>>119
会社で使うコマンドラインツールはほとんどRustで書いてる。
昔はPythonで書いたりしてたけど、使ってるうちにパフォーマンスが問題になったりすることが多くて
後で書き直したりするくらいなら最初からRustでいいや、と。

132:デフォルトの名無しさん
17/11/15 23:13:04.10 bBOLEH2G.net
>>125
コマンドラインツールをRustでってのはときどき聞くんだけど、
GUIのアプリをRustでってのは聞いたことないな。
そもそもRust製のマルチプラットフォーム対応GUIフレームワークってのを聞いたことない。
Rust製のまともなGUIフレームワークとか存在してるの?

133:デフォルトの名無しさん
17/11/16 00:51:52.06 81E2YZma.net
なるほど、コマンドラインツールか。
rust に合ってる領域かもって初めて納得した。

134:デフォルトの名無しさん
17/11/16 02:21:07.10 fZgVNMfR.net
>>128
gnomeは積極的にRustに寄っていってたはず
他は知らん

135:デフォルトの名無しさん
17/11/16 02:27:03.23 fZgVNMfR.net
>>129
pecoとか見てるとコマンドラインツールをカジュアルに作るならgoのが向いてる気もするが……
rustにもrgあるし一概にどっちが優れてるとは言えんが

136:デフォルトの名無しさん
17/11/16 03:12:54


137:.72 ID:fiTPZdVA.net



138:デフォルトの名無しさん
17/11/16 11:39:32.01 W2aOUAlV.net
rustで書いてるosってrudoxだっけ?
あれってlinuxカーネルののrustによるリファクタリングって事でいいの?
l

139:デフォルトの名無しさん
17/11/16 12:32:25.88 Uttk70vk.net
>>133
んなわけねーだろ

140:デフォルトの名無しさん
17/11/16 12:53:49.49 W2aOUAlV.net
>>134
完全な新しいos?
じゃあlinuxにかなうわけねーじゃん。ただの自己満プロジェクトかぁ

141:デフォルトの名無しさん
17/11/16 13:34:34.31 Uttk70vk.net
>>135
OSとしての実用は自己満レベルでも、コードベース資産としては価値あるんじゃねーの?知らんけど
世の中にはいくらでも自己満OSプロジェクトあるんだからそこは許してやれ
あのGNUですらHurdってOSを自己満で書いてんだ

142:デフォルトの名無しさん
17/11/16 13:34:41.95 .net
Rust Essentials - Second Edition
がPacktから出版されましたね

143:デフォルトの名無しさん
17/11/16 17:48:48.97 dSTVIPFJ.net
linixこそ個人のお遊びプロジェクトだったんじゃないのか

144:デフォルトの名無しさん
17/11/16 17:50:56.93 dSTVIPFJ.net
オライリーはどうなってんの?

145:デフォルトの名無しさん
17/11/16 18:55:22.46 Uttk70vk.net
>>139
少なくとも自分はKonozamaくらってる

146:デフォルトの名無しさん
17/11/16 20:07:31.98 v4h2PTyC.net
>>140
発売してないよね?

147:デフォルトの名無しさん
17/11/16 22:51:18.03 a7TN1Oxp.net
>>136
LZ4圧縮とか、シェルとか、Redox OSはサブプロジェクトに結構見るべきものがある
Pijulプロジェクトで開発されたSSHライブラリとかもそうで、副産物がいい味出してる

148:デフォルトの名無しさん
17/11/17 00:27:49.05 oCT+XqQK.net
urxvtをrustで書き直して🙏
alacrittyはなしで🙅

149:デフォルトの名無しさん
17/11/17 01:16:04.93 r4qIw16A.net
>>138
そうね。その頃にはオープンソースなunix osが無かったからみんな喜んだ。でも今はlinuxがあるわけで。
まぁでもマイクロカーネルらしいし
ドライバはlinuxのが使えるとかすれば、化けるのかな?

150:デフォルトの名無しさん
17/11/17 01:29:54.30 AQwbboRb.net
>>144
歴史の知識もOSの知識も無いなら変なこと言わないほうが良い

151:デフォルトの名無しさん
17/11/17 01:36:37.62 pIVssbCG.net
BSD系列全否定ワロタ

152:デフォルトの名無しさん
17/11/17 01:43:43.14 .net
茂みから鉞が跳んでくるぞ~

153:デフォルトの名無しさん
17/11/17 01:49:33.84 3GAWOghK.net
BSDは訴訟がなければな。
あとminixも最初からライセンスが修正BSDだったらな。

154:デフォルトの名無しさん
17/11/17 02:00:54.43 r4qIw16A.net
linuxは未だにcで書かれてるわけだけど、
それがrustで書き直されたとしたらどうなるの?予想として。
メモリ使用量は減る?
バグは減るよね。

155:デフォルトの名無しさん
17/11/17 04:58:41.34 Q8rdVBz+.net
ID:r4qIw16A
かまってちゃん

156:デフォルトの名無しさん
17/11/17 05:02:58.63 n+fIjN+j.net
恐らくバグば減る、メモリ使用量は増える
C言語がサイズ減に全振りしているのをrustは安全側に振ってるからな
だがその前にLinusがブチ切れるだろ間違いない

157:デフォルトの名無しさん
17/11/17 09:41:50.16 p03/6wS8.net
let foo = Foo {
c: f1(),
a: f2(),
b: f3(),
};
let bar = (f1(), f2(), f3());
構造体やタプル構築の時って、式の評価順序はソースに記述されてる順序で確定してるんだっけ?
ここでいうと f1 -> f2 -> f3 で

158:デフォルトの名無しさん
17/11/17 10:10:51.70 j/YEi+T5.net
そもそもgnuの成果物でもなんでもない不自由なコンパイラであるrustcでコード書くことを御大がよしとするわけねーだろっていう
GPLでrustc書き直してから出直してこい

159:デフォルトの名無しさん
17/11/17 11:43:43.45 DHrRs5YV.net
そんなあり得ない話どうでもいい

160:デフォルトの名無しさん
17/11/17 13:35:22.27 Eetf/DNi.net
BSD ← ボスドーって読むのですか?

161:デフォルトの名無しさん
17/11/17 19:53:41.29 RD2my8vU.net
>>131
確かに go でもいいのかもしれんが、rust で作るとしたら、
規模とかランタイム速度要求とか
良いところなんじゃないの?って気はしたよ。
少なくともOSやブラウザをこれで作るって話よりかよっぽど現実的な感じがする。

162:デフォルトの名無しさん
17/11/17 22:23:35.56 n+fIjN+j.net
rustは明らかに大物を矛盾なく作り上げるの向きと思うんだけれどもな
小物なら正直メモリの心配なんかせずに「mallocの後にfree不要と(以下略)」式にOS任せにしても構わんし

163:デフォルトの名無しさん
17/11/18 00:01:05.69 ptgryUw4.net
見解の相違としか言いようがないな。
大物をGCなしで作るとか、よっぽどのプロジェクトじゃないとありえん気がするよ。

164:デフォルトの名無しさん
17/11/18 01:19:21.35 /UyFtFcG.net
linuxをrustで書くとか
rustがcに勝る安全性の部分ではcではバグになりうる部分がrustではバグにならないということはあるだろうけど
移植にしろゼロから書き直すにしろ、これら以外のバグが新たに大量に発生するわけで(現行のcで書かれたものは長い間かけてそれらのバグを1つ1つ潰してきた結果であり)

165:デフォルトの名無しさん
17/11/18 01:51:07.07 Tj1Ciaix.net
mozilla はそれやったんだよな(恐怖)

166:デフォルトの名無しさん
17/11/18 01:59:12.51 ZQLxHiSg.net
>>158
そもそもブラウザこそGC使いたくない大物の代表みたいなもんで、rustはそのために作られたわけで

167:デフォルトの名無しさん
17/11/18 12:58:34.70 TdFdr2wf.net
>>159
そのうちAIを駆使してcからrustに理想的にTranslateする技術ができるよきっと

168:デフォルトの名無しさん
17/11/18 13:32:56.68 Tj1Ciaix.net
AIは置いといて c2rust は同じく妄想した
ふと思ってググったら関数定義を rust で使えるようにするツールが引っ掛かった
c2rust.py
唐突な Python ワロタ

169:デフォルトの名無しさん
17/11/18 15:08:10.48 s0a9MZOf.net
>>158
組み込みなら割と普通。

170:デフォルトの名無しさん
17/11/18 16:08:11.01 9rFYKu0I.net
bindgenというのはある
が、c->rustのトランスパイラは無理だろう。ValidなCでもvalidなRustには自明には移せない

171:デフォルトの名無しさん
17/11/18 17:29:31.19 b75x0sPb.net
libcクレート使えば、見た目が半分CっぽいRustプログラムが書ける。

172:デフォルトの名無しさん
17/11/18 18:50:09.96 ttSwrPbv.net
勉強中だが業務で初めてRust使う事になった
1000行程度のプログラムだけどこれを機会にスキルアップしないとだ

173:デフォルトの名無しさん
17/11/18 19:25:49.39 GOdqC4Co.net
給料良さそう

174:デフォルトの名無しさん
17/11/18 21:18:03.25 huCirX/z.net
業務でとかうらやましい

175:デフォルトの名無しさん
17/11/19 10:39:11.94 t35wRkSN.net
Rustを業務で使った結果、毎週の報告で「コンパイル通らないので修正中です」を繰り返し
全然進捗が出せずに左遷減給からの自主退社コンボをくらう>>167
モジラのステマなんて信じたばっかりにかわいそうにwwwwww

176:デフォルトの名無しさん
17/11/19 12:35:39.34 lEYmgXHF.net
コンパイル通らない、って聞くけど、ソースジェネレーターって無いの?

177:デフォルトの名無しさん
17/11/19 13:30:32.58 gjzb/Bmo.net
新興言語を業務に採用して爆死するパターンはSwiftで既に学んだから、


178: Rustの業務採用は考えられない。



179:デフォルトの名無しさん
17/11/19 13:54:00.95 l33ZkuH7.net
コンパイルも通せないようなバカはお呼びじゃない。

180:デフォルトの名無しさん
17/11/19 14:29:17.14 JSKIwKyh.net
Cで書いたコードがgccやclangできっちりコンパイル通るのに
rustに移植して通らないのはrustc(というかRustという言語)が腐ってるからだろ

181:デフォルトの名無しさん
17/11/19 14:39:52.55 v1Fqqpkv.net
多言語にベタに移植してコンパイル通らないって喚くって、アホそのもののコメント乙

182:デフォルトの名無しさん
17/11/19 14:44:41.47 Iq1MXC0c.net
バグがコンパイル時と実行時のどちらで見つかるかというだけの話なんだがなぁ
CのデバッグよりRustのコンパイル通す方が楽だわ…

183:デフォルトの名無しさん
17/11/19 15:02:25.94 QT7cD2cz.net
>>174
何処から突っ込んでいいのかよく分からないのだが。
まず、君の言い方では「C(gcc or clang)でコンパイルが通ったものをそのまま他言語に
移植したらそれもコンパイルが通るはず(通らない言語は欠陥品)」と言っているように聞こえるんだが、
Cは「弱い静的型付け」の言語なので、Rustどころか「強い静的型付け」のJavaやC#
にさえCをそのまま移植するんじゃコンパイルは通らないぞ。
Java,C#の場合はジェネリックやインターフェースや(出来るだけ使いたくないが)キャストを
使用してコンパイラに対してしっかりと型安全を保証してやらなければコンパイルは通らない。
対して、Cは「弱い静的型付け」なのでコンパイルを通すだけなら場合によってはキャストすら必要なかったりする。
まさか、そのレベルから分かっていないのか?
だとしたらRustの所有権云々以前の問題なのだが。

184:デフォルトの名無しさん
17/11/19 17:16:18.02 PCwXQfC9.net
そのレベルは移植の段階で調整しとるわドアホ
やっぱモジラ信者はRustのコンパイラこそ至高で、それを通せないプログラマの方がクソって論調か
相変わらず判で突いたような理論だな

185:デフォルトの名無しさん
17/11/19 17:18:54.26 PCwXQfC9.net
俺が言ってるのは、別にマルチスレッドで動かすわけでもないプログラムを所有権どうこうで弾いて、
本来正しく動くはずのプログラムがコンパイルエラーになり、つまりプログラミング言語としてはご法度の、
書けないプログラムが存在するってことについて異議を唱えてる

186:デフォルトの名無しさん
17/11/19 17:20:45.77 PCwXQfC9.net
このスレでも何回も言ってるのに未だに理解しないの
本当に工作員って感じだな

187:デフォルトの名無しさん
17/11/19 17:33:10.07 WE8Zr98v.net
本来正しく動くはずのプログラムの例を挙げたら?

188:デフォルトの名無しさん
17/11/19 18:48:30.65 lEYmgXHF.net
>>181
無理だと思うよ。
信者ガーとか言ってるのが居るけど、Codeで示せるなら最初から出してるだろうし。

189:デフォルトの名無しさん
17/11/19 20:31:34.38 PtQzPwdH.net
mozillaが工作してるならこんなところじゃなくてtwitterなどでやるだろうし
工作員連呼してるのは自分自身が他言語の工作員だからでは

190:デフォルトの名無しさん
17/11/19 22:24:37.23 Wp15ODw9.net
C/C++から移植して動かない例か。メンバー間参照(self-borrowing)がある構造体くらいしか思いつかんが、
Vec<T>に対する&T -> インデックス使う
Stringに対する&str -> インデックス使う
Map<K,V>に対する&V -> Entry<K,V>使う
異なるメンバーTに対応する&T -> enum使う
で大体対応できるような気がする

191:デフォルトの名無しさん
17/11/20 00:02:25.61 E35fLroX.net
業務で速度重視でrustとgoの選択肢がある時にどっちを選ぶべきか悩んでしまう
個人的にはrustの方が好きだしパフォーマンスも出るんだろうけど、今後のメンテ(教育コスト含む)とか考えたらgoにすべきなのかなって
今更null安全でも無くmapやfilterも無い言語は…って感じではあるんだけど
グリーンスレッドは嬉しいが

192:デフォルトの名無しさん
17/11/20 00:32:58.09 76vYtb+v.net
目的による
外向きサーバ作るならGoのが学習コスト抑えられて楽にスケールする
Rustとの速度差はネットワーク帯域でつぶれて有意に出ないことが多い
長期間メンテするcmdツールやデータ管理ツール作るならRustの方がかっちりかけるから負債になりにくい
Goは気を抜くと容易にサクラダファミリア化する

193:デフォルトの名無しさん
17/11/20 01:32:59.51 E35fLroX.net
>>186
なるほど
言語としてはrustなんだが、他の人達がついてこれるかが心配だ

194:デフォルトの名無しさん
17/11/20 10:20:40.69 XLZ/FUc4.net
>>187 がRustを導入した結果、コンパイルが通らずにチームの生産性がだだ下がり
連帯責任で左遷、給与減、恨みを持った部下に夜道で襲われる未来がみえるぅー↑

195:デフォルトの名無しさん
17/11/20 10:41:24.04 JFYV8vnq.net
Goはよく知らんけどnull安全もジェネリックもない言語使うくらいならC++でよくね?としか思わない

196:デフォルトの名無しさん
17/11/20 11:21:03.04 E3G43xCO.net
>>189
いやGCあるかないかは重要な要素でしょう。

197:あ
17/11/20 12:39:17.94 tBvw28f4.net
Goは標準ライブラリが本当に標準だし、それ故にクロスコンパイルが楽ってのもあるな。
libcを選ぶなんて、しなくて良い。

198:デフォルトの名無しさん
17/11/20 18:43:04.56 4/lwe8rJ.net
つまりbetterc的な感じでかな。
goはrustよりはちょっとした気持ちでつかえる。
sshクライアントライブラリまで標準で、しかもopensshとかに頼らず全部自前であるとか、
どんだけ再発明しまくってんのとか。

199:デフォルトの名無しさん
17/11/20 18:46:19.09 kx54kaAZ.net
次スレからワッチョイ有効にしようぜ
同一人物だと思うけどいい加減ウザい

200:デフォルトの名無しさん
17/11/20 21:33:56.64 PEMZL+h7.net
賛成

201:あ
17/11/20 23:44:16.41 tBvw28f4.net
ワッチョイしたらそんな変わる?
あんまり変わらん気もするが。

202:デフォルトの名無しさん
17/11/20 23:49:47.66 65TnaXvU.net
あるスレは罵倒が激減してたなー

203:デフォルトの名無しさん
17/11/21 07:50:43.65 nLoZ7hhk.net
アカヒを遮断したら、差別書き込みが激減してたからね。

204:デフォルトの名無しさん
17/11/21 08:39:58.18 bKAvrS9R.net
発言者が区別つくし、自演も面倒臭くなるからいいんじゃない?

205:デフォルトの名無しさん
17/11/21 09:21:54.95 9TNiXSb6.net
NG出来ないのはいやだ

206:あ
17/11/21 12:42:33.16 QsmG8G9Z.net
なるほど。メリット多いのね。

207:デフォルトの名無しさん
17/11/21 13:01:12.33 OOffmQFA.net
ちょっと違う
「あらゆる」書き込みが減る
ワッチョイだとそもそも書き込まないという人はそれなりにいる
都合よく自分の嫌なものだけが減るわけではない
そこは認識して受け入れないといかんよ
あとワッチョイを途中でやめることは実質不可能なのでそれも覚悟すること

208:デフォルトの名無しさん
17/11/21 13:52:32.34 49KeK6o/.net
ワッチョイは自演にはそんなに効果はないと思う
日替わりのIDに代わって日をまたいで同一IPアドレスの奴をNGしやすくなるだけだと思う

209:デフォルトの名無しさん
17/11/21 14:05:16.20 6lkYtARd.net
そういや前にも書いたけど、2ch関連のクレート有るね

210:デフォルトの名無しさん
17/11/21 15:20:46.73 J5Wiskwy.net
カジュアルな荒らしは減る

211:デフォルトの名無しさん
17/11/21 15:58:50.23 OOffmQFA.net
>>204
カジュアルな書き込みが全部減るんだよ
普通の雑談、普通の質問、普通の回答、普通の自演、普通の荒らし、普通の無自覚アスペ、全部だいたい均等に減る
残るのはワッチョイ出ても構わないような本気の雑談、本気の質問、本気の回答、本気の自演、そして本気の荒らしと本気の無自覚アスペ
だからご利益的には各自手元でどうにかする分類タグとしての>>202だね、これ以外を喧伝してるのはなんもわかってねえ
で、わかったうえでの導入はご自由に

212:デフォルトの名無しさん
17/11/21 16:06:33.77 dr4UMioZ.net
ID:OOffmQFA
必死だな。

213:デフォルトの名無しさん
17/11/21 16:12:36.25 OOffmQFA.net
仮に過疎ったりうまくいかなくなったりして「ワッチョイやめよう」という話になったとしても>>206のように言われて元に戻せない
不可逆なので覚悟だけはしておいておくれ

214:デフォルトの名無しさん
17/11/21 17:01:01.88 4sVotJ+F.net
荒らしが減るほうが良い

215:デフォルトの名無しさん
17/11/21 17:26:31.56 NnekayZo.net
ワッチョイ&IPアドレス表示で問題ないと思うよ
IPアドレス表示されて困ることは特に無いし
自演対策には効果ないだろうけどIPアドレス代わらない奴でウザい奴はアボーンできるし

216:デフォルトの名無しさん
17/11/21 18:15:30.73 /EAu6a+F.net
ボローチェッカさんに怒られてばっかりでめげそう(´・ω・`)

217:デフォルトの名無しさん
17/11/21 18:23:17.22 Yd3TZj7r.net
メンターがおればなあとよく思う
Option::as_mutとOption::as_refの存在に長いこと気付かないでいたせいで、自分の設計が悪いのか随分悩んだ

218:デフォルトの名無しさん
17/11/21 20:03:12.33 2amYig3U.net
IP表示は抵抗ある
ワッチョイ導入はして欲しいけど

219:デフォルトの名無しさん
17/11/21 20:20:19.61 .net
>>210
君に期待してるから叱るんだよ
本当に君を諦めたら適当にOK出して実行時に事故らせるよ

220:デフォルトの名無しさん
17/11/21 20:26:40.82 eepYX3vq.net
>>210
一般論だけど
最初のうちは小さく作ってみるといいよ
一挙にいっぱいやろうとすると大変よ

221:あ
17/11/21 20:37:54.37 3Ux+/vWv.net
カジュアルな書き込みって漠然としてるな。
「このスレは○○だから書き込み辞めよう」って時点で既にカジュアルではない気がするけど。
そんな程度で書き込みを辞める奴の情報なんてしれてるだろ。
本気の質問・雑談で良いじゃないの。

222:デフォルトの名無しさん
17/11/21 21:13:02.29 M1nLzBxS.net
>>215
いやーほんとRustプログラマの選民思想ここに極まれりって感じだな
Rustのコンパイラは選ばれし者しか通せない
通せない奴はプログラマとして失格、発言権など無い
モジラらしいわ

223:デフォルトの名無しさん
17/11/21 21:50:26.14 34EnqYlD.net
「選民思想だ! 自分は排斥されてるんだ!」って完全に病人だなコイツ

224:デフォルトの名無しさん
17/11/21 21:58:31.22 kk07Tlre.net
モジラ|Mozilla|信者|工作員|感じだな

225:あ
17/11/21 22:03:12.06 3Ux+/vWv.net
>>216
どういう事?
コンパイルに関して言えば、コンパイラが文句言うように直せばコンパイルできるし、何より安全じゃん。
どっちかと言うと、選ばれしものしかまとまなソースが書けないCよりも一般寄りなくらいかと。
別にコンパイル通せなくても書き込みゃいいじゃん。これはゴミだ、って。主義主張は自由かと。
通せないやつには書き込む権利はない、と俺が言ってるように聞こえるならば、
つまり自分が「書き込む権利がないと言われてると思い込んでる、通せない奴」だって事?

226:デフォルトの名無しさん
17/11/21 22:26:37.39 M1nLzBxS.net
>>219
何度もこれは言語未満のゴミだって根拠と共に書き込んでるのに
コンパイラ通せない奴の僻みだのなんだのいってキチガイ扱いしたのはてめえらじゃねえか

227:デフォルトの名無しさん
17/11/21 22:27:51.07 zhx3LFfP.net
むしろ守ってりゃ他はどうでもいいみたいな馬鹿が増える印象
こういう看板みて、禁止されてなければやっていいんだと勘違いするバカみたいに。
URLリンク(www.google.co.jp)


228:search?q=%E5%85%AC%E5%9C%92+%E9%81%8E%E5%89%B0%E3%81%AA%E6%B3%A8%E6%84%8F%E6%9B%B8%E3%81%8D&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjmyoeF4s_XAhXCnpQKHdoiCEIQ_AUICigB&biw=1822&bih=903#imgrc=WVv8avT_bPk8NM:



229:あ
17/11/21 22:47:38.52 3Ux+/vWv.net
>>220
どういう事?つまりコンパイル通せないって事?

230:デフォルトの名無しさん
17/11/22 00:32:52.98 ypfVoZmJ.net
イミフなdisリって単なる背乗りだから役立たずなんだがなあ。
じゃあどういう言語なら良いの?って聞くとダンマリw
シャドーとか所有権で挫折したのかな?
GC無しとか、動的っぽい使い方が出来るようにする為のもんだって分かってれば、あーこういうアプローチも有りなんだなと思えるけどね。

231:デフォルトの名無しさん
17/11/22 07:43:02.63 h8Su9zOg.net
>>220
キチガイ扱いしたのは事実だが、「僻み」といったことは一度もないぞ。
暇だったし、過去レス検索して確認したから間違いない。
被害妄想甚だしいぞ。
第一、どこがコンパイル通せないかを具体的に書いてくれたら指摘してやるって言ってるだろ。
お前「Cを移植したらコンパイルが通らん」としか言わねえんだもん。
そんな漠然とした情報じゃ指摘しようがねぇよ。

232:あ
17/11/22 08:39:28.41 MjBhGus4.net
僻みでも何でもなく、そこがいいところなのになぁ、だと思うけどね。俺も。
コンパイルできてたCも、多分misra案件だとまず静的解析ではねられるか上司にしこたま怒られる類だと思うよ。

233:デフォルトの名無しさん
17/11/22 11:27:55.39 ZStLkVDO.net
rustってASTにアクセスできる仕組みってあったりするの?

234:デフォルトの名無しさん
17/11/22 11:41:33.74 h8Su9zOg.net
>>226
何がしたいの?
nightly なら syntax クレートとか使えばできると思う。
使ったことないからよく分からんけど。
stableじゃ出来ないんじゃないかな?たぶん。。。
誰かもっと詳しい人いる?

235:デフォルトの名無しさん
17/11/22 11:59:25.37 ypfVoZmJ.net
>>220
で、どういう言語なら良いの?
またダンマリか、話題逸し?w

236:デフォルトの名無しさん
17/11/22 13:10:05.98 DRQ8kz+8.net
一般に普及した言語の仕事でクソ仕様にひどい目にあって
アンチになるというのなら理解できるが普及すらかまだわからない
新興言語でここまでアンチ活動する情熱の根源はどこだろう

237:デフォルトの名無しさん
17/11/22 14:44:44.34 frJPN6Uq.net
リアルで実害を被ると言及することすら嫌になるよ
粘着ができるのも個人的に気に食わないの範囲に留まってるからさ

238:デフォルトの名無しさん
17/11/22 14:48:04.93 /F1hTabp.net
同じ事言ってるだけでかまってもらえるからだろ

239:デフォルトの名無しさん
17/11/22 15:18:26.95 h8Su9zOg.net
>>231
キチガイ扱いされてでもかまってもらいたいとか、とんだドMだな。
それはむしろキチガイ扱いされていることを喜んでいるという認識でよろしいか?

240:デフォルトの名無しさん
17/11/23 03:56:47.06 khAm3OAp.net
一つの構造体の中にVecの実態とそのスライスを持たせるような事って出来ないのかな
バイト列を解析して、元データの実態と意味毎に分けたスライスを持たせたいなって思ったんだけど構造体作る時に同時に渡そうとしたら怒られる
とりあえず実態だけ持たせて特定の場所のスライスを返却するメソッドを持たせたけど設計的にこれでいいのかな?

241:デフォルトの名無しさん
17/11/23 09:03:18.56 XBDj7YCq.net
>>229
普及した言語disると反論も大きいからねぇ。
かと言って余りにマイナー言語じやあ、


242:disる場さえない。 なので自然に、中間の位置に有る言語に擦り寄ってくる。 昆虫の走光性みたいな知能。



243:デフォルトの名無しさん
17/11/23 10:41:45.82 e8aKLB85.net
>>234
じゃあ、Goのほうに行ってくれればいいのに。

244:デフォルトの名無しさん
17/11/23 14:48:36.52 8FY51a0F.net
この言語やっぱ参照をもつのは愚策だな
Lifetimeでインタフェース複雑になるし、ボローチェッカーが無理ゲーになる
この言語用の設計しないと

245:デフォルトの名無しさん
17/11/23 14:51:03.97 fSfOEtsA.net
>>233 スライスも参照だからself-referential structになっちゃうからRustで素直には書けんよね。インデックスが今んところベストだと思うよ
その例だとバイト列に直接アクセスしない想定だと思うけど、個人的には解析結果は元データに従属したものと考えた方がスッキリするような気がする
&strに従属するCharIndices<'a>みたいな

246:デフォルトの名無しさん
17/11/23 16:24:37.64 ZTbvaPlF.net
言語をdisる意味ってマジでわかんないよな。
素直に自分の好みの言語スレでマンセー言ってるほうが建設的。

247:デフォルトの名無しさん
17/11/24 01:49:02.02 gTD5BNH2.net
>>237
ありがと
やっぱり素直には出来ないよね
>>236 も書いてるけど、rustに適した設計をする必要がある感じだね
元々vm系言語やスクリプトばかりだったけど、rust始めてからスタックやヒープ、メモリコピーの発生とか意識するようになって今後の自分の為にもなってそうだ

248:デフォルトの名無しさん
17/11/24 14:20:50.17 3aMUpzGJ.net
Announcing Rust 1.22 (and 1.22.1)
URLリンク(blog.rust-lang.org)
try演算子がOptionにも対応したのが目玉か。
マイナーアップデートは mac の High Sierra 用。

249:デフォルトの名無しさん
17/11/24 18:14:00.14 YCelFDj4.net
1.RustからHTMLレンダリングエンジンを使いたい
  HTML&CSS等をレンダリングしてビットマップを得たい
2.HTMLレンダリングエンジンの動作をカスタマイズしたい
  不要な機能 JavaScript、ネットワークアクセス、audio or videoタグなど
  改変する機能 CSS等にプロパティを追加して任意の動作をさせる、画像等へ任意のフィルタを適用など
候補はBlink、Gecko、Servoあたりを考えていますがRustから使うならやはりServo?
いずれにしろ組み込んだ上でさらにカスタマイズするような資料は見つけられない・・・

250:デフォルトの名無しさん
17/11/24 18:25:01.95 jGATcgg1.net
>>241
そもそも何をしたいのか

251:デフォルトの名無しさん
17/11/24 19:14:48.32 YCelFDj4.net
>>242
カスタマイズできるラスタライザーが欲しい
日本語が使えて画像を挿入できて線を引いたり出来るもの
入力はHTML以外にPDFやPostScriptなども考えたけどジェネレートや
レンダリング、デバッグを考えるとHTMLがお手軽かなと・・・
今考えているフローはこんな感じ
別ツール→言語(出力結果を制御するメタデータ付き)→ラスタライザー→ビットマップ+α

252:デフォルトの名無しさん
17/11/24 19:53:35.95 FoN8LV5Y.net
あー分かった
ノベルゲームだろ?

253:デフォルトの名無しさん
17/11/24 21:33:57.00 Vllmf8cf.net
ノベルゲームだったらスクリプトやマルチメディア系のタグを殺す意味が判らない

254:デフォルトの名無しさん
17/11/24 22:15:49.83 bWSaVEO9.net
>>243 librsvgでSVGをいじくり回すんじゃダメ?
・Rustバインディング(rsvg-rs)あり
・CSS,XSLT,DOM操作で加工可能

255:243
17/11/25 01:18:11.42 P27kKgvI.net
>>246
ありがとう。SVGって文字を扱えるんだっけ・・・って調べてみたら扱えるみたいですね
行けそうな気がしますがGPL/LGPL系のライセンスは使えるライブラリを制限するので避けたいです
C++だけどsvgrenとか?情報少なすぎてちゃんと動くのかすら不明。日本語フォントとか大丈夫なのだろうか
CでラップしてさらにRustでラップするようなのかな

256:デフォルトの名無しさん
17/11/25 05:40:17.26 lbdvAXfn.net
Javaも最初の頃はマトモに書いてもコンパイル通らなかったこといくらでもあったもんな。

257:デフォルトの名無しさん
17/11/25 12:29:42.95 r7AGpeaJ.net
>>215
本気の荒らしと本気の自演と本気の無自覚アスペはいいのか…?
自分に都合がよいものだけが都合よく残るって都合よく考えるなって言われてるんだろ

258:デフォルトの名無しさん
17/11/25 13:02:12.25 kotn+Cy/.net
終わった話題に粘着する人キター

259:デフォルトの名無しさん
17/11/25 13:14:26.95 lbdvAXfn.net
RustでGUIってイケてる?っていうか、GUIライブラリ多すぎるだろ・・、
GtkとQtメインでやってるけど、JavaFXもいいし、Pythonなんてバインディング沢山あるし、
Rustなんてやりだしたら、もうキリがないよ・・・

260:デフォルトの名無しさん
17/11/25 13:15:21.53 lbdvAXfn.net
もうどれか一つでGUI決めてくれねえかな・・。スゲエ、面倒。

261:デフォルトの名無しさん
17/11/25 13:19:24.38 ZL0yjpO8.net
おじいちゃん、GUIはブラウザってきまったでしょ?

262:デフォルトの名無しさん
17/11/25 13:39:30.15 alyoZhJV.net
GUIはElectronみたいな方向に行ったほうがいいのかね

263:デフォルトの名無しさん
17/11/25 13:42:04.43 kotn+Cy/.net
Blink を Servo で置き換えた Selectron 来い

264:デフォルトの名無しさん
17/11/25 14:09:00.72 OgtFvRib.net
>>238
バカが調子に乗って新しい言語使って書き散らしたコードをメンテする経験をすればわかるようになるよ。

265:デフォルトの名無しさん
17/11/25 14:37:28.91 mxSpQEHX.net
言語じゃなくてそのバカをdisれよw

266:デフォルトの名無しさん
17/11/25 14:41:23.39 P27kKgvI.net
個人的に検討するGUIフレームワーク
簡単な奴→MS HTAやElectronなど。Webで使われている技術で実装できる
凝った奴→wxWidgets。高機能かつ高速、大抵の物は作れるが罠もある。もしくはAPI直叩き
昔結構悩んだけど結局上記あたりに落ち着いた。当時検討した物
GTK→LGPLウザイ。パフォーマンスが良くない(最近は良くなった?)
Tk→低機能で作れない物がある。パフォーマンスが良くない
Qt→LGPLウザイ。パフォーマンスが良くない
JavaFX→パフォーマンスは悪くないがJREの初期化(≒起動)に時間がかかる
>>256
バカに無計画にコードを書かせているバカが問題なのであって言語が悪いわけではないだろう

267:あ
17/11/25 14:57:49.91 UfRnLBpA.net
>>249
良いだろ。というか、それらを止めるのは現実的な方法では不可能。イエスマンを集めて楽しくワイワイ()になるぞ。
記名制のフォーラムでも本気の荒らしや本気のアスペや本気の無自覚は幾らでも居たんだから。

268:デフォルトの名無しさん
17/11/25 17:24:23.29 oLmjygAJ.net
hyperってシングルスレッドなんなね
ベンチマークも結果がバラバラでよう分からん

269:デフォルトの名無しさん
17/11/25 21:02:37.96 OgtFvRib.net
>>258
まあそうなんだが、
言語によって弾けるとする linus の意見には賛同するところはある。

270:デフォルトの名無しさん
17/11/25 21:09:22.03 3zoUsuFj.net
>>256
そういうやつって言語関係なく台無しにしてるんじゃね?

271:デフォルトの名無しさん
17/11/25 21:22:20.34 LOgLWN1+.net
>>262
確かに、そういう奴ってどの言語使っても大体はクソコードを書くだろうな。
ただし、ベストプラクティスを教えてくれるやつがいるかどうかで差はあると思う。
新興言語はベストプラクティスを教えてくれる奴が極端に少ないから、余計にひどくなる。
対して、普及している言語は周りにベストプラクティスを教えてくれる人がいれば
バカでもある程度はマシなコードを書く(書くことを強制される)んじゃないかな。

272:デフォルトの名無しさん
17/11/25 21:32:32.35 OgtFvRib.net
>>262
関係ないんだが
「関係ない」ということを理解せずに無駄に新しい言語推しで
現場嵐してくることが問題。まずはてめーのコードを直せと。

273:デフォルトの名無しさん
17/11/25 21:34:35.12 WRH8mdq5.net
そのバカと言語disに走るID:OgtFvRibは同レベルだよ。

274:デフォルトの名無しさん
17/11/25 23:18:19.74 3zoUsuFj.net
>>265
単語の断片に反応してるだけの思い付き厨だろうな。

275:デフォルトの名無しさん
17/11/26 00:38:40.95 FoFKguj9.net
>>264
それって人事が無能なだけじゃあ。まぁ日本にそういう会社は多いんだけどな

276:デフォルトの名無しさん
17/11/26 01:44:59.31 prdTxomD.net
いうほど言語disに走ってる訳ではないけどね。
ただ言語disに走る気持ちは理解できるってこと。
他の言語disパターンとしては単純に自分があんまり知らんから
理解する時間の節約のための dis かな。

277:デフォルトの名無しさん
17/11/26 02:00:15.38 zvEdo3BX.net
rustは組み込み向けの新言語になると思ったけど、全然流行らんな
早くC++から脱したいのに

278:デフォルトの名無しさん
17/11/26 02:37:39.20 8lbYkPLC.net
昔の一部の組み込み系では製品の安定を求めるために
コンパイラのバージョンアップすら信用しない(=古いバージョンを使用し続ける)ことがあったなー

279:デフォルトの名無しさん
17/11/26 02:50:50.14 FcDi9KjV.net
『"(Rustが売りにしてるような部分に関して)良いコード"を書きたいと思っているh人』にとっては素晴らしい言語となる可能性の高い言語がRust
『"良いコード"の定義が違う人』にとっては
『"良いコード"を書きたいと思っているわけではない人』にとっては

280:デフォルトの名無しさん
17/11/26 02:52:44.07 .net
Rustがコケると得するのは誰か

281:デフォルトの名無しさん
17/11/26 03:23:13.42 FoFKguj9.net
>>269
目的より手段を優先する日本じゃ無理だろw
どうしてもやりたいなら自分で立ち上がるしかないんじゃないか

282:デフォルトの名無しさん
17/11/26 03:57:56.67 2SXqucAT.net
>>273
rustが使いたいからその仕事を立ち上げるって明らかに手段と目的が入れ替わってますよね

283:デフォルトの名無しさん
17/11/26 09:03:05.51 d0SJzNDY.net
>>272
世界中のプログラマ
モジラのクソ提灯で言語未満の自称言語がひとつ減る訳だから

284:デフォルトの名無しさん
17/11/26 09:09:55.82 4gwTKbSY.net
この糖質「提灯」って言葉に執着してるね。

285:デフォルトの名無しさん
17/11/26 11:03:05.21 2p4Fc6MR.net
>>276
執着というより単に語彙力がないだけかと。
コイツいつも大体同じようなことしか言ってないよ。

286:デフォルトの名無しさん
17/11/26 11:11:18.98 d1Efc0fJ.net
>>263
ガウディ本とかで計算モデルを理解してれば、慣れてるという理由で合わない用途に無理矢理押し込もうとしないんだろうけどね。

287:デフォルトの名無しさん
17/11/26 11:35:06.02 chAORxhD.net
当人は必死だけどすっかり珍獣扱い

288:デフォルトの名無しさん
17/11/26 16:10:47.30 F1AvYoB1.net
少なくともswiftに採用しようとしてる機能を先行実装しているだけでも価値ある

289:デフォルトの名無しさん
17/11/26 22:44:13.85 mC/sVuBh.net
Rustが成功したから真似されたんじゃw
Apple信者さすがの言い草

290:デフォルトの名無しさん
17/11/26 22:54:59.36 hn9uvYDF.net
>>281
成功?成功ってなんだっけ?

291:デフォルトの名無しさん
17/11/26 23:15:44.20 4gwTKbSY.net
Swift の仕様変更と比べると、Rust のアップデートはかなり大人しいよな。

292:デフォルトの名無しさん
17/11/26 23:36:42.57 BDpjXZu3.net
>>282
Rustのメモリ管理の仕組みが破綻してないことを証明しただろ!
しかも実務にも耐えてる
これが成功でないわけがない

293:デフォルトの名無しさん
17/11/27 01:38:36.80 A6Q33Aj/.net
>>284
循環グラフとか動的計画法とか書けない言語のどこが破綻がないのかいってみろ工作員

294:デフォルトの名無しさん
17/11/27 01:55:07.26 .net
RustでDPできないの?

295:デフォルトの名無しさん
17/11/27 02:01:44.73 Kmvld91s.net
出来ない人がいるだけ

296:デフォルトの名無しさん
17/11/27 07:36:56.24 30J1+TRs.net
簡単にwasmコンパイルできる環境が整ってきたな
URLリンク(twitter.com)
今、試したけど、Windowsでも動いた。
cargo-wa は動かんかったけど。

297:デフォルトの名無しさん
17/11/27 16:32:30.04 UGzoAGct.net
このエラーメッセージ、表示されるときと(当該箇所の修正をしていないのに)も関わらず表示されないときがある
Why?
error[E0605]: non-primitive cast: `{integer}` as `f64`
= note: an `as` expression can only be used to convert between primitive typ
es. Consider using the `From` trait

このエラーメッセージが表示されるのは
このエラーメッセージの示す箇所と全然無縁な箇所でコンパイルエラーが出たときに同時に表示される
そしてその他所であるコンパイルエラーを解消するとこのエラーメッセージも同時に消える

298:デフォルトの名無しさん
17/11/27 22:23:59.13 0avMxfTz.net
言語構文とツーリングを改善したRust 1.21
URLリンク(www.infoq.com)

「Rust 1.22」リリース
2017年11月27日17:00
URLリンク(mag.osdn.jp)

299:デフォルトの名無しさん
17/11/27 22:38:51.64 zgUQvI9i.net
>>270
実際、g++ なんかはバージョン違うと相当挙動違うけどね。

300:デフォルトの名無しさん
17/11/28 01:05:16.27 oL6iYiK7.net
>>289 エラー時には情報足りなくてusize等に推論してるから、かなあ
構文チェック -> 型推論&チェック -> ボローチェッカーって順番でエラー出してる感じだけど、
関係無い場所でのエラーのせいでas f64してるローカル変数の型推論が不十分な可能性がある
型推論は重い処理だから何らかの最適化のせいでエラー時の挙動が分からないのではないか

301:デフォルトの名無しさん
17/11/28 01:05:23.35 YEKXo1x2.net
Rustでイミュータブルに拘る人は何なの?ミュータブル使えよ

302:デフォルトの名無しさん
17/11/28 01:26:37.66 9rdMMleK.net
ミュータブルなんて怖いもの使えないよ~><

303:デフォルトの名無しさん
17/11/28 01:38:14.99 YEKXo1x2.net
ミュータブルにする必要のない箇所をイミュータブルにする
基本はミュータブルで使え、ミュータブルしてなかったらコンパイラが教えてくれる、そのときイミュータブルに変更すればいい

304:デフォルトの名無しさん
17/11/28 02:15:45.91 OnNJR7WO.net
ID:YEKXo1x2
完全に頭おかしいな

305:デフォルトの名無しさん
17/11/28 05:26:38.97 9EzjspMa.net
Rustでイミュータブルに拘るのは、TypeScriptで型付けることに拘るようなもん

306:デフォルトの名無しさん
17/11/28 06:36:09.88 oe1VgQrD.net
いミューダブルって、Cellの話をしているの?

307:デフォルトの名無しさん
17/11/28 06:49:49.21 WfYnw+8u.net
最近勉強し始めたんだけど、デフォでイミュータブルなのに思いのほかmutキーワード使う局面が多くて面食らってる。

308:デフォルトの名無しさん
17/11/28 06:56:41.60 9EzjspMa.net
イミュータブルに拘ると、Scalaとかでもそうだが、コピーだらけになる
コピーを恐れてるとイミュータブルを徹底できないよ

309:デフォルトの名無しさん
17/11/28 06:59:54.84 bNHGW3XK.net
コピーってmut並みに最適化してくれんの?

310:デフォルトの名無しさん
17/11/28 07:35:10.58 oe1VgQrD.net
あ、そういうこと。むりやりイミュータブルにする人たちがいるのか

311:デフォルトの名無しさん
17/11/28 09:28:24.80 L9vMnZgT.net
静的型付け初めてなんだけどいきなりRustは敷居高いだろうか

312:デフォルトの名無しさん
17/11/28 10:02:32.22 hv4LFVGU.net
>>300
> イミュータブルに拘ると、コピーだらけになる
> コピーを恐れてるとイミュータブルを徹底できない
例出してみ

313:デフォルトの名無しさん
17/11/28 12:38:41.40 Q+QzpY2X.net
イミュータブルとかメモリを富豪的に使うだけで性能はなんら上がらない、いかにもお偉いさんが机の上だけで考えたクソ手法だろ
なんでFortranやCが現役なのか考えたこともないやつがイミュータブルをもてはやす

314:デフォルトの名無しさん
17/11/28 12:59:41.96 ZfJDlsQ3.net
メモリが富豪的って、それお前の設計が悪いだけやで

315:デフォルトの名無しさん
17/11/28 13:02:27.70 318e3gj2.net
それは言い過ぎだろ
なんでもイミュータブルにするべきとは思ってないが、
並列性が必要なプログラムではイミュータブルは重要視しているよ
並列性が性能に直結しない(難しい)のは残念な話だけど……

316:デフォルトの名無しさん
17/11/28 13:47:27.77 Q+QzpY2X.net
>>306
値変えないならコピーするしかないだろ。それが富豪的でなくてなんなんだ?
>>307
並列計算で必要なのはイミュータビリティじゃなくて、変数スコープ分離と外部依存性の無いアルゴリズムだ
大方MPIすら使ったことないんだろうが、
共有リソースにアクセスしなきゃいけない並列プログラム組んでる時点で
設計が破綻してるとみなせると思うがそこんとこどう考える?

317:デフォルトの名無しさん
17/11/28 14:26:25.75 iQnRQ46Kx
実際には、中卒でも、普通に、戒律壊せるやつがうろついてることを、まず認めろ

318:デフォルトの名無しさん
17/11/28 14:14:02.57 hv4LFVGU.net
このバカ、コンパイラが良きに計らうってことを知らんのか?

319:デフォルトの名無しさん
17/11/28 14:27:41.71 iQnRQ46Kx
いらない仕事するな

320:デフォルトの名無しさん
17/11/28 14:28:34.63 iQnRQ46Kx
バカと、優秀の二元論から解放されろ

321:デフォルトの名無しさん
17/11/28 14:36:10.62 iQnRQ46Kx
大人になると、rustがダメなんだ、と頭ごなしに言ってみたくなるものだなぁ

322:デフォルトの名無しさん
17/11/28 14:26:19.19 GpBjXyhn.net
>>292
thx
なるほど、コンパイル途中でエラーすると一部の推論に失敗してしまうのか

323:デフォルトの名無しさん
17/11/28 14:42:06.12 LCKhcLzq.net
const に異常にこだわるくせに異常に長い関数書く馬鹿は見たことあるな。
その前に関数切り出せと。
たぶん Rust が一般に広まるとボローイングルールをまともに理解できなくて
コンパイルできないから関数に切り出さないバカが増えると思われる。

324:デフォルトの名無しさん
17/11/28 15:17:40.57 .net
イミュータブルにすることでコンパイラによる最適化の余地が増えるんでないの?
ミュータブル派とイミュータブル派の宗教戦争勃発なの?

325:デフォルトの名無しさん
17/11/28 15:25:32.16 Q+QzpY2X.net
コンパイラが善きに計らうって、
つまりconstついてた(mut非指定の)変数がレジスタ割り当ての結果変更され得る最適化が起こるってことか?
さすかにそんな最適化は聞いたこと無いがソースあるのか?
即値展開ならわからんでもないが、それと並列は関係ないし

326:デフォルトの名無しさん
17/11/28 16:00:32.21 lii/QdBe.net
アマゾンでオライ�


327:梶[のProgramming Rust出てるのな アーリー版じゃ無い完全版かな? どうでも良いけど蟹座の俺が心惹かれる表紙



328:デフォルトの名無しさん
17/11/28 16:21:14.75 318e3gj2.net
>>308
「使ったことない」って人を判断したがるのは使ったことを自慢したいから?
ある数学上の問題を高速に解くために 2000年ぐらいにMPI を数ヶ月触ったことある程度で
以降は関わってないけど、それはなんか関係あるのか?
設計が破綻しているかどうかは問題によるだろ
どんなに考えても共有リソースにアクセスしなきゃいけない並列プログラムなんて山ほどある
共有リソースへのアクセス削減なんてみんな取り組んでる
そのための一ツールとしてイミュータビリティは重要な概念だろJK
> 並列計算で必要なのはイミュータビリティじゃなくて、変数スコープ分離と外部依存性の無いアルゴリズムだ
「重要視」と言ってるのに「必要」と解釈するのか……
変数スコープ分離という用語は知らん

329:デフォルトの名無しさん
17/11/28 18:02:39.24 wSmX/jVF.net
>>318
kindle版の話か
紙版を注文しちゃってるんだが

330:デフォルトの名無しさん
17/11/28 18:17:27.07 oL6iYiK7.net
ガーガー言うほど文句が出るもんでも、全力擁護すべきもんでもないと思うがね>デフォルトでimmutable
Haskellほどやり方が変わるわけでもない、C/C++のconstより明快、letとvarで分けるほど使い心地が違うものにはならない、
URLリンク(rust-lang-ja.github.io)
↑にあるようなBoxを使って大きい構造体を関数に渡すのはRustじゃ悪手ってとこだけ知ってればいい

331:デフォルトの名無しさん
17/11/28 18:18:12.38 Q+QzpY2X.net
>>319
MPIは不変性は並列化に必ずしも必要じゃないって話の例に出しただけだから、
さわった上で不変性が必要って主張するならまあそうなんだろう
データを不変にして触るノードの分だけコピーすりゃそりゃデータ競合は起きないだろうが、
その分ノードへの転送量だってかかるし、メモリも食う
だから富豪的で、額面上の並列度は上がっても性能には寄与しないと言ってる
俺が知らないだけでもっと良い最適化が不変変数にかかるなら完全に俺が無知晒したでめでたしなんだが

332:デフォルトの名無しさん
17/11/28 20:36:19.23 nHLuJ5vk.net
業務のDBとかででっかいBeanやテーブルさわってるとImmutableこだわると死ぬ気がする
ライブラリレベルだとImmutableすごいよさそうなんだが

333:デフォルトの名無しさん
17/11/28 20:40:51.18 7DSslbhb.net
immutableがいいのはソースの可読性が高まるのと、マルチスレッド化したときにリソースアクセスに問題ないのが保証できることでしょう。バグらなない自信があるなら効率を求めてmutableにするがよろし。

334:デフォルトの名無しさん
17/11/28 21:07:28.65 LCKhcLzq.net
mut にするのもそこまで困難な言語設定ってわけでもないし、
デフォルトが immutable でもいいんじゃねとは思う。
まあ大規模に作ったことはないからその際の困難はわからんけど、そこまで問題にならんのでは?

335:デフォルトの名無しさん
17/11/28 21:37:26.40 RsLfLMGU.net
let mutって書くのめんどくせーしvar

336:デフォルトの名無しさん
17/11/28 21:37:34.07 RsLfLMGU.net
追加してほしい

337:デフォルトの名無しさん
17/11/28 22:58:48.40 91xy27Pm.net
mutにするのをめんどくさくするというのが
let mut構文を採用した理由なので
varはよっぽど何かない限り入らないと思う

338:デフォルトの名無しさん
17/11/29 00:16:55.36 ZRmpNQ2i.net
Haskellのイミュータブルは永続データ構造?参照の使いまわし?
Rustのイミュータブルは?コピーしないと使いまわせない?

339:デフォルトの名無しさん
17/11/29 00:58:38.85 RLTBNHC0.net
wasmに出力するのって、依存ライブラリも全部pure Rustじゃないとダメなの?

340:デフォルトの名無しさん
17/11/29 03


341::28:58.51 ID:wq9Dycsx.net



342:デフォルトの名無しさん
17/11/29 12:04:01.36 TbD0G3jq.net
try catchみたいな構文検討されていたような

343:デフォルトの名無しさん
17/11/29 19:35:23.16 PZaIONIl.net
Rustを叩いている奴ってミラーレスカメラを叩いている一眼レフカメラ信奉者と同類に見える
大抵の場合は合理的な方が最終的に選択されるけどな

344:デフォルトの名無しさん
17/11/29 20:42:06.07 FCGUeU3g.net
mutable変数扱うなバーカ、というメッセージだと思ってる
必要なら再宣言させるようにして人為バグを減らそうという魂胆は分かるぞ(Javaのfinal教徒感

345:デフォルトの名無しさん
17/11/29 20:50:40.91 wq9Dycsx.net
BufReaderとかReadするStringとかにもmut必要何だからmut禁止とか無理じゃね?
不要なmutだったらワーニング出るでし、必要だったらコンパイルエラーになるでしょ
必要な形で使えば良いだけなのに一体何を議論してるんだ?
ミュータブルが気に入らないならhaskellおすすめ

346:デフォルトの名無しさん
17/11/29 22:01:09.26 pXSSowmn.net
Readした結果はmutableでいいのにlet mutと書かなければならんの面倒
人によってはletで再宣言するのかな

347:デフォルトの名無しさん
17/11/30 01:36:34.69 zpCxrqzF.net
例えばさ
mutな変数1つ宣言してそこに足し上げていくのと、
非mutな計算結果同士を足して新しい非mutな計算結果を作るのと
素朴に考えれば前者の方が省リソースだよな
別にその程度コンパイラの最適化やレジスタ割り当てでどうとでもなるだろうとも思うが

348:デフォルトの名無しさん
17/11/30 02:16:29.28 ypA28Khv.net
URLリンク(qiita.com)
これ見たんだけど、なんでwinがlet mut winじゃないんだろうって不思議に思った。
let win = gtk::ApplicationWindow::new(&app);
win.set_title("Vanilla Text");
で、コードを調べてみたら、こんな感じにFFIを呼んでるだけだから、
概念的にはオブジェクトを変更してるけどRust的にはmutが要らないという仕組みらしい。
ちょっと違和感無い?
fn set_title(&self, title: &str) {
unsafe {
ffi::gtk_window_set_title(self.to_glib_none().0, title.to_glib_none().0);
}
}

349:デフォルトの名無しさん
17/11/30 02:51:13.41 AHSKxIeg.net
ポインタの先がどう変更されようが、ポインタを持ってるだけの側は不変。

350:デフォルトの名無しさん
17/11/30 03:27:18.42 NyMSxVXi.net
gtkはgoのほうが簡単

351:デフォルトの名無しさん
17/11/30 07:37:17.88 YOUdxrbO.net
Cellもしらんのか

352:デフォルトの名無しさん
17/11/30 13:33:26.57 2d5TEUTF.net
Rust的な設計の指針というかコツみたいのって無いですかね…
勉強のつもりで外部のCのライブラリとの間に入るちっちゃなFFIのラッパーを書いてみたんですが、Cの感覚で書く->コンパイラに怒られてあーなるほど修正ってのを繰り返してとりあえずは動くようになったんだけど
何をするにも
let foo = xxx ;
{
let bar = foo.xxx() ;
bar.yyy() ;
}
{
let baz = foo.zzz() ;
baz.www() ;
}
{
let bar = foo.xxx() ;
bar.yyy() ;
}
みたいに書かないといけなくて書いた本人でも「何やねんこのウンコ!」ってなってる(´・ω・`)
(Rustがって意味じゃなくて自分の書いたものがって意味で)

353:デフォルトの名無しさん
17/11/30 15:21:22.37 AHSKxIeg.net
どんなエラー出してそんな醜いコード書いてるのかを説明してくれないと。

354:デフォルトの名無しさん
17/11/30 19:20:57.05 dqSyxXgg.net
>>342
RustがRustで書かれてるのだからRustのリポジトリのコードを読んで参考にすれば勉強になるのでは?
URLリンク(github.com)

355:デフォルトの名無しさん
17/11/30 19:27:22.21 uu2PxLG/.net
>>342
cと触れる部分はしょうがないんじゃないの?
その何回も触ってる部分をcで書いてインターフェイスを最小化した後で
rust から呼び出す方が正解なんじゃないかね。

356:デフォルトの名無しさん
17/12/01 00:02:21.38 9zBEgLMI.net
Rustに限らず他言語で書かれたライブラリを利用するときは呼び出し元言語の作法に適合するように改修しないと使いにくいことが多いような

357:デフォルトの名無しさん
17/12/01 00:53:10.98 +mBQRpP6.net
>>342
> Rust的な設計の指針というかコツみたいのって無いですかね…
私も知りたいです!

358:デフォルトの名無しさん
17/12/01 18:20:32.47 MEq6f57k.net
>>342 見た感じFoo::xxx : &mut Self -> BarとかFoo::zzz: &mut Self -> bazとなっているのでbarやbazが生きてるとfooにアクセスできないのが直近の原因だと思うけど、
xxxやzzzが本当にFooの変更を伴わないといけないのかを考えないといけない
CellやRefCellを使ってinterior mutabilityを導入したらFoo::xxx: &Self -> Barというメソッドにできる可能性がある
まあ実際のソースがどんなもんなのか知らないから適当だけど

359:デフォルトの名無しさん
17/12/02 18:50:17.68 LUcOy7p3.net
URLリンク(doc.rust-lang.org)
japaneseってrust作成者らって日本語好きなの?

360:デフォルトの名無しさん
17/12/02 19:17:25.64 XMmE+FVV.net
トーキョー、サムライ、ハラキリ、ゲイシャ!

361:デフォルトの名無しさん
17/12/02 21:21:37.22 nhUA9ni6.net
>>349
公式Twitterアカウントをフォローしてみれば、リツイートに含まれるアニメ画像の多さで分かるだろ

362:デフォルトの名無しさん
17/12/02 21:26:24.08 .net
ジャパニメーション

363:デフォルトの名無しさん
17/12/02 23:06:36.11 LUcOy7p3.net
プログラマ=アニメオタクの構図は海外でもデフォか

364:デフォルトの名無しさん
17/12/02 23:25:28.54 IvGxcnlE.net
アニメに限らずエンジニアのオタク率は高い

365:デフォルトの名無しさん
17/12/03 02:23:51.05 o8sHMMD+.net
そもそもエンジニアの時点でPCオタみたいなもんだろ

366:デフォルトの名無しさん
17/12/03 15:14:02.84 nF9LHZwo.net
標準ライブラリAPIリファレンス見てるけど難しいなぁ。

367:デフォルトの名無しさん
17/12/04 20:49:12.68 Guj0xD4V.net
map: HashMap<String, usize>をメンバーに持つ構造体Fooを作りHashMap::getをラップするメソッドを定義したいんだけど、
型表記をどう書けばStringとstrの両方を受け取れるようになれるの?

368:デフォルトの名無しさん
17/12/04 20:51:25.15 Guj0xD4V.net
自己解決。AsRef<str>を使えば良かった

369:デフォルトの名無しさん
17/12/05 00:26:24.15 9T1+J47W.net
panic!で終わらすのでなくErr()を返してエラー時の挙動は呼び出し側に任せる・・・?

370:デフォルトの名無しさん
17/12/05 01:46:51.82 Z65eXqg0.net
get で使うなら AsRef じゃなくて Borrow

371:デフォルトの名無しさん
17/12/05 08:09:29.16 qtUVw02h.net
>>360 こういうことかURLリンク(play.rust-lang.org)
こんなの行けるんだな。doc見てもよう分からんかったありがとう

372:デフォルトの名無しさん
17/12/05 09:27:16.18 hHacdpPt.net
Mercurialも、Python/CからRust/Pythonに切り替えるのか
> Python is also hindering us because it is a dynamic programming language.

373:デフォルトの名無しさん
17/12/05 18:20:02.95 zRXsR4tV.net
>>362
ソースどこだよデマ乙
歴史あるVCSがRustみたいなゴミつかうわけねえだろ

374:デフォルトの名無しさん
17/12/05 18:38:54.65 lkNfeWcr.net
>>362
なんでそれでpython残すんだ?

375:デフォルトの名無しさん
17/12/05 19:47:27.34 qtUVw02h.net
URLリンク(www.reddit.com)
・hg本体がpythonなんで起動時のラグが気になる、特にスクリプトからhg呼び出す場合に重いからネイティブにしたい
・python2.7のGILのおかげで高速化のための並列化が面倒
・メモリ安全と並列化をCや古めのC++でやるのはキツい
何故まずpython3に移行しないのかは分からんかった。Rustで書き直すより先にやった方がいいんじゃないかと

376:デフォルトの名無しさん
17/12/05 20:16:52.30 Z65eXqg0.net
> For Mercurial, Rust is all around a better C.
> It is much safer, about the same speed, and has a usable standard library and modules system for easily pulling in 3rd party code.
>>363みたいな基地外君発狂しそう。

377:デフォルトの名無しさん
17/12/05 21:03:22.04 zRXsR4tV.net
ソースはRedditwwwwwwwww
ソースは2chよりひでえwwwwwwwwwwww

378:デフォルトの名無しさん
17/12/05 21:16:31.60 qtUVw02h.net
一次情報はmercurial oxideなんだけどこれが公式mercurialとどんな関係があるかがRedditのスレで言及されてるんだが
モジカス連呼基地外君は発狂中だとurlしか読めないのね

379:デフォルトの名無しさん
17/12/05 21:18:53.28 gT8tzSz1.net
>>364
mercurialにpythonで書かれた拡張機能がいっぱいあるからだろうかね

380:デフォルトの名無しさん
17/12/05 21:42:01.40 4Jhqan/B.net
HN見ないんだ?URLリンク(www.mercurial-scm.org)
ていうかモジカス君固定ハンドルつけてくれない?名声もつくよ

381:デフォルトの名無しさん
17/12/05 22:45:09.30 H7tXCLyD.net
言語が錆でプロダクト名が水銀だから、プロジェクト名が酸化ってのもうまいことつけたな
Python3化を優先しないのは、斜め読みした感じだと「hgコマンドをPythonスクリプトから(必要に応じてPythonインタプリタを埋め込んだ)バイナリにしたい」ってあったから、順番的には確かにそっちは後だな

382:デフォルトの名無しさん
17/12/05 22:52:10.21 H7tXCLyD.net
あとは、GILの性能自体はPython3で向上したとはいえ、GILそのものがなくなった訳ではないから、
それで得られる速度向上は並列化と比べてたいしたことないってのもあるんじゃね?
あとPython3はそもそも単純なベンチでは2より遅かった気がする

383:デフォルトの名無しさん
17/12/06 00:11:41.11 aEHwTVhz.net
なるほどね。
個人的にはgitよりmercurialに頑張ってほしい

384:デフォルトの名無しさん
17/12/06 01:15:02.87 6LacDPiL.net
VCSは自身の機能や性能も大事だけどそれを使った開発プロセスの整備と提示が大切なんだなあとgithub見て思う
pijulにはちょっと期待してる

385:デフォルトの名無しさん
17/12/06 03:56:18.90 sNDBG4Pk.net
公式がマジで言ってんのかこれ。多分gitに負け続けて資金調達のためにモジラに泣きついた感じか。そこまで落ちぶれてたんか
けどまあwikiの他のNewFeature見てみた限り放置も多いみたいだし、これもそのまま忘れ去られる系だな

386:デフォルトの名無しさん
17/12/06 08:49:40.91 7Z4PG9ak.net
資金調達のためにモジラに泣きついた感じかキリッ

387:デフォルトの名無しさん
17/12/06 09:15:41.98 o9r2lFwR.net
Rustで大きなプログラムは書けない
→Firefoxにしか使われない
→Mozilla以外はまともなプロダクトでは使われない
→負け組プロジェクトしか使われない
進化を楽しみにしてるぞ

388:デフォルトの名無しさん
17/12/06 09:25:54.43 J6ceqlJH.net
>>377
上から目線で言ってるけど無能そう

389:デフォルトの名無しさん
17/12/06 09:28:53.95 dVNrL5aP.net
効いてるやん

390:デフォルトの名無しさん
17/12/06 11:24:37.38 g4tVD/U6.net
374 自体も上から目線でワロタ

391:デフォルトの名無しさん
17/12/06 11:48:39.53 F7bxA/jW.net
5chでマウント取りは当たり前だからな

392:デフォルトの名無しさん
17/12/06 13:03:02.39 C/GcjX4C.net
コンパイル通せない事がそこまで彼のプライドを傷つけるとは……
コンパイルエラーが発生したときに、自動で「大変申し訳ありませんが、」の文字列を追加表示する
コンパイラプラグインを誰か開発すべき

393:デフォルトの名無しさん
17/12/06 17:33:11.66 Zd+Z66A3.net
Rustつかって書き直すなんて、言うだけはタダだし、言ったことでモジラから金がもらえるなら言うだろうね、落ち目のプロジェクトなら
個人的にはgitより好みだったけどな
そもそも言語変えて書き直すとか非現実的なことできると思ってんのお前ら
チャットワークは記憶に新しいぞ

394:デフォルトの名無しさん
17/12/06 17:35:26.67 mFCLg4Qg.net
モジラから金がもらえる(キリッ

395:デフォルトの名無しさん
17/12/06 18:02:57.09 CoVGsVpS.net
いい加減コテつけろガイジ

396:デフォルトの名無しさん
17/12/06 19:19:06.35 enrVe2xz.net
rust ならこういう問題は解決できんの?
URLリンク(qiita.com)

397:デフォルトの名無しさん
17/12/06 19:34:24.15 LlbO+WJR.net
それを解決できるのはスレッドの類をGC対象にできる言語のみだろう
Ponyはできたような気がする

398:デフォルトの名無しさん
17/12/07 11:46:55.50 4fQhnjSw.net
ponyってあれか。スポンサー企業が一抜けしたやつか

399:デフォルトの名無しさん
17/12/07 16:49:06.35 e6grhN6X.net
これからやるのにGUIでいいプログラム言語教えてください。Microsoftは無しで。

400:デフォルトの名無しさん
17/12/07 17:14:54.82 3Pu9MQ/V.net
なんでこのスレで聞く?
Java

401:デフォルトの名無しさん
17/12/07 18:42:24.96 wb2m4Sd2.net
>>389
おじいちゃん、GUIはブラウザってきまったでしょ?

402:デフォルトの名無しさん
17/12/07 18:57:24.40 DAqiucIC.net
実際マジで綺麗なGUI作ろうと思ったらブラウザ使った方が良かったりするからなあ
wasm/WebGLのみターゲットにしたGUIツールキットcrateを作る人も出てくるんじゃないかね

403:デフォルトの名無しさん
17/12/07 19:10:54.37 aNywij93.net
VueとかReactが便利すぎる

404:デフォルトの名無しさん
17/12/07 20:40:39.18 hv/QEVwp.net
簡易なもんつくるなら react をてきとうにいじるのが一番覚えること少ない気がする。

405:デフォルトの名無しさん
17/12/07 20:40:53.05 Hyaivhp0.net
wasmって使えるのcoreライブラリだけ?

406:デフォルトの名無しさん
17/12/07 21:20:46.84 7uR0ShQv.net
しばらくreact+reduxやってから久しぶりにC#に触ったらやっぱり.NET楽だと思ったわ。
Webアプリ前提ならReact一択でいいけど、スタンドアロンでいいならわざわざ選ばんなぁ。

407:デフォルトの名無しさん
17/12/07 22:04:12.67 hv/QEVwp.net
.NET は何がどう依存してるかわかりずらくてデプロイするのが面倒じゃん。

408:デフォルトの名無しさん
17/12/08 18:13:41.90 wmniiGfA.net
Rustは何がどう依存してるかわかりずらくてプログラミングするのが不可能じゃん。

409:デフォルトの名無しさん
17/12/08 19:09:50.20 eb9UBXrx.net
>>398
よ、クソモジラ君

410:デフォルトの名無しさん
17/12/08 21:32:53.09 Zo2thUux.net
>>398
> ずらく
お前はまず日本語を学ぼうな。

411:デフォルトの名無しさん
17/12/08 22:30:24.09 4nIOqmyr.net
>>397
>ずらく
ついでにお前もな

412:デフォルトの名無しさん
17/12/08 23:14:50.34 tq7RAj6Q.net
rust使う前に日本語を正しく習得しないとな


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch