19/06/23 07:05:57.27 6LMXkq2m0.net
WindowsもLinuxもMacもカーネルがCで書かれてるらしいけど何でC++じゃないんだろう?
113:デフォルトの名無しさん
19/06/23 09:01:51.47 Xq17DW5L0.net
C++がそこまで整備されていなかったから
OSといえばC言語で書くのが当たり前だから
そもそもC言語で十分だから
Linus「C++はレベルの低い奴が使うものだから」
114:デフォルトの名無しさん
19/06/23 09:11:04.02 p0iHiqR80.net
>WindowsもLinuxもMacもカーネルがCで書かれてるらしいけど何でC++じゃないんだろう?
何回質問されたことだろうか。
115:デフォルトの名無しさん
19/06/23 10:55:33.78 6LMXkq2m0.net
OSじゃなくて組み込みでも大部分Cでしょ?
なんで?
116:デフォルトの名無しさん
19/06/23 10:57:16.59 6LMXkq2m0.net
URLリンク(news.mynavi.jp)
>組み込みシステム向けプログラミング言語の中で「一番好きな言語」としても「C」(29.1%)を選んだ人が最も多く、これに「Microsoft Visual Basic」(16.8%)、「C++」(15.3%)が続いた。
117:デフォルトの名無しさん
19/06/23 11:17:45.87 6LMXkq2m0.net
Linus TorvaldsのC++批判は正しかったのか
URLリンク(developers.srad.jp)
C++の最大の問題は学習が難しい事か。
たぶんC++を学ぶ時間でCとJava両方学べるね。
118:デフォルトの名無しさん
19/06/23 11:20:59.77 JKCTeXCU0.net
超堅牢に作らないといけないから、
見えないところでコピコン大量に走ったりするような言語は避けられるんじゃないか
ヘッダーに実装書き散らしてるのよくないね
OSはバイナリ境界意識しないといけないし
まあどのみち標準ライブラリは使えないけど
119:デフォルトの名無しさん
19/06/23 11:28:01.94 6GXr3JQp0.net
最近BS/CSが映らなくなった人はここを見ると良い
【B-CAS改造】Bカスカード2038化書き換えツール配布所 205
スレリンク(avi板:1番)-100
120:デフォルトの名無しさん
19/06/23 11:39:08.67 4lSN7b3Y0.net
URLリンク(nlab.itmedia.co.jp)
人の顔を生成するaiはどうやって作れますか?
121:デフォルトの名無しさん
19/06/23 11:39:50.16 Xq17DW5L0.net
>>115
各ベンダーがサポートするにはC言語がちょうどいい規模だから
122:
19/06/23 12:03:58.80 DC/NnmXU0.net
>>112
C++ のデフォでのマングリングが外部結合(リンク)を阻害するから、に一票
123:デフォルトの名無しさん
19/06/23 12:09:47.82 LchWS7uN0.net
ちがう
ちがうなぁ
ポインタがあって適度に奥が深いから、だ
124:デフォルトの名無しさん
19/06/23 12:22:24.97 BQwXISYN0.net
メモリの制御が難しいからじゃね
最近やっと標準でまともなメモリ管理の仕組みを作り込めるができるようになったくらいだし
125:デフォルトの名無しさん
19/06/23 14:34:24.36 hhhlIxdX0.net
昔からメモリ制御なんてCと同じことはできるだろ
126:デフォルトの名無しさん
19/06/23 14:56:33.46 WUJS/EaT0.net
今のC++なら十分使えるよね
継承やSTL、shared_ptrみたいなことをCで実装してるわけで
それを考えたらC++で良い
127:デフォルトの名無しさん
19/06/23 16:01:29.78 EoSayXaXa.net
プログラムの一部にでもRTTIを使用した部分があるとプログラム全体のパフォーマンスが低下する?
128:デフォルトの名無しさん
19/06/23 16:37:25.79 p0iHiqR80.net
まあc++でちゃんとしたもの組もうと思ったらデストラクタをしっかり用意するってのが
大事なわけだが、かなりいろんな状況に対応したものにしないとまともに使い物にならん。
これはメタプロバカが思ってるほど難易度は低くない。
129:デフォルトの名無しさん
19/06/23 16:59:21.61 7M38Ae5l0.net
>>127
コンパイラオプションでRTTIを無効化するとデータ量が減るのでパフォーマンスが上がる
→つまり一部でも使ってると低下する
まぁ今時は気にする必要無いと思うけど
速度は実測が基本
130:デフォルトの名無しさん
19/06/23 17:38:56.55 hhhlIxdX0.net
自前でデストラクタ書くなよ
131:デフォルトの名無しさん
19/06/23 18:20:15.96 xbroTRmV0.net
えっ
132:デフォルトの名無しさん
19/06/23 18:29:28.72 BQwXISYN0.net
ちゃんと例外を投げないデストラクタを書くんだぞ
fcloseの失敗はもみ消せ
どうせ回復などできない
133:デフォルトの名無しさん
19/06/23 21:01:47.41 EoSayXaXa.net
>>129
やはりそうですか、ありがとうございます
速度は今試せないのでまたこんどやってみます
134:デフォルトの名無しさん
19/06/23 21:13:15.69 PTFzQo+G0.net
>>107
えーっとcinってのはistream型のオブジェクトってことでいいんですかね
externをいまいちよく分かってないですがヘッダ内で定義されてるから他のファイルでも使えるとという認識で大丈夫ですかね
135:デフォルトの名無しさん
19/06/24 07:55:10.22 6Zff8TGS0.net
1.思考停止してそのまま使う
2.外界から齎される無限長の情報列がストリームである、と理解する
好きな方を選べ
136:デフォルトの名無しさん
19/06/24 15:40:31.96 DnOtpTuq0.net
何でC++使ってる職場少ないのにプログラム板で上位なの?
137:デフォルトの名無しさん
19/06/24 15:56:59.67 OO73LhBR0.net
すく・・・ない・・・?
138:デフォルトの名無しさん
19/06/24 16:10:16.23 vRXjoyqNM.net
Web業界の人とかなんだろ
139:デフォルトの名無しさん
19/06/24 17:32:13.27 i4YKAGQ3r.net
「C++実践プログラミング」って良い本?
140:デフォルトの名無しさん
19/06/24 18:02:59.78 HUc+KEird.net
実は多いだろ?
社内に囲われているだけで
141:デフォルトの名無しさん
19/06/24 22:05:46.06 qyAEE2sQ0.net
C++プライマーとaccelerated C++一通りやってeffective C++始めたんだけどすんごくめんどくさーい
acceleratedの後半あたりから思ってたんだけど純粋なロジックやテクニック以外のところで考えなきゃいけないこと無限にあってできるようになる気がしない
実際に開発になってクラスやインターフェイスの設計ってみんなこんな色々考えてやってんの?って
競プロっぽい問題だったりちょっとしたもの作るのは割と面白いけどなんかもう萎えてきた
世の中のプロってやっぱ(modern) effective C++とかmodern C++ designとかその辺りは基礎教養レベルまでもっていってるもんなの?
2年目のペーペーだけどとてもC++のプロになれる気がせんわ
142:デフォルトの名無しさん
19/06/24 22:08:08.69 tWJeInAS0.net
そのへんはさらっと何が書いてあるか見ておいて、実際書くときに関係ある部分を参照する本では?
143:デフォルトの名無しさん
19/06/24 23:54:52.99 4vQIe5sT0.net
>>141
それは思うわ
結局その辺の不満を改善したのがJava以降のオブジェクト指向言語だから
今C++を勉強すると面倒すぎると感じるはず
144:デフォルトの名無しさん
19/06/25 00:51:00.92 rXRUIvly0.net
必要だと思うもんだけ使えばええがな
145:デフォルトの名無しさん
19/06/25 01:40:27.96 rF6w0adX0.net
11 名前:(´・ω・`)(`ハ´ )さん[] 投稿日:2019/06/24(月) 17:55:34.54 ID:PqEssjoP
世界三大英雄は野茂と村田と、あと1人は誰?
142 名前:(´・ω・`)(`ハ´ )さん[sage] 投稿日:2019/06/24(月) 21:21:51.77 ID:osRVwCku
>>11
中野英雄
146:デフォルトの名無しさん
19/06/25 07:42:37.27 p22LimGY0.net
>>132
回復できないエラーでもユーザーに通知する余地はあるでしょう。最悪abort()でも、もみ消すよりはマシ。
147:デフォルトの名無しさん
19/06/25 12:36:52.78 U+wxsv9j0.net
JavaもC++も大して変わらないと思うけど
148:デフォルトの名無しさん
19/06/25 12:59:41.31 gYxx7iw3p.net
>>141
modern C++ designはメタプログラミングに片足突っ込んでるからだいぶ後回しでいいと思う
考えること無限にある、は同意だけど優先順位低いものは忘れた方がいいんじゃないかね(特に、ループ回しもしない箇所の速度効率とか
149:デフォルトの名無しさん
19/06/25 17:37:46.05 kxXa+TrUd.net
むしろjavaの方がいろいろ面倒くさくね
150:デフォルトの名無しさん
19/06/25 17:56:57.79 Cc6pu6kp0.net
使用する概念としてはJavaとCを足してさらに多重継承とか演算子オーバーロードとかを足した
のがC++という印象だった。
151:デフォルトの名無しさん
19/06/25 18:01:11.39 Cc6pu6kp0.net
プログラミング言語 収入 ランキング
とかでぐぐると
難しい上に重要なはずのC++が年収ランキングで10位以内に無いんだが
152:デフォルトの名無しさん
19/06/25 18:15:31.86 U1S86Wri0.net
統計の取り方が不明
153:デフォルトの名無しさん
19/06/25 18:20:11.68 4vpt+Hzy0.net
>>140
多いってのはどこで集計されて発表されてるの?
154:デフォルトの名無しさん
19/06/25 18:30:38.49 U+wxsv9j0.net
一発当てて稼げてるのがwebサービスやってる人たちだから
155:デフォルトの名無しさん
19/06/25 19:12:58.12 p4xx1Je/a.net
C/C++まともに書ける人は貴重になってきてるのに何故か低いよねえ
特定の会社に行くしかない気がする
156:デフォルトの名無しさん
19/06/25 19:18:47.91 S67hXFxm0.net
>>151
経済の世界でよくあること:
・高度な能力を持つ人は給与ではない部分にやりがいを感じるので給与に
関係なく集まってしまう。アニメーターは絵がものすごくうまいのに、
マクドナルド店員よりも自給が低い。「やりがい搾取」。
・高度な分野は、人材も高度な人が集まってくるので需要よりも大き過ぎる過剰な
成果を出してしまうので給与が下がるらしい。プログラマや数学者、
コンピュータ業界なんかは大体、そんな感じのところがある。
157:デフォルトの名無しさん
19/06/25 19:21:25.34 Xe7ucSUW0.net
高度な分野においては、とても僅かな一握りの人が、過大な成果を出してしまう。
すると、大体の場合、給与が下がるらしい。世界のわずか数人が異常なほど大きな成果を
出しているとか。
158:デフォルトの名無しさん
19/06/25 19:28:18.56 U+wxsv9j0.net
みんな勘違いしてるが儲かる商売してるかどうかだけが稼ぎに関係している
儲からない商売に超絶技巧を投入しても意味ない
サービスで一発当てる方が100倍稼げる
159:デフォルトの名無しさん
19/06/25 19:43:08.34 0zPp4OkO0.net
というか自分のビジネス思いつくタイプでもないプログラマーが稼ごうと思ったらなるべくニッチな言語を探していくべきなんだと思う
C/C++なんてメジャーどころは一番だめなんじゃないか。まだまだ人が少ないか、書ける人がどんどん減っていきそうなところを
160:デフォルトの名無しさん
19/06/25 19:50:04.75 U1S86Wri0.net
COBOLは意外と稼げるらしい
161:デフォルトの名無しさん
19/06/25 20:09:29.07 U+wxsv9j0.net
>>159
違うぞ稼げる商売やってる人に乗っかるのが正解
現在儲かってしょうがない会社に入るか今後そうなる会社に入っておくしかない
専門分野は関係ないが一発当てようがない業界というのはあるからそういうところは目指さない方がいい
162:
19/06/25 21:00:35.29 eaNcyZwN0.net
言語は表現手段にすぎないので、言語で分野が決まってしまう現状には疑問を持ちます
少なくともライブラリーは統一されるべきだと昔から夢想してきています
163:デフォルトの名無しさん
19/06/25 21:02:24.65 i1Zv6l/dM.net
現実にあったんじゃよCOMというものがな
164:デフォルトの名無しさん
19/06/25 21:03:41.95 zDe7yE4Q0.net
ライブラリはCインターフェースさえあれば全てのまともな言語から呼べるから問題ない
165:
19/06/25 21:07:14.96 eaNcyZwN0.net
>>163
OLE は重過ぎるんじゃないでしょうか?単に名前と仕様が「ある程度」統一できればいいかと考えています
でも OLE はもう一度調べなおしてみます、キーワード提供ありがとうございます
166:
19/06/25 21:07:47.47 eaNcyZwN0.net
>>164
OO であるべきでは?
167:デフォルトの名無しさん
19/06/25 21:10:43.33 6yREXBxQ0.net
素朴な疑問なんだけど
オブジェクトをshared_ptrで管理するとき
そのオブジェクトから他のオブジェクトにポインタを渡したいときってどうするの?
コンストラクタ以外のメソッドからならenable_shared_from_thisで
生なthisポインタからshared_ptrを生成して渡せばよいけど
コンストラクタだとそれも無理だよね(shared_ptrが作られるのはnewの後だから)
どうするの?
168:デフォルトの名無しさん
19/06/25 21:11:27.40 paQRKRTX0.net
ポインタ指向プログラミングとオブジェクト指向プログラミングは根本的に相性が悪い
これがC++高難易度化の一要因
169:蟻人間
19/06/25 21:13:45.53 ayyd1Kg3d.net
>>167
make_sharedじゃね?
170:デフォルトの名無しさん
19/06/25 21:15:54.14 6yREXBxQ0.net
てかさ
自分自身のスマポを
外部から渡してもらわないと、自分では知れないってのは
設計ミスなんじゃね?
当たり前、JavaやC#だとそんな制約ないからなぁ
171:デフォルトの名無しさん
19/06/25 21:18:19.51 p4xx1Je/a.net
代入がメンバのコピーという仕様が全ての複雑さの元凶
互換性のために仕方なかったとはいえ
おかげで完全に動くクラスをつくるのが凄まじくしんどい
それを改善しようとしたJavaは全てポインタのコピーというふうに割り切ったが
Optinalを導入しなかったせいかヌルポの山を築いた
それを改善しようと
Rustは全てがムーブという世界を作ったがまだ受け入れられるには早かった
172:デフォルトの名無しさん
19/06/25 21:24:24.92 6yREXBxQ0.net
>>171
これまた不思議なもんで
Cからして配列は参照渡しなのに構造体は値渡しだからねぇ
Cの構造体が配列みたいにアクセスするとポインタに成り下がる仕様だったのなら
C++もまた違ってただろうねぇ
どちらがいいかは分からないが
173:デフォルトの名無しさん
19/06/25 21:26:08.00 i1Zv6l/dM.net
えっ
普通は呼吸をするように
const T& var
て書く様に訓練されてるだろ?
174:デフォルトの名無しさん
19/06/25 21:29:04.07 U+wxsv9j0.net
任意にコピーとポインタとムーブを使い分けることになんの苦労も無いと思うけど
175:
19/06/25 21:29:56.71 eaNcyZwN0.net
>>172
私は逆を考えていました、すなわち、配列ですら値渡しであるべきかと
参照渡しにしたいのなら、そのすべてに * をつけて明示するべき
176:デフォルトの名無しさん
19/06/25 21:32:48.81 6yREXBxQ0.net
そうではなくて
構造体において何も考えずに代入した場合
実体のコピーになるって話では
その点、配列では実体のコピーにならないので
JavaやC#のオブジェクトに近い仕様で
なかなか先鋭的
177:デフォルトの名無しさん
19/06/25 21:44:51.24 6yREXBxQ0.net
そんなことより
コンストラクタで自分自身のshared_ptrが欲しい時
どうするの?
欲しい理由としては、どっかシステム的なところにattachしたり
自分のコンポジションした子供たち?に渡したり
そういうことをコンストラクタですっかりしたい場合どうすんの
enable_shared_from_thisを継承して二段階初期化ってのもかっこ悪いし
(↑生成する側がshared_ptrを使ってくれなかった場合
クラッシュするってのは置いておいてさ)
そもそも実行時型情報なんて反則が許されるなら
仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている
って仕様でもよかっただろ?
スマポ側が参照カウンタを持っているってのは一見賢そうだけど…
上手くいかないパターンもあるよね
178:デフォルトの名無しさん
19/06/25 21:48:45.68 6yREXBxQ0.net
>仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている
↑これはちょっと不正確だな
vtableと一緒に参照カウンタ~
が正解かな
179:デフォルトの名無しさん
19/06/25 21:52:05.85 zDe7yE4Q0.net
ファクトリでやれ
180:デフォルトの名無しさん
19/06/25 21:54:23.16 jeBecXDk0.net
>>177
create関数でshare作ってから後の構築処理して返すしかないんじゃね
181:デフォルトの名無しさん
19/06/26 00:01:25.34 7raG/MY10.net
有害でしかない美意識は投げ捨ててshared_form_this使えって話になるだろ
182:デフォルトの名無しさん
19/06/26 00:07:57.67 HPTAJdxK0.net
それでもコンストラクタでは使えないから二段階初期化になるな
183:デフォルトの名無しさん
19/06/26 00:27:47.77 3ywCP3+N0.net
ちょっと質問なんですが、どういうときに必要になるんですか?
184:デフォルトの名無しさん
19/06/26 01:38:39.12 kcNPbTTh0.net
Intel、新プログラミング言語「Data Parallel C++」を開発中
2019/06/25 11:08 後藤大地
URLリンク(news.mynavi.jp)
ossbytesは2019年6月24日(米国時間)、「Intel Is Working On A New 'Data Parallel C++’
Programming Language」において、Intelが「Data Parallel C++」と呼ばれるプログラ
ミング言語の開発を進めていると伝えた。
Data Parallel C++に関しては、先日Intelが発表した「Intel’s ‘One API’ Project
Delivers Unified Programming Model Across Diverse Architectures」程度しか情報が
なく、具体的にどのようなプログラミング言語なのか、わからない状況にある。
記事では、これまでに公開されている情報から、Data Parallel C++の特徴として以下を
まとめている。
・Data Parallel C++ (DPC++)はIntelが以前から取り組んでいるOneAPIプロジェクトの
成果物の1つ
・OneAPIプロジェクトはさまざまなコンピューティングアーキテクチャにおいて統合された
プログラミングモデルを提供するための取り組み
・Data Parallel C++はC++をベースに開発されている
・Data Parallel C++はKhronos GroupのSYCLシングルソースC++プログラミングスタン
ダードがベースになっている
・CPU、GPU、FPGAといった異なるアーキテクチャに対して使用できる
・Data Parallel C++の詳細は2019年第4四半期の発表される見通し
GPUの活用はスーパーコンピュータにおいても重要度が増している。Intelは異なるアーキ
テクチャに対して利用できるプログラミングモデルを構築することで、さまざまなコン
ピューティングアーキテクチャに対して同じコードベースで開発を進められる仕組みを
実現することを目指していると見られる。
185:デフォルトの名無しさん
19/06/26 04:17:13.86 0Jy9MjGr0.net
結論
使えない
186:デフォルトの名無しさん
19/06/26 06:38:56.80 LU29nklf0.net
>>177
相互参照自体がクソ汚い設計なんだからツールがいくら綺麗になってもダメ。
諦めてthis渡せや。
187:デフォルトの名無しさん
19/06/26 07:32:00.47 ICIJHbsn0.net
>>184
OpenCLとの違いは何
188:デフォルトの名無しさん
19/06/26 07:40:21.71 0Jy9MjGr0.net
異なるアーキテクチャに対応
高額
インテルサポートあり
189:デフォルトの名無しさん
19/06/26 08:12:04.77 x0x3rSL40.net
OpenCLがずっと停滞気味なのに業を煮やしたんじゃね
190:デフォルトの名無しさん
19/06/26 12:31:58.13 ghoq0O6D0.net
Intelは、CPU内臓のGPUを自前で作ってるから、そのための開発環境は
重要で、実行時のパイプライン関連のさまざまな高速化においても、
共通の技術が使えるので開発するメリットは大きいのだろうと思う。
レジスタ割付、ループ関連の最適化などは、CPUを実行する段階でも
似たことが行われる。
191:デフォルトの名無しさん
19/06/26 12:39:28.47 Lh4/MgoYa.net
そんなくだらんライブラリ作ってる暇あったらCUDA互換のランタイムだせーい
192:デフォルトの名無しさん
19/06/26 12:57:05.45 ghoq0O6D0.net
言語ではなくて、テンプレートライブラリなの?
193:デフォルトの名無しさん
19/06/26 17:24:56.62 hivlE/XW0.net
海外のニュースサイト見ても言語と書いてある