プログラミングの質問があるので中級者以上のやつ集まれ
■ このスレッドは過去ログ倉庫に格納されています
以下のサイトにshared mutable stateが悪だと書いてあるんだが↓
https://exploringjs.com/deep-js/ch_shared-mutable-state.html
俺も概ね同意なんだが、オブジェクトAを引数として関数F(メソッドF)に渡してFの中でAを変更するのもダメなんだろうか? ちなみにnode.jsを使っているのでマルチスレッドではない
だからshared mutable stateが問題となることは実際は無いんだが、言語の特徴に依らないプログラムが書きたい アフィヤック
イャンクリック
オカネハイルー
儲カル爆弾G
カネガジャララ
広告龍レスバトリオン
アドトトス
絶対業者
現金にして、頂戴
舞うは金、奏でるは転載の調べ
自演盛んにして転載未だ止まず
コジキマグロ
業者(わざもの)
大回転転載禁止斬り
アフィの頭弱いの来い!
転載爺さん
私腹肥やし玉
広告料アップ(大)
管理人の大粒のナミダ
自演モーラン
麻薬トルム
マトメル・カ
カクサンデマキジ
ゼニ・ゲーヴァ
マトメテオ・カネヲトル
広告が弾かれなくなった!
机上のテーブルマネー
パクルバッカ
ハーイゲハァー
アフィ・イスワルナ せっかくスレを立てたのに誰もレスしてくれないお・・・(´・ω・`)
皆さんもこんな経験されたこと・・・ありますよね?
でももう大丈夫!!!
安 心 し て く だ さ い ! !
そんな悲しい思いはもう我々がさせません!(`・ω・´)
たとえどんなクソスレでも
0 レ ス 撲 滅 委 員 会
が必ずや保護致します!(`・ω・´)
みなさん今後も安心してクソスレをお立てください
※同時に0レス撲滅委員会は新規委員も募集しております。
仕事は簡単!クソスレにただ書き込むそれだけ!!
慈悲に溢れる方、隙間時間を使って働きたいと考えている方
色々な人材をお待ちしております。 Fの中でAのメソッドを使って値を変更するならいいんじゃね
オブジェクトのプロパティを外部から変更できるようにしなければオッケーだと思ってる 値渡しと参照渡し的な
オブジェクトAの関数呼んで変更するならありじゃん
オブジェクトAの関数内で処理すれば >>6
なるほど…
マルチスレッド環境の場合Aのメソッド内でロックを掛ければ>>1の問題は回避できるかも?
むずい >>7
そうしようかな
まぁ参照渡しの引数の変更を禁止したらC言語なんかは書けないからな…
引数の変更の禁止を突き詰めると関数型プログラミングになってしまいそうだ >>9
C#だかはそれ専用のout宣言追加したぞ
明確に差別化すればいいんだよ というか関数型で書けるようになることこそが目的なんだから
その気がないなら何やっても良いぞ >>10
確かにプログラマ側がAが変更されることを明確に分かってればいいか
そうすればマルチスレッドで衝突がおきないように気をつけられるしね ,>氛氛氛氛- 、_
/:i:i:i:i:i:i:i:i:i:i:i:i:..:..:..:..:i:i:i:i:i:i:` ゙̄ヽ、
/:i:i:i:i:i:i:i:i:i:i:..:..:,>氛--、_:i:i:i:i:i:..:.\
ノ:i:i:i:i:i:i:i:i,〆´ ̄´ \:i:i:i:i:i:i:\
/:i:i:i:i:i:ハ'"´ ヽ:i:i:i:i:i:i:i\
/:i:i:i:i:/ ゝ:i:i:i:i:i:i:i:\
_,ノ´:i:i:i:i/ ヾ:i:i:i:i:i:i:i:i:i:iヽ
{:i:i:i:i:i:i:i:/ \:i:i:i:i:i:i:i:i:i:\
メ:i:i:i:i:i:i〈 ,,,,,,、 ヽ:i:i:i:i:i:i:i:i:i:ヽ
〃丿:i:i:i:i:i:i:| ,〃""´`` ヽ:i:i:i:i:i:i:i:i:i:i、
ル':i:i:i:i:i:i:i:i:i:} ,,,,,,, "//´ ̄ヾi}. ヽ:i:i:i:i:i:i:i:i:i:i、
ノ:i:i:i:i:i:i:i:i:i:i:i:i{ 〃"´´`ェ、 (;;( ● ノ;ノ .V:i:i:i:i:i:i:i:i:i:}
:i:i:i:i:i:i:i:i:i:i:i:i:iハ. ii /;;/´●`;;} ヾニニ" V:i:i:i:i:i:i:i:i:i:ヽ
:i:i:i:i:i:i:i:i:i:i:i:i:i:ハ. ゙ヾヽ、__ノノ .'、:i:i:i:i:i:i:i:i:i:i:i:
〉:i:i:i:i:i:i:i:i:i:i:i:i:i:} `  ̄ ̄ 1:i:i:i:i:i:i:i:ir-、
:i:i:i:i:i:i:i:i:i:i:i:i:i:i,′ ∨:i:i:i:i:i:i|
:i:i:i:i:i:i:i:i:i:i:i:i:i:i} ∨:i:i:i:i:i|
:i:i:i:i:i:i:i:i:i:i:i:i:i:i} 〃 |:i:i:i:i:i:i}
:i:i:i:i:i:i:i:i:i:i:i:i:i:ハ. ,ノ/ |:i:i:i:i:i:i}
:i:i:i:i:i:i:i:i:i:i:i:i:i:i:ヘ. 、 , -":..:/ }:i:i:i:i:i:i}
、:i:i:i:i:i:i:i:i:i:i:i:i:i:i:iヽ ヽ._ ___,,-‐ウ:..:.ノ /:i:i:i:i:i:i丿
,ゝ:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:ヽ. :..:.ヽ.__,r─ -‐´ r-ノ:..:/ /:i:i:i:i:i:i:i{
:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:\ :..:..ヽ. ーー r‐':..:..:../ ./:i:i:i:i:i:i:i:i{
:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i{ }:iト、 :..:..ヽ ー、___,,r‐' ー'´/:../ ./:i:i:∧:i:i:i:i
:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i∧ハ V} \ :..:.ヽ.__' ` _/:..:/ ,, ノ:i:i:i/ ヽ:i:i}
:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:〉 ヽ〉|:| \._ ヾ:..:.. ̄ ̄:..:..:..:.ノ ノ r "´:i:i:i/ |ノヽ
ル':i:i:i:i:i:i:i:i:i:} ,,,,,,, "//´ ̄ヾi}. ヽ:i:i:i:i:i:i:i:i:i:i、
ノ:i:i:i:i:i:i:i:i:i:i:i:i{ 〃"´´`ェ、 (;;( ● ノ;ノ .V:i:i:i:i:i:i:i:i:i:}
:i:i:i:i:i:i:i:i:i:i:i:i:iハ. ii /;;/´●`;;} ヾニニ" V:i:i:i:i:i:i:i:i:i:ヽ
:i:i:i:i:i:i:i:i:i:i:i:i:i:ハ. ゙ヾヽ、__ノノ .'、:i:i:i:i:i:i:i:i:i:i:i:
〉:i:i:i:i:i:i:i:i:i:i:i:i:i:} `  ̄ ̄ 1:i:i:i:i:i:i:i:ir-、
、:i:i:i:i:i:i:i:i:i:i:i:i:i:i:iヽ ヽ._ ___,,-‐ウ:..:.ノ /:i:i:i:i:i:i丿
,ゝ:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:ヽ. :..:.ヽ.__,r─ -‐´ r-ノ:..:/ /:i:i:i:i:i:i:i{
:i:i:i:i:i:i:i:i:i:i:i,i:i:i:i:i:i:i:i:i:\ :..:..ヽ. ーー r‐':..:..:../ ./:i:i:i:i:i:i:i:i{
:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i{ }:iト、 :..:..ヽ ー、___,,r‐' ー'´/:../ ./:i:i:∧:i:i:i:i
:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i∧ハ V} \ :..:.ヽ.__' ` _/:..:/ ,, ノ:i:i:i/ ヽ:i:i}
:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:〉 ヽ〉|:| \._ ヾ:..:.. ̄ ̄:..:..:..:.ノ ノ r "´:i:i:i/ >>11
それは極論では…
関数型はテストしやすいが書きにくいので大規模なプログラムには向かない気がする ■ このスレッドは過去ログ倉庫に格納されています