[過去ログ] 次世代言語12 Go Rust Swift Kotlin TypeScript (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
202(1): 2018/07/17(火)20:27 ID:anKKTTWb(1/3) AAS
>>175
デフォルト借用
破壊というと御幣があるが、C++の仕様をいうならなおさら
auto_ptrへの所有権移動で
=だけで移動するのがわかりにくいからって非推奨になった経緯がある
203: 2018/07/17(火)20:54 ID:nqiso9Rb(1) AAS
>>200
C,C++は習得した上で趣味でやるもんでしょ。
204: 2018/07/17(火)21:45 ID:Xr+5nhkx(2/3) AAS
>>198
動的言語でできることはすべて静的言語でもできる
この性質により、お前らが気に食わないコードでもコンパイルが通る
RefCellはコンパイル時ではなく実行時にborrowチェックしているようだな
まるで動的言語のようだ
205: 2018/07/17(火)21:51 ID:c2JpqyiJ(3/5) AAS
>>202
デフォルト借用なら移動の方はどんな演算子orキーワードを導入するの?
>auto_ptrへの所有権移動で
>=だけで移動するのがわかりにくいからって非推奨になった経緯がある
それはC/C++の=はもともとコピーのセマンティクスを持つから移動に変えたら分かりにくいって事情があったからでしょ?
RustはCとの互換を捨ててるからCのセマンティクスの影響は受けない
でも、Rustは互換は捨ててもCとの親和性は欲しいという都合(ワガママとも言える)があるから
Rustの参照(借用)はC/C++の参照と似たようなセマンティクスになる&で妥当だと思うけど?
C++とRustのコピー・移動・参照(借用)の方法を整理すると↓になる
C++
コピー : =
移動 : std::move()
参照 : &
Rust
コピー : Copyトレイト
移動 : =
参照(借用) : &
206(1): ◆QZaw55cn4c 2018/07/17(火)22:14 ID:cS4zRgZd(1) AAS
>>191
具体的に教えてください
207(1): 2018/07/17(火)22:14 ID:anKKTTWb(2/3) AAS
C++ユーザー取り込むために文法にせてるのに
肝心のところでC++ユーザーが混乱するじゃないか…
どうせ=で移動したって参照わたしてるんだから&の意味がズレてる
所有権の移動という重要なできごとにこそ別途印がつくべきだった
208: 2018/07/17(火)22:18 ID:c2JpqyiJ(4/5) AAS
>>179
>半ば本気で言うが c++ で生ポインタ使わなければ概ね実現できるんじゃないか
出来ると思うよ
でも、C++はRustよりもさらに複雑怪奇な仕様で使いづらい
C++のスマートポインタは正しい使い方をすればRustに負けず劣らず優れてるけど
それは、同程度に優れているだけであってRustより優れているとは思わない
あと、少し話が変わるけど実はRustの最も優れているところは
所有権・借用・ライフタイムの概念よりもエラーハンドリングだと思ってる
あのResult型とErrorトレイト・Fromトレイトとtry!マクロ(?演算子)を使用した
エラーハンドリングの方法は個人的には感動するレベルの代物だった
今後の次世代言語のエラーハンドリングは全てあれをベースに発展させていくべきだと思うほど気に入っている
209: 2018/07/17(火)22:28 ID:c2JpqyiJ(5/5) AAS
>>207
>どうせ=で移動したって参照わたしてるんだから
あれ?それって仕様として決まってるんだっけ?
コンパイラの最適化の結果としてそうなるってだけじゃなかったっけ?
>>所有権の移動という重要なできごとにこそ別途印がつくべきだった
いや、だからその移動に何の印を付けるのがいいと思ってるの?
俺は借用には&が妥当だと思うとは言ってるけどベストだとは言ってないじゃん
ベターな代替え案があるなら俺だって意見を変えるよ
210: 2018/07/17(火)22:40 ID:Xr+5nhkx(3/3) AAS
x = f(x) とか
C++で有名な x = x とか
これらはmoveが最善
211(1): 2018/07/17(火)23:26 ID:anKKTTWb(3/3) AAS
Rustも=でコピーのことがあるから余計ややこしい
let p = q ってかいてあってqがその後も使いまわせるかぱっと見わからんとか
ポインタっぽく普段の=は参照渡しで&が所有権移動にすりゃよかったとおもう
212: 2018/07/17(火)23:59 ID:ztKpQtDs(1) AAS
スレチなんでちょっとだけ、C++は別に複雑では無いよ
プリプロセッサは氏んだほうがいいけど
213: 211 2018/07/18(水)00:26 ID:mEKlqXRd(1) AAS
書いてて初めて気が付いた
実際に触ったことないから想像で書いてるんだが
>let p = q ってかいてあってqがその後も使いまわせるかぱっと見わからん
ほんとにこういう仕様なのか
使いづらすぎんかこれ?
214(1): 2018/07/18(水)00:39 ID:eCPOxZU7(1) AAS
使い回せるかどうかはCloneトレイト実装してるかどうかに依存する
つまり見た目ではわからない
まあそもそも古い変数を変なとこで使い回す設計って普通にバグの元だし
ぱっと見てコピーかムーブか分かるかどうかが重要かと言われると確かに怪しい
ぱっと見で区別が必要なコード書くなって話だな
215: 2018/07/18(水)00:56 ID:gLPB1OcG(1/3) AAS
逃げるのか?
216: 2018/07/18(水)01:07 ID:oqdCTGqL(1) AAS
使い回せるかどうかは、ぱっと見た時ではなく、コンパイル時にわかる
ぱっと見てわかるならコンパイラいらねえよ
217: 2018/07/18(水)01:26 ID:Deu2WR7T(1) AAS
スクリプト言語以外はとりあえずgoやっときゃええの?
218: 2018/07/18(水)01:51 ID:SDgYFH54(1) AAS
今時文字列リテラルに変数とか式を埋め込めない言語って嫌がらせかよって思う
219(1): 2018/07/18(水)01:53 ID:JqSumQxK(1) AAS
Goは他のまともな言語をいくつか使える人にとっては、低脳言語な割には意外とまともに使えるよく考えられてる言語だ、という感想になるけど、
PHPとGoしか知らないとかだと普通に低脳なだけの言語になっちゃいそう
頭悪くなるからやめとけ
220: 2018/07/18(水)01:58 ID:wh/4A4W/(1) AAS
高脳言語はどれ
221: 2018/07/18(水)05:20 ID:ZBblVXCv(1/2) AAS
>>214
Copyトレイトな
222: 2018/07/18(水)08:17 ID:hDCcLLBq(1) AAS
C++って埋め込みできる?
223: 2018/07/18(水)10:24 ID:VMuEGAmx(1) AAS
>>219
まさにこれ
低脳言語の中では一番頭がいいのがGo
頭がいいと思って使うと肩透かしくらうが、低能と割りきるならすこぶる便利
そこにニーズがあると読みきったGoogle少しだけ見直したわ
224: 2018/07/18(水)13:39 ID:uM9cLKhF(1) AAS
Go言語らしさを生かしてどうこう言われると反発したくなるので関心を持たないことにした
225: 2018/07/18(水)15:41 ID:KM8lntjZ(1) AAS
低能言語って何?
226: 2018/07/18(水)17:33 ID:4nsDvlkN(1) AAS
ソースコードのエントロピーの低い言語
227: 2018/07/18(水)18:23 ID:Fn/85jhH(1) AAS
エントロピーの意味クグって来いよw
228: 2018/07/18(水)21:00 ID:dWzHsOBF(1/2) AAS
エントロピー低いなら低能じゃないだろって思ったけど、驚き最大的な意味ではたしかにエントロピー高いのが一番いいのか?
圧縮専門の人頼む
229: 2018/07/18(水)21:13 ID:QKyKgyQ2(1) AAS
ざっくり言うと
「これもっと短く書く記法や仕組みがあるだろ」
というようなものが低エントロピー
230: 2018/07/18(水)21:15 ID:pwxFfWjq(1) AAS
短けりゃいいってのか!?
231: 2018/07/18(水)21:18 ID:zEuGqywN(1) AAS
別に良いとも悪いとも言ってない
エントロピーの話
ライブラリや組み込み機能を使って短く書けました!
なんてのは圧縮で言うなら辞書式圧縮だな
上下前次1-新書関写板覧索設栞歴
あと 771 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s