Пікірлер
@kuramizuki
@kuramizuki 5 күн бұрын
密結合を避けるって話かな
@YASSHY
@YASSHY 11 күн бұрын
実質枝豆VOICEにしゃべらせて聞かせるだけの動画なのに、BGMの音量が大きすぎて内容が頭に入らない。 KZbinに上げる前にチェックしろよ。
@il-fo7796
@il-fo7796 13 күн бұрын
Cとの互換性があってunix.hとかwindows.hなどのシステムコールである程度フルスクラッチで動作させられるって理由でc++をメインに選んだけど、正直未だに7割も理解してない気がするしそれでも最低限やりたい事が出来ているから他の言語に切り替えるのが億劫になって今まで来てる… Pythonも一瞬触ったけどエンコードと属性の不透明さにストレスが溜まるし、makefileを書いていると関数型の言語も違う感じがするしで丁度良い乗り換え先が見つからない
@三浦英樹-q7h
@三浦英樹-q7h 18 күн бұрын
C言語のポインタはかなり難しい概念です。 qr.ae/p2KGhZ この動画ではおそらくその辺を意識してポインタとアドレスは同じものではないと伏線を張っていて感心しました。
@user-shiro-emiya
@user-shiro-emiya 20 күн бұрын
つまむだけならC言語をそこそこ理解できていれば日本語リファレンスをチラ見するだけで簡単に使えるし、むしろCより分かりやすいと思うので初学者はC++から入るべきだとは思う…C言語やPythonで変な癖つけてしまって矯正に苦しんでいる人を見ると余計に
@Geek-zl6bs
@Geek-zl6bs Ай бұрын
これ、自分しか使わない場合はいいんだけど、 ライブラリをユーザーに提供するときは、ユーザーが依存関係とか意識せずにコンストラクタを呼べるメリット があるんですよねー。
@ish_pack
@ish_pack Ай бұрын
メンバーが不変なシングルトンをセットとして渡すのは不要なやつが入りすぎてない前提でOK。問題は変更の自由度が高く拡散してる場合。いつどこでどれがどのように
@kよろしく
@kよろしく Ай бұрын
javaのspring bootとかの話だとシングルトンはController,Serviceなど一つのインスタントだけでよい場合などで利用されている。 なぜ一つだけにする必要があるのかは無駄にメモリを消費しないようにするため。 シングルトンはマルチスレッドになったときに問題が発生するのでテストが難しい。
@fuemma--7122
@fuemma--7122 Ай бұрын
このチャンネル分かりやすくて好きです😊
@fuemma--7122
@fuemma--7122 Ай бұрын
確かにC++動画珍しいですね😍
@kawamo55
@kawamo55 Ай бұрын
mallocはメモリの断片化が起きるので扱いは難しいですね。 小さいものであれば可変配列のほうがいいかも・・・
@panrai-qs7gg
@panrai-qs7gg 2 ай бұрын
CRC計算するプログラム作ってる時にめちゃんこ考えたww
@Aki.K.
@Aki.K. 2 ай бұрын
プログラミング言語においても銀の弾丸はないので、何にでも使えるという話を聞いたら何に使っても使いづらいぐらいの意味だと捉える方がいいでしょう。 実際、現代において C++ の採用は、本当に適用するべき分野なのかを熟考した上での選択でないなら間抜けな判断としか言えない状況です。 その仕事により適した道具がないのかどうかを考え、複数の道具から最適な道具を選んで使い分けられるようになるのが理想的です。
@samurainozuo5721
@samurainozuo5721 2 ай бұрын
一部のコンパイラ開発者の間ではC++はもうええって、という空気になっているらしい。
@mogmog1968
@mogmog1968 2 ай бұрын
C++は、シープラスプラスじゃなくて、シープラプラって言ってました。自分のいた会社だけ?
@AlienMuuMuu
@AlienMuuMuu 10 күн бұрын
シープラプラという略称は、日本のIT業界では標準化されています(嘘
@smog7711
@smog7711 5 күн бұрын
しーぴーぴーやぞ
@MitoHanshi
@MitoHanshi 2 күн бұрын
うちの会社だとシープラです
@MixUpMkV
@MixUpMkV 2 ай бұрын
C++って、CのVer2.0と勘違いして、今C言語使えるという事はC++を指すと勘違いしている人が居たりしました。 別言語と言っても良いと思いますが。 ++で拡張された機能が特に不要だったので、C言語のみでやってました。が、その勘違いで、変に++使いにされてしまった経験があります。勘違いを勘違いと認めなかったため、とっさにPHPのプロジェクトに逃げた事がありました。
@natsuki9293
@natsuki9293 2 ай бұрын
「絶対使うな」には反対だけど、動画内で全てのユースケースについて言及するのは難しいので、コメントで色んな意見残してくれるのありがたい。
@Aki.K.
@Aki.K. Ай бұрын
「絶対に使うな」に反対と書き込もうとしてた。「安易に使うな」が正しいですね。 対象の業界が違ったりすると本当にフィットする状況があったりするのだけれど、なんでもかんでもアンチパターンのように呼んでレッテルを貼ってしまうと、それはもう原理主義になる。 思考停止せず常に最適な方法を探し続ける事が重要だと感じています。
@yas-156
@yas-156 2 ай бұрын
シングルトンパターンを使うな、ではありません。グローバル領域の代わりにシングルトンパターンを使うな、です。 そのためにはクラス設計をしっかりとしろ、です。結果として1インスタンスにしかなり得ない場合はシングルトンパターンを使う事になります。 ここから継承はあり得ない、あるいは継承させない時にはスタティッククラス(全フィールド、全メソッドをスタティック)にすることもあります。
@神谷了
@神谷了 3 ай бұрын
アセンブラを書いてみればポインタは簡単に判る、アセンブラのCPU依存を消したのがC言語 元々の開発経緯から当然そう成っている。 アセンブラではポインタは使わずにプログラムを書けないので自動的に覚える。
@NANDgaarebaNANDemodekiru
@NANDgaarebaNANDemodekiru 22 күн бұрын
アセンブラもいいですけれど、シミュレーターとかでCPUを作るのもいいですよね
@神谷了
@神谷了 22 күн бұрын
@ 最近「コンピュータシステムの理論と実装」O’Reilly をやってみました。ハードからコンパイラまで自分で作れて、簡単に実装出来る仕様が素晴らしかったです
@神谷了
@神谷了 3 ай бұрын
Cが機能増やして C++ と互換性が無くなると、C++ へ持って行けなくなるから困る、返って不便になるから使わない
@millipferd
@millipferd 3 ай бұрын
2:58 Designated の読みはデジネーテットよりデジグネーテットのほうが正しいと思います。
@mikeneck
@mikeneck 3 ай бұрын
引数が多いこととシングルトンを使うことの関係がわからないかな… ただ、これは Java を前提で考えたからなので、 C++ などの言語ではどうなのかはわからん。なお、 Java では DI(Spring/Quarkus/Helidon...etc) がよくできていて、シングルトンの管理も DI コンテナに任せるだけなので、シングルトンパターン自体がもう解決済みなので、勉強する必要性ももうないかもしれない。
@Aki.K.
@Aki.K. Ай бұрын
自分は DI 自体が好みではないですね。コンパイル型言語の利点をほとんど殺してると感じます。 Go 言語を体験して、余計な物がない世界がどれだけ素晴らしいことかを知りました。
@Cat-pv1zz
@Cat-pv1zz 3 ай бұрын
C言語も進化してるんだなぁ 低レベルでテコ入れが進んでるのRustぐらいだと思ってた
@abcz262
@abcz262 3 ай бұрын
シングルトンは単体利用するとバグの巣窟になる。その経験をするとfactoryやfacadeを組み合わせたDIの利点が学べる。GoFは23パターンだが座学レベルだから、業務レベルで使うのはMVC以降の新パターンだから注意やね。
@phono2
@phono2 4 ай бұрын
パフォーマンスが欲しいケースなら私はrustでよいかな。かつ安全(らしいし)
@kosetei1
@kosetei1 4 ай бұрын
動画で指してる問題点は、クラス中にグローバルインスタンスを突然使うな、と言うものやん。 シングルトンは初期化前にグローバルインスタンスを使わせないという目的で作られてるんだから、シングルトンを批判するのは間違ってるよ。 少なくともグローバルインスタンスになる想定のクラスを作る側はグローバルにするぐらいなら、シングルトンにすべきだし、 使う側はシングルトンだろうと何だろうとカプセル化した中でグローバルインスタンスにアクセスするな、と言うだけ。
@kosetei1
@kosetei1 4 ай бұрын
それシングルトンというかグローバルインスタンスの問題点では
@ya7855
@ya7855 4 ай бұрын
loggerの使い方に困惑してる人、そこそこいるよね
@paalon3303
@paalon3303 4 ай бұрын
みんなどんな言語・設計の話をしているのか分からないけれど、シングルトンな型はプログラムの基本で、ありふれたものだと思うんだけど違うのかな?値を1種類しか取らない列挙型と何が違うんだろう。
@kky5783
@kky5783 4 ай бұрын
シングルトンを多用するとオブジェクト指向ではなく手続き型と変わらなくなりますね。使い所は見極めないといけない。何でもかんでもユーティリティに突っ込んじゃうとか駄目よねえ。
@Arsche
@Arsche 4 ай бұрын
たこやきみたいだな
@真珠恵瑠
@真珠恵瑠 4 ай бұрын
abc予想の証明よりC++の方が難しい事を証明したが、ここにそれを書くには余白が狭過ぎる
@はてなインコ
@はてなインコ 4 ай бұрын
ゲームではサウンドの再生を担当するクラスはシングルトンにしてます 他のクラスに影響を及ぼさず値も返さないvoid関数のみを持つクラスであれば、シングルトンパターンにしても依存関連のバグは生まないはずなので、その場合シングルトンは使っても良いと思っています とはいえ、私も乱用は避けるべきだとは思います 得に大人数でのプロジェクトではstaticのデータは思いもよらない使われ方をしたりもするので
@IzumiKazan
@IzumiKazan 4 ай бұрын
Unity でゲーム作っていますが、シングルトン使えないと詰む。 幾つかの危険性があるというのは理解できるが、使うなというのはチョット何言っているのか判らない。
@polishyou-kp3bq
@polishyou-kp3bq 4 ай бұрын
絶対に使わないようにすべきっていうのは言い過ぎでは? 例えばKotlinは後発の言語だけど、objectっていうシングルトンをサポートする構文が言語レベルで存在する。 何も考えずに使うなっていうのが正解な気がするけど。
@sagat64
@sagat64 4 ай бұрын
むかしプレステ1の開発時にポリモーフィズムが欲しくて導入したら いつのまにか V-Table がメモリを圧迫してて往生しました。たしかメインメモリは2メガバイトでした。 10年ほど前にヘルプで入ったプロジェクトでは、テンプレートで魔改造されたコードだらけでまいりました。 ビルドも遅かったな。今はどうなんでしょうね。
@神谷了
@神谷了 5 ай бұрын
C++を取り上げるのは珍しいですね、215人しか居ないし、日本ではマイナーに成ってしまいましたね、C++14 あたりのモダンな書き方に限れば Java なんかより綺麗に書けて std::move とか Rust と同等のメモリー管理も可能と思います。 Web 系でも WebAssembly とか Drogon が出て来ています。C言語から習うとモダンまで辿り着かないので、モダン化前を切り捨てた仕様をまとめて出してもらい標準化すれば初心者にも使い易い言語に成るのにと思っています。Python 並に使い易くなると思っています。
@ryu2543
@ryu2543 3 күн бұрын
Drogon、良いんだけどわざわざ採用する理由が無さすぎる… 実際弊チームでも採用した事があるけれどパフォーマンス向上のために採用するくらいならRustのaxumでエエやんになってしまった
@paseri9697
@paseri9697 6 ай бұрын
接続管理クラスには普通に使うでしょ
@nemunoki963
@nemunoki963 6 ай бұрын
templateとか面白いよ
@paseri9697
@paseri9697 10 ай бұрын
だいたいつよつよエンジニアがC++で書いたコードを別言語でラッピングしてくれるから(numpyとか)直接触らなくてもなんとかなっちゃう ゲームとかハードウェア触るなら必須なんだろうけど一生触りたくない
@younonakahiroshi
@younonakahiroshi 11 ай бұрын
gccのスタックサイズのデフォルトはもっと大きいで
@おさとう-i1y
@おさとう-i1y 11 ай бұрын
敵だ!
@あぴよん-i5h
@あぴよん-i5h 11 ай бұрын
拡張につぐ拡張で、(アスキーコード上の)使える記号が足りなくて 文法で意味が変わるのが多いんだよね。 例えば「&」は、・アドレス取り出す。 ・論理演算のAND ・比較演算のAND ・参照 みたいに同じ記号が違う意味で使われているのが多い。
@神谷了
@神谷了 5 ай бұрын
python のデコレータに使う @ を残しているのは、次の規格でデコレータを入れるつもりなのかも
@ab_221B
@ab_221B 4 ай бұрын
​@@神谷了どういう事? C++にデコレーター実装されるって事? 文章うまく読み取れ無くてすまん。
@あぴよん-i5h
@あぴよん-i5h 11 ай бұрын
C++が拡張されていってラムダ式まで書ける様になったけど 未だにこの文法判らんし、なんか好きになれない
@神谷了
@神谷了 5 ай бұрын
[]が余分なだけで、他の言語のラムダ式と同じと思うけど、外部変数のキャプチャーとかでしょうか? [&] といつも書いてます、飾りと思えば似たようなものです。
@nanaseyou9987
@nanaseyou9987 Жыл бұрын
DIコンテナ使うようにしたので参考にしまーす\(^o^)/
@mak_in_1232
@mak_in_1232 Жыл бұрын
シングルトンパターンは、ファイルの書き込みなどのIOに代表される操作したい人はたくさんいるけど、実際に操作できるのは1つ、の時に待ち行列とかする時に使う。 そのシチュエーションを自分のアプリケーションコードで書くことはほぼ無いはずなので、使わない、としても基本には問題ないことが多い。 が一点注意は必要。 一番使われるパターンとしてはログ書き込み。 逆に言えば、ログ書き込みを自分でそのままファイル出力で書くと衝突してトラブルになる。 これを知っていれば、ログ書き込みライブラリが大抵あるので良い感じにシングルトンで制御してくれる。
@aegialina
@aegialina Жыл бұрын
組み込み系なら絶対に覚える必要がある言語の一つ。その他の所でも覚える必要がある場所も少なくない
@agesala1885
@agesala1885 Жыл бұрын
確かに自分達が書くアプリケーションコードにシングルトンを使うなら注意だけどフレームワークの実装ではよく使われてるんだよな
@uA-gy8wk
@uA-gy8wk Жыл бұрын
これ習えばゲーム作れるかな?
@aegialina
@aegialina Жыл бұрын
できますが、最近は初心者に優しいと有名なC# とかもよく使われますね。
@gugulecus8782
@gugulecus8782 10 ай бұрын
ゲームを作る場合に重要なのは、言語よりもその言語の世界に存在するライブラリの方です。 グラフィックだったりサウンドだったりジョイスティックだったり。 Cは、そういうライブラリは豊富に存在しております。 ただ、まとまりはないので難しいのです。
@神谷了
@神谷了 5 ай бұрын
C++ のゲームフレームワークと言えば Unreal Engine です。フォートナイト とか米国の高性能ゲームは、ほぼこれで書かれています。
@中田田中-d4k
@中田田中-d4k 4 ай бұрын
学ぶことで一番大事なのはモチベーションを保つことだしPythonがおすすめだぞ。あと、少し高いけどちゃんと書籍買うのが大事! 「ゲームで学ぶプログラミング!」みたいな書籍がたくさんあるからね!
@かおる-i6g
@かおる-i6g Жыл бұрын
教養としてプログラミングを学んでいる者です いくつかC言語のポインタ解説動画を見てきましたがこの動画はかなり分かりやすい方だと感じました これからも動画投稿頑張って下さい!