Mozilla発のRust言語のスレ
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
前スレ
Rust Part6
http://mevius.5ch.net/test/read.cgi/tech/1532714678/
Rust Part7
■ このスレッドは過去ログ倉庫に格納されています
2019/07/14(日) 23:31:47.54ID:PySyhRf9
2019/07/20(土) 22:15:20.44ID:AjHY8stg
rust未経験者がwebプログラミングをrustで始めるのってどう思う?
俺の背景としてはocamlを1年ぐらいやってて「Real World OCaml」みたいな定番書を読んで簡単なコンパイラとかVMを作ったっていうレベル
rustでやるモチベーションとしては
・OCaml誰もやってなくて未来が見えない
・最低でもバリアントとパターンマッチが欲しい
・ネイティブが良いからscala/F#は嫌だ
こういう理由
web自体が初心者だからrailsとかのチュートリアルぐらいは先にやっておくつもり
俺の背景としてはocamlを1年ぐらいやってて「Real World OCaml」みたいな定番書を読んで簡単なコンパイラとかVMを作ったっていうレベル
rustでやるモチベーションとしては
・OCaml誰もやってなくて未来が見えない
・最低でもバリアントとパターンマッチが欲しい
・ネイティブが良いからscala/F#は嫌だ
こういう理由
web自体が初心者だからrailsとかのチュートリアルぐらいは先にやっておくつもり
2019/07/20(土) 22:46:21.59ID:wwp1044b
どうも何もWebアプリは言語の選定は大した問題じゃなくて、Webアプリの基礎がわかってるかどうかだぞ
セッション管理、Rest、クライアントスクリプト、見た目とロジックの分離等々
セッション管理、Rest、クライアントスクリプト、見た目とロジックの分離等々
2019/07/21(日) 00:44:57.93ID:Ct/mrgVP
そうは言っても情報量の多さとかで挫折しにくい言語ってのはあるでしょ
Rustは明らかにきついほうだろうけど...
Rustは明らかにきついほうだろうけど...
2019/07/21(日) 01:53:54.94ID:iF1O4o5j
>ocamlを1年ぐらいやってて
>コンパイラとかVMを作った
能力的にはRustでWebするのも余裕なんじゃね;
もっとも、SQLインジェクションみたいな文字列解釈やセッション絡みの脆弱性を
思わず作りこんでしまうことはRustでも避けられないから>>42のは真実だと思うが
>コンパイラとかVMを作った
能力的にはRustでWebするのも余裕なんじゃね;
もっとも、SQLインジェクションみたいな文字列解釈やセッション絡みの脆弱性を
思わず作りこんでしまうことはRustでも避けられないから>>42のは真実だと思うが
2019/07/21(日) 22:07:53.58ID:SjT3tKFm
ocaml辺りやる人間にはつまらんぞwebは。
2019/07/25(木) 18:18:35.03ID:lKY1yvEr
rustむずい
gcのついたrustが欲しい
gcのついたrustが欲しい
2019/07/25(木) 19:38:42.91ID:5L4KGe8+
存在意義を否定してどうするよ
go使えば
go使えば
2019/07/25(木) 20:37:16.64ID:lKY1yvEr
最低でもヴァリアントとレコードとパターンマッチがあって全体的に式指向な言語が良い
ocamlがマルチスレッドに対応しててもっと流行ってれば...
scala/f#がネイティブであれば...
haskellが正格評価でもっとパフォーマンスが良ければ...
皆さんc/c++の置き換えとしてrustやってるの?
自分は関数型言語由来の機能が多くてネイティブで動く言語が欲しい
そういう理由でrustに手を出す人って少ないのかな
rust製のcliツールとかめっちゃ多いし、低レイヤのためだけにrustやってる人のほうが少ないんじゃないかな
ocamlがマルチスレッドに対応しててもっと流行ってれば...
scala/f#がネイティブであれば...
haskellが正格評価でもっとパフォーマンスが良ければ...
皆さんc/c++の置き換えとしてrustやってるの?
自分は関数型言語由来の機能が多くてネイティブで動く言語が欲しい
そういう理由でrustに手を出す人って少ないのかな
rust製のcliツールとかめっちゃ多いし、低レイヤのためだけにrustやってる人のほうが少ないんじゃないかな
2019/07/25(木) 21:49:12.38ID:E2feltVj
多いか少ないかが気になる年頃
50デフォルトの名無しさん
2019/07/25(木) 21:54:26.88ID:6TAkPITO 難しいからなんなんだよってかんじ
勉強すればそのうち使えるようになるんだからどうでもいいことじゃん
俺はPHPの置き換えで使ってるけど
勉強すればそのうち使えるようになるんだからどうでもいいことじゃん
俺はPHPの置き換えで使ってるけど
2019/07/25(木) 22:40:39.89ID:PNoIdPh5
rust, c++より少しはマシくらいの言語だわな。
実装系含めたらまだc++のがマシになるが。
実装系含めたらまだc++のがマシになるが。
2019/07/25(木) 22:50:06.02ID:w/leXg8D
C++がましってどのへん?学習コストはどうしようもないとして、学習してしまった今となってはC++に戻る気とか一切しないんだけど。
2019/07/26(金) 15:42:10.78ID:I3xx9WAP
54デフォルトの名無しさん
2019/07/26(金) 18:13:40.72ID:a+EwZNsG ながいから要約たのむ
2019/07/26(金) 18:54:02.12ID:EH3/YLuD
初代wiiもいらんだろ
2019/07/26(金) 22:09:00.78ID:6wMSM/4s
>>46
pony。cliツールっていうかcoreutilsとbusyboxの代替実装とかならあるけど。
pony。cliツールっていうかcoreutilsとbusyboxの代替実装とかならあるけど。
2019/07/27(土) 01:35:00.73ID:KwccJBez
>>52
cとかより低いレイヤーの言語をバインドしようとした時、より素直。
cとかより低いレイヤーの言語をバインドしようとした時、より素直。
2019/07/27(土) 10:26:09.62ID:T7BomvTp
お前らが本当に必要としてるのはRustじゃなくて
ziglangなのでは?
ziglangなのでは?
2019/07/27(土) 10:58:34.72ID:S2cl2wQi
流行ってる言語じゃないとしんどいってocamlで学んだ
2019/07/27(土) 12:01:40.60ID:4xSO5KPL
デストラクタ的なのがあればなんでも良い
61デフォルトの名無しさん
2019/07/27(土) 17:07:58.74ID:lIukHdgf >>58
zigはGCあるからダメ
zigはGCあるからダメ
2019/07/27(土) 23:21:52.36ID:YuLtVEnV
rustがリアルタイムで使われてるの聞いたこと無いんだけど
どうせgcあるから駄目とか言ってるやつはメモリの開放タイミングが
予測不能でも致命的にならない事しかしてないんだろ?
どうせgcあるから駄目とか言ってるやつはメモリの開放タイミングが
予測不能でも致命的にならない事しかしてないんだろ?
2019/07/27(土) 23:56:46.19ID:90NMqXYM
Option<char>とStringを結合させたいんですけど、どうすればいいんですか?
2019/07/28(日) 00:12:52.45ID:BWTSPDmr
2019/07/28(日) 02:05:17.30ID:5UHV96py
let x: String = "Hello World!".toString();
s += Some(x)?;
いや知らんけど
s += Some(x)?;
いや知らんけど
2019/07/28(日) 02:07:09.62ID:5UHV96py
xはcharやったorz,
67デフォルトの名無しさん
2019/07/28(日) 09:18:55.32ID:t62k8itt リアルタイムでってなに?
目の前でrust書いてくれるってこと?
目の前でrust書いてくれるってこと?
2019/07/28(日) 09:43:05.38ID:2BtEWPhc
致命的(画面が時々固まる)
2019/07/28(日) 11:22:38.76ID:pMfSdwXX
2019/07/28(日) 12:16:23.87ID:G72VT/2G
GCは結局メモリ以外のリソースはまともに管理できなくて、自分でデストラクタ呼ぶはめになるのがつらい
2019/07/28(日) 12:24:41.52ID:p9n7KwZ9
rustでc++のtemplate<class T, size_t N>struct array{T elm[N];}みたいな事可能なの?
2019/07/28(日) 13:40:28.12ID:GSiaruU8
抜け道はあるかも知れんがジェネリクスでは型しか取れない
2019/07/28(日) 14:40:16.56ID:+9hlsOXW
2019/07/28(日) 15:01:36.78ID:+9hlsOXW
まだ実装終わってないけどnightlyなら一応使えるっぽいよ
#![feature(const_generics)]
#![feature(const_generics)]
75デフォルトの名無しさん
2019/07/28(日) 19:04:25.79ID:5UHV96py 高機能なマクロもクロージャも使えるのだから値パラメータなジェネリクスは冗長
なキモス
なキモス
2019/07/28(日) 19:07:52.98ID:XzK5p4st
C++から機能取り入れるとクソ言語化するからやめてほしい
77デフォルトの名無しさん
2019/07/28(日) 19:22:39.84ID:5UHV96py んまー値パラメータなクラステンプレートを実現しようとしたらマクロでは済まないのか
そうか
そうか
2019/07/28(日) 19:31:07.73ID:jklii+Ft
2019/07/28(日) 19:45:22.37ID:B+3CJM6Y
この国語力はやばい
2019/07/28(日) 20:15:28.70ID:60uqYffv
>>78
RustやC++のスマートポインタならスコープ抜けたときのデストラクタできれいにリソース解放できるけどGCだとできないね、って話なんだが。
それを部分的に解決する方法としてC#のusingとかがあるけど、関数を跨ぐような寿命の長いリソースには使えない。
try-finallyやGoのdeferなんて、絶対書き忘れてリソースリークするパターンだろ。
RustやC++のスマートポインタならスコープ抜けたときのデストラクタできれいにリソース解放できるけどGCだとできないね、って話なんだが。
それを部分的に解決する方法としてC#のusingとかがあるけど、関数を跨ぐような寿命の長いリソースには使えない。
try-finallyやGoのdeferなんて、絶対書き忘れてリソースリークするパターンだろ。
2019/07/28(日) 21:21:52.37ID:GSiaruU8
現状静的配列が使い物にならないから const generics は必要だと思う
2019/07/28(日) 21:26:23.70ID:B+3CJM6Y
いらねーだろ
それでどんだけ速くなんだよ
それでどんだけ速くなんだよ
2019/07/28(日) 21:30:14.25ID:GSiaruU8
ゼロコスト抽象化を標榜してる以上は行列計算をVecでやれとは言えんだろ
2019/07/28(日) 21:36:32.69ID:B+3CJM6Y
それはzero costの履き違え
2019/07/28(日) 21:37:48.82ID:GSiaruU8
お前にとってはそうなんだろう
2019/07/28(日) 23:01:30.64ID:jklii+Ft
>try-finallyやGoのdeferなんて、絶対書き忘れてリソースリークするパターンだろ。
一理あるが、資源を正しく管理するデストラクタ書くのそんなに楽じゃねーぞ。
舐めすぎだわ。
一理あるが、資源を正しく管理するデストラクタ書くのそんなに楽じゃねーぞ。
舐めすぎだわ。
2019/07/28(日) 23:39:20.86ID:G08azDw2
>>86
他言語でもさんざん書いたからデストラクタの難しさは知ってるつもりだけど、
ライブラリ作成者が注意深く書いたデストラクタをみんなで使うのと、各自finallyやdeferを正しく実装しましょう、なら前者がましでは?
他言語でもさんざん書いたからデストラクタの難しさは知ってるつもりだけど、
ライブラリ作成者が注意深く書いたデストラクタをみんなで使うのと、各自finallyやdeferを正しく実装しましょう、なら前者がましでは?
88デフォルトの名無しさん
2019/07/28(日) 23:58:54.12ID:5UHV96py ちょっデストラクタで開放処理を書けない資源とかもはやプロセスをkillするしか、
2019/07/29(月) 00:07:34.10ID:9xGY09/M
90sage
2019/07/29(月) 00:09:11.34ID:bStHYZl0 ていうかデストラクタ自体は問答無用に資源を開放するように作ればよいのであって
そうならないのは上位の設計がおかしい
例外のスローが許されないなどただでさえ制約が厳しいところに小難しいロジックを押し込んでどうするんじゃ…
資源の開放に一定の手順が必要ならそれはデストラクタの中ではなくデストラクタが呼ばれる前にすませるべきだし、
必要な手順が抜かされたみたいなバグのケースの救済までデストラクタの任に負わせるのはおかしい
資源の開放自体にエラーの危険性があるならインスタンスの製造元(ファクトリ)にエラー通知してから死ぬ等の
パターンに従うべき
そうならないのは上位の設計がおかしい
例外のスローが許されないなどただでさえ制約が厳しいところに小難しいロジックを押し込んでどうするんじゃ…
資源の開放に一定の手順が必要ならそれはデストラクタの中ではなくデストラクタが呼ばれる前にすませるべきだし、
必要な手順が抜かされたみたいなバグのケースの救済までデストラクタの任に負わせるのはおかしい
資源の開放自体にエラーの危険性があるならインスタンスの製造元(ファクトリ)にエラー通知してから死ぬ等の
パターンに従うべき
2019/07/29(月) 00:23:30.71ID:ovYGqPmP
>>89
ref objectがなんなのかよく分からないが、GCにリソース解放させる場合の問題はタイミングを制御できないことだと思ってる。
スコープを抜けて回収可能になったからといってすぐ回収されるわけではないから次の確保が早すぎると死ぬ。
まぁたいていの場合問題ないってのはあるけど、本質的にはGCに合ってないと思う。
ref objectがなんなのかよく分からないが、GCにリソース解放させる場合の問題はタイミングを制御できないことだと思ってる。
スコープを抜けて回収可能になったからといってすぐ回収されるわけではないから次の確保が早すぎると死ぬ。
まぁたいていの場合問題ないってのはあるけど、本質的にはGCに合ってないと思う。
2019/07/29(月) 00:34:54.17ID:bStHYZl0
すぐに開放されないだけの問題なら開放されるまで待てば良いではありませんか、
さすがに今日日のGCは開放可能な資源の発生と資源の獲得要求がmeetした場合に何もしないほど馬鹿ではないと思われ
(meetのトリガタイミングがなんと2回もある
致命的に問題なのはGCには資源に空きがあるように見えるが、GCが知りようがない上位のロジックで循環依存が生じる場合
ファイルをN個まで同時に複数開けるシステムで、a、bの2個しかファイルが開かれていないんだけど
スレッドAがファイルaを出力し終えた後ファイルbのクローズを待っており、スレッドBはファイルaのクローズを待ってからbを出力せんとしている場合等、
さすがに今日日のGCは開放可能な資源の発生と資源の獲得要求がmeetした場合に何もしないほど馬鹿ではないと思われ
(meetのトリガタイミングがなんと2回もある
致命的に問題なのはGCには資源に空きがあるように見えるが、GCが知りようがない上位のロジックで循環依存が生じる場合
ファイルをN個まで同時に複数開けるシステムで、a、bの2個しかファイルが開かれていないんだけど
スレッドAがファイルaを出力し終えた後ファイルbのクローズを待っており、スレッドBはファイルaのクローズを待ってからbを出力せんとしている場合等、
2019/07/29(月) 01:10:00.62ID:X0vpIRmF
2019/07/29(月) 01:17:46.83ID:ovYGqPmP
>>92
実際問題例えばC#のGCはそれくらい馬鹿ではある。
というかファイルハンドルの中身と次のリソース要求を見て、適切に回収してくれるGCってあるの?
メモリ解放のタイミングでたまたまその他のリソースも解放されてるだけでは?
実際問題例えばC#のGCはそれくらい馬鹿ではある。
というかファイルハンドルの中身と次のリソース要求を見て、適切に回収してくれるGCってあるの?
メモリ解放のタイミングでたまたまその他のリソースも解放されてるだけでは?
2019/07/29(月) 21:42:08.32ID:CSar0obt
96デフォルトの名無しさん
2019/07/30(火) 00:57:12.66ID:ZDjzCSg/ >>95
グロ
グロ
2019/07/31(水) 21:59:30.06ID:BBGtrgFp
効率的なTreeの書き方どこかに書いてあったはずなんだけど忘れてしまった
どこにかいてあるかわかるひといますか?
どこにかいてあるかわかるひといますか?
2019/07/31(水) 22:04:33.03ID:BBGtrgFp
enumをつかっていたような気がするんですが・・・
2019/08/01(木) 00:10:45.06ID:zC1laZAw
効率的なTreeってなに?
代数的データ型なら普通はsum type(rustのenum)で書くけど。
代数的データ型なら普通はsum type(rustのenum)で書くけど。
100デフォルトの名無しさん
2019/08/03(土) 11:04:41.72ID:RLY9hdXo ???@???
Rustとの戦いにつかれたのでDを触った次第
↑RustでコンパイラとかVM作ってる人のツイート
Rustってそんなに難しい?
Rustとの戦いにつかれたのでDを触った次第
↑RustでコンパイラとかVM作ってる人のツイート
Rustってそんなに難しい?
101デフォルトの名無しさん
2019/08/03(土) 13:51:49.63ID:aqiFUikh 配列で親ノードIDや子ノードのID持たせるとかじゃなかったか。
所有権引っかからんようにするとそんな感じになる。
所有権引っかからんようにするとそんな感じになる。
102デフォルトの名無しさん
2019/08/03(土) 22:29:28.05ID:Pq9Lnt2C 他言語でもGUIのグラフとかは結局そうなるんだけどな。
103デフォルトの名無しさん
2019/08/05(月) 09:41:10.02ID:VmFTmeN2 >>100
面倒くさい
面倒くさい
104デフォルトの名無しさん
2019/08/06(火) 13:13:46.53ID:trr4oLNQ Javaとの違いは何
105デフォルトの名無しさん
2019/08/07(水) 01:19:35.26ID:go9nzBX4 今日知って驚愕したのだがJavaは構造体の参照を返すということができず、
どうしても参照返ししたいときは構造体のメンバを書き換えて返すという歪な手段を使う
↓こんなやつ
class CWDPath {
String mPath = "";
}
boolean getCWD(CWDPath result) {
result.mPath = "SomeDir";
return true; // 性交ステータス
}
これはresultの寿命がmPathに代入するデータの寿命を下回らないケースでしかRustでは書けないハズ
つまりJavaはRustのアンチパターンで大々的に書くことを余儀なくされる危険な言語
どうしても参照返ししたいときは構造体のメンバを書き換えて返すという歪な手段を使う
↓こんなやつ
class CWDPath {
String mPath = "";
}
boolean getCWD(CWDPath result) {
result.mPath = "SomeDir";
return true; // 性交ステータス
}
これはresultの寿命がmPathに代入するデータの寿命を下回らないケースでしかRustでは書けないハズ
つまりJavaはRustのアンチパターンで大々的に書くことを余儀なくされる危険な言語
106デフォルトの名無しさん
2019/08/07(水) 01:49:51.15ID:KVZqz5pU 性交ステータス
107デフォルトの名無しさん
2019/08/07(水) 08:31:50.75ID:eqkXQjzY Javaすら理解できてないのにRustを使おうとするとは勇ましい
108デフォルトの名無しさん
2019/08/07(水) 12:04:18.71ID:Fq68/ECQ 何もかも間違っていて突っ込む気も起こらん
109デフォルトの名無しさん
2019/08/07(水) 21:02:26.47ID:bj+hpOaY javaに構造体はないってことくらい突っ込んでやれ。
value typeは当分先だ。
value typeは当分先だ。
110デフォルトの名無しさん
2019/08/08(木) 05:27:28.23ID:FTUf1Nuq いや正しいていうかこの話にvalue typeは関係無い(返そうとしているStringは参照型
間違っているというならreturn mPath以外の方法でgetCWD()からStringを返してみると良い
間違っているというならreturn mPath以外の方法でgetCWD()からStringを返してみると良い
111デフォルトの名無しさん
2019/08/08(木) 05:51:36.26ID:FTUf1Nuq んまー不用意に構造体と書いてしまったのは陳謝するのですよ
112デフォルトの名無しさん
2019/08/08(木) 07:38:49.45ID:097LZjtE 組み込みの値型以外は全て参照型で管理されてる事が理解できてないって事?
113デフォルトの名無しさん
2019/08/08(木) 13:27:41.32ID:+iXEwaHu Javaにおける参照はオブジェクトへのポインタのことで、RustやC++の参照とは違う概念なのだよ
114デフォルトの名無しさん
2019/08/08(木) 13:30:51.54ID:+iXEwaHu だから参照を返すという言葉の意味も Java と Rust では違う
115デフォルトの名無しさん
2019/08/08(木) 14:49:51.48ID:bpfrenBa 何言いたいのかさっぱりわからん
コンパイルエラーになるがやりたいことを書いてくれ
コンパイルエラーになるがやりたいことを書いてくれ
116デフォルトの名無しさん
2019/08/08(木) 15:16:04.89ID:6plAwatI JVM上で動くJRustはまだか?
117デフォルトの名無しさん
2019/08/08(木) 15:54:03.06ID:YYsAu0ua 皮肉や冗句を言うにも一定のセンスと知能が必要と言う証左
118デフォルトの名無しさん
2019/08/08(木) 22:35:10.82ID:FTUf1Nuq >>115
C#の例(これは動く
void Main() { string str = new string(); bool bResult = getCWD(ref str); Console.WriteLn(str); // "some_dir"が表示される }
bool getCWD(ref string str) { str = "some_dir"; return true; // 性交ステータスとしてのtrue }
Javaで同じ事をしようとすると>>105になって、Stringを返すためだけのためにCWDPathみたいなクラスを作らねばならない
>>117
藻前は顔だけは賢そうだな
C#の例(これは動く
void Main() { string str = new string(); bool bResult = getCWD(ref str); Console.WriteLn(str); // "some_dir"が表示される }
bool getCWD(ref string str) { str = "some_dir"; return true; // 性交ステータスとしてのtrue }
Javaで同じ事をしようとすると>>105になって、Stringを返すためだけのためにCWDPathみたいなクラスを作らねばならない
>>117
藻前は顔だけは賢そうだな
119デフォルトの名無しさん
2019/08/08(木) 22:43:00.72ID:+Da//rmi 脳がC言語で止まってると色々気苦労が多くて大変だな
120デフォルトの名無しさん
2019/08/08(木) 22:49:15.66ID:FTUf1Nuq121デフォルトの名無しさん
2019/08/08(木) 22:54:58.10ID:FTUf1Nuq122デフォルトの名無しさん
2019/08/08(木) 23:28:59.60ID:+Da//rmi とりあえず参照渡しという単語を調べなよ
123デフォルトの名無しさん
2019/08/08(木) 23:33:17.49ID:FTUf1Nuq 調べてなお問題があると言うなら>>122の理解にこそ問題がある
124デフォルトの名無しさん
2019/08/09(金) 00:50:26.80ID:3pQudWDx125デフォルトの名無しさん
2019/08/09(金) 01:47:43.61ID:A3Et6VBe ・カレントディレクトリを取得する
・取得の失敗を検出したい
というのが要求だとして
Javaでそんな変なことせずに
もっとまともな書き方あるから批判する前に
勉強しろや
・取得の失敗を検出したい
というのが要求だとして
Javaでそんな変なことせずに
もっとまともな書き方あるから批判する前に
勉強しろや
126デフォルトの名無しさん
2019/08/09(金) 02:00:37.01ID:hvzVkerT127デフォルトの名無しさん
2019/08/09(金) 07:24:48.24ID:L3ygUsvb optional型とかnullable型みたいなヤツは色んな言語であるわな
128デフォルトの名無しさん
2019/08/09(金) 10:03:40.29ID:Fvfs1Ycj >>120
gcあるからそんなことしない
gcあるからそんなことしない
129デフォルトの名無しさん
2019/08/09(金) 21:22:16.39ID:0u6cxkej CWDてなんなんそもそもw
pwdコマンドにあるようにワーキングディレクトリってことでいいの?
それが失敗する時があるってのが想像できない
pwdコマンドにあるようにワーキングディレクトリってことでいいの?
それが失敗する時があるってのが想像できない
130デフォルトの名無しさん
2019/08/09(金) 21:48:39.98ID:hvzVkerT 想像力が足りない
Unix だと実行中のプロセスのカレントディレクトリを消すことができるので、
そこでそのプロセスが getcwd すると No such file or directory のエラーになる
Unix だと実行中のプロセスのカレントディレクトリを消すことができるので、
そこでそのプロセスが getcwd すると No such file or directory のエラーになる
131デフォルトの名無しさん
2019/08/09(金) 22:06:06.07ID:0u6cxkej132デフォルトの名無しさん
2019/08/09(金) 22:07:54.17ID:f7i7jNks Cの知識しか無いけどJava語っちゃう痛い人が、参照渡しだの値渡しだのを問題にしたがる
Cを使えるからってプログラミングの技術全てが語れるわけじゃないのにね
Cを使えるからってプログラミングの技術全てが語れるわけじゃないのにね
133デフォルトの名無しさん
2019/08/09(金) 23:42:56.34ID:W/azuYkt go9nzBX4が最初から間違ってるのは置いといてFTUf1Nuqは結局なんだったの?
134デフォルトの名無しさん
2019/08/10(土) 00:03:38.47ID:6zXh0uMN 僕はこう解釈したんだという日記
135デフォルトの名無しさん
2019/08/10(土) 13:42:02.08ID:lQ/anG82 >>124
一連のレスの中で漏れが一度も「参照渡し」という用語を使っていない件について:
参照型の参照渡しする、という状況は比較的新しい話で、
Javaはあえてかなんだか知らんが古来からある値型の参照渡しに類似の動作に対応していない
つまり呼び出し先で引数として渡された参照型自体を交換したり出力したりできない
JavaScriptやC#は対応している(呼び出し先で参照型自体を交換できいる。C#の例は>>118。refよりoutキーワードを使ったほうが良かったかもしれん…)
>>126
それで十分使いやすいと思われたのならそれで良いが、後発言語が参照型の参照渡しに対応しているという事実、
>>133
C++脳に汚染されていたのでclassとstructの区別がなかったんじゃ
一連のレスの中で漏れが一度も「参照渡し」という用語を使っていない件について:
参照型の参照渡しする、という状況は比較的新しい話で、
Javaはあえてかなんだか知らんが古来からある値型の参照渡しに類似の動作に対応していない
つまり呼び出し先で引数として渡された参照型自体を交換したり出力したりできない
JavaScriptやC#は対応している(呼び出し先で参照型自体を交換できいる。C#の例は>>118。refよりoutキーワードを使ったほうが良かったかもしれん…)
>>126
それで十分使いやすいと思われたのならそれで良いが、後発言語が参照型の参照渡しに対応しているという事実、
>>133
C++脳に汚染されていたのでclassとstructの区別がなかったんじゃ
136デフォルトの名無しさん
2019/08/10(土) 13:45:47.02ID:lQ/anG82 すまんまつがえたorz
JavaScriptの参照の渡し方はJavaと同じやった、
JavaScriptの参照の渡し方はJavaと同じやった、
137デフォルトの名無しさん
2019/08/10(土) 13:58:32.51ID:lQ/anG82138デフォルトの名無しさん
2019/08/10(土) 14:09:40.55ID:HCvhh7in 書き込むスレをいつまで経っても間違ったまま
そのことにすら無自覚で気付けないやつは
何してもだめ
そのことにすら無自覚で気付けないやつは
何してもだめ
139デフォルトの名無しさん
2019/08/10(土) 16:21:29.50ID:SX6PRfyx とりあえずrust全く関係なくね?
140デフォルトの名無しさん
2019/08/10(土) 16:31:04.83ID:dHQR6WD8 Java入門スレに来て何言ってるの?
141デフォルトの名無しさん
2019/08/10(土) 17:36:21.57ID:EB3chQuK Cのときからある混乱だよな
単にポインタ渡してるだけなのに
ポインタを値渡してるだけなのに
「ポインタ渡し」だとか「参照渡し」だとか言っちゃう
そーいうブログや個人サイトが今もいっぱいある
そもそもこんな状況だから
これについての議論はスタート地点からもうやる気ほぼ出ない
単にポインタ渡してるだけなのに
ポインタを値渡してるだけなのに
「ポインタ渡し」だとか「参照渡し」だとか言っちゃう
そーいうブログや個人サイトが今もいっぱいある
そもそもこんな状況だから
これについての議論はスタート地点からもうやる気ほぼ出ない
■ このスレッドは過去ログ倉庫に格納されています
