次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part132
http://mevius.5ch.net/test/read.cgi/tech/1507561894/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part133
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1fcf-H1rY)
2017/11/24(金) 16:52:50.43ID:WoNXR2ax02デフォルトの名無しさん (ワッチョイ 5fcf-H1rY)
2017/11/24(金) 16:53:45.38ID:WoNXR2ax0 STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ----
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ----
3デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/24(金) 17:23:34.21ID:tVS6N6Kc0 >関数内で作ったベクターやマップは関数を抜けたらメモリ解放されると考えてよかです?
だって今回の話はmove関係ないし
質問とは関係ない余計なことを言って知識をひけらかしたかっただけの人でしょ
今回の話であれば
「自動変数であればスコープを抜けるときにデストラクタが走って解放される」
というだけの話
それ以上の話はまた別の話
>うん、信じていい
>XXから抜けるときにムーブコンストラクタでtmpへ移動され
>createmapから抜けるときに解放される
>このときoperator deleteが呼び出されるが
>operator deleteがどのようなタイミングで解放しているかには依存すべきでない
>我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
↑依存すべきでは無い、と言っておいて、関心を持つべき、と言ってみたり
実装の詳細に関心を持つべきでない、と言っておいて、vectorの実装詳細を語ったり
言ってることやってることが支離滅裂で、意味不明だろう
ついでにバージョンによってRVOどうのこうのも、質問には関係が無い余談だし
そもそもバージョンの話するんなら昔のC++はmoveセマンティクス無いし
しかし、どうであれ、どのみち質問には関係が無い
だって今回の話はmove関係ないし
質問とは関係ない余計なことを言って知識をひけらかしたかっただけの人でしょ
今回の話であれば
「自動変数であればスコープを抜けるときにデストラクタが走って解放される」
というだけの話
それ以上の話はまた別の話
>うん、信じていい
>XXから抜けるときにムーブコンストラクタでtmpへ移動され
>createmapから抜けるときに解放される
>このときoperator deleteが呼び出されるが
>operator deleteがどのようなタイミングで解放しているかには依存すべきでない
>我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
↑依存すべきでは無い、と言っておいて、関心を持つべき、と言ってみたり
実装の詳細に関心を持つべきでない、と言っておいて、vectorの実装詳細を語ったり
言ってることやってることが支離滅裂で、意味不明だろう
ついでにバージョンによってRVOどうのこうのも、質問には関係が無い余談だし
そもそもバージョンの話するんなら昔のC++はmoveセマンティクス無いし
しかし、どうであれ、どのみち質問には関係が無い
4デフォルトの名無しさん (ワッチョイ 5fb3-9Jqp)
2017/11/24(金) 19:29:11.47ID:FCfoZStM0 何故建てたし
5デフォルトの名無しさん (アウアウカー Sadb-ZI9b)
2017/11/24(金) 20:40:51.17ID:X0HwtQDQa 保守
6デフォルトの名無しさん (ワッチョイ 5f34-y0n2)
2017/11/24(金) 20:43:34.75ID:06etO6GG0 >>2
いつまでこの糞テンプレ張り続けるんだおい
いつまでこの糞テンプレ張り続けるんだおい
7デフォルトの名無しさん (ワッチョイ 0778-4Z1+)
2017/11/24(金) 22:22:42.08ID:l1+FhW7v0 v(^・^)vはどこ行った?
8デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/24(金) 22:59:15.71ID:9/UAKu4i0 前スレ995
https://mevius.5ch.net/test/read.cgi/tech/1507561894/995
おまえは何を言っているんだ?
= delete;が03でNGになるのは当たり前だろ
https://mevius.5ch.net/test/read.cgi/tech/1507561894/995
おまえは何を言っているんだ?
= delete;が03でNGになるのは当たり前だろ
9デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/24(金) 23:01:10.76ID:9/UAKu4i010デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/24(金) 23:25:11.19ID:tVS6N6Kc0 前スレのおバカさんか
>このときoperator deleteが呼び出されるが
>operator deleteがどのようなタイミングで解放しているかには依存すべきでない
>我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
↑これの説明してみ?
好意的に解釈することもできるが、どのみち意味不明すぎる
>このときoperator deleteが呼び出されるが
>operator deleteがどのようなタイミングで解放しているかには依存すべきでない
>我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
↑これの説明してみ?
好意的に解釈することもできるが、どのみち意味不明すぎる
11はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/24(金) 23:43:36.87ID:lG8HVUMw012デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/24(金) 23:59:00.33ID:tVS6N6Kc0 まぁ、>>10の意味不明な文章の解釈などどっちでも良いんだが
質問者はvectorな自動変数の寿命に関して、RAIIが正しく行われるか
不安だから聞いているだけなのに、moveがどうとかドヤッた挙句
RVOが働いたらmoveされないんじゃね?ってのはお粗末すぎる
return vec;で、RVOが働くか、ムーブコンストラクタになるか、コピーコンストラクタになるか、は
コンパイラの銘柄とバージョンと最適化のオプションによるだろうし
もしかしたら、コンパイラの気分で変わるかもしれないし
なんだったら、関数がインライン展開されたらまた前提が変わってくるだろうよ
なんで、こんなことは考えるだけ無意味であるし
というか、考えなくてよいように作ってあるし
むしろ、考えてはダメというか、依存させてはいけないという意味で
余計なこと(悪いこと)は考えないほうが良いし
結局、質問者には
vectorな自動変数はスコープを抜けると寿命が尽きてデストラクタが呼ばれて解放される
というC++の根底のDNAである、RAIIのルールだけ言えばよいわけで
質問者はvectorな自動変数の寿命に関して、RAIIが正しく行われるか
不安だから聞いているだけなのに、moveがどうとかドヤッた挙句
RVOが働いたらmoveされないんじゃね?ってのはお粗末すぎる
return vec;で、RVOが働くか、ムーブコンストラクタになるか、コピーコンストラクタになるか、は
コンパイラの銘柄とバージョンと最適化のオプションによるだろうし
もしかしたら、コンパイラの気分で変わるかもしれないし
なんだったら、関数がインライン展開されたらまた前提が変わってくるだろうよ
なんで、こんなことは考えるだけ無意味であるし
というか、考えなくてよいように作ってあるし
むしろ、考えてはダメというか、依存させてはいけないという意味で
余計なこと(悪いこと)は考えないほうが良いし
結局、質問者には
vectorな自動変数はスコープを抜けると寿命が尽きてデストラクタが呼ばれて解放される
というC++の根底のDNAである、RAIIのルールだけ言えばよいわけで
13デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/25(土) 00:07:29.16ID:gBFdbUKG0 vectorな自動変数 という表現はちょっとアレだったかもしれん
まぁ、vector型として宣言された自動変数 のこと・・
まぁ、vector型として宣言された自動変数 のこと・・
14デフォルトの名無しさん (オッペケ Srfb-gBtc)
2017/11/25(土) 00:10:16.37ID:5IwBrrUdr 「コンパイラの銘柄とバージョンと最適化のオプションによる」
少なくとも991の置いたC++17の前提ではムーブコンストラクターやコピーコンストラクターは有り得ないのだが、
ひょっとして前提をすり替えられたのだろうか
少なくとも991の置いたC++17の前提ではムーブコンストラクターやコピーコンストラクターは有り得ないのだが、
ひょっとして前提をすり替えられたのだろうか
15デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/25(土) 00:27:25.13ID:gBFdbUKG0 それは>>991が言ってるだけで
質問者はC++17とは言ってない
質問者に対して、もしC++17の場合は必ずRVOになるので〜〜という説明をしたとして
これもあまり意味が無いというか、関係が無い
質問者はvectorがRAIIを徹底していのるか心配になったから聞いているだけ
その意味ではRVOだろうがムーブだろうがコピーだろうが、関係が無い
質問者はC++17とは言ってない
質問者に対して、もしC++17の場合は必ずRVOになるので〜〜という説明をしたとして
これもあまり意味が無いというか、関係が無い
質問者はvectorがRAIIを徹底していのるか心配になったから聞いているだけ
その意味ではRVOだろうがムーブだろうがコピーだろうが、関係が無い
16デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/25(土) 00:33:53.19ID:Sg1k8TV00 991がC++17のことを言っているのはちょっと脱線しただけであって、
話の前提でもないし質問の意図に沿ったものでもないよな
話の前提でもないし質問の意図に沿ったものでもないよな
17デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/25(土) 09:33:20.80ID:+Jz8ZPqE0 なけなしの知識でドヤってるだけやろ w
18デフォルトの名無しさん (ブーイモ MM7f-N4rA)
2017/11/25(土) 21:47:56.71ID:fPJ/ssThM const参照を返す関数があるのだけど、autoで効率よく戻り値を受け取るには
const auto&とか書かなきゃいけないの?
それともdecltype(auto)とかするの?
const auto&とか書かなきゃいけないの?
それともdecltype(auto)とかするの?
19デフォルトの名無しさん (ワッチョイ 5fbd-hcjg)
2017/11/25(土) 23:24:46.27ID:afKc1pIZ0 ↑嘔吐するから漏れには関係ない
それよか想定上はconstメソッドなのだが実際のところ実装がどうされるかわからない抽象仮想関数にconstをつけて良いものかどうか
いつも悩む
それよか想定上はconstメソッドなのだが実際のところ実装がどうされるかわからない抽象仮想関数にconstをつけて良いものかどうか
いつも悩む
20デフォルトの名無しさん (ワッチョイ 7fa5-5mWG)
2017/11/25(土) 23:33:46.79ID:mxSpQEHX0 autoで受けて余計なコピーを発生させちゃう困ったちゃん
21デフォルトの名無しさん (ワッチョイ c74b-gliV)
2017/11/26(日) 03:45:55.11ID:I/ckFlEt0 >>19
良い。
良い。
22デフォルトの名無しさん (ワッチョイ dfeb-+V5r)
2017/11/26(日) 03:58:55.87ID:DFCtUaBX023デフォルトの名無しさん (ワッチョイ 5fcc-tupB)
2017/11/26(日) 04:29:20.65ID:g3197Gxk0 最近勉強始めたばかりで100までの範囲の数字を入力したらそれが1〜10,11〜20,・・・91〜100のどの範囲にあるか判定したいけどif文10個用意する方法より綺麗にするにはどうしたらいい?
24片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd7f-PBlX)
2017/11/26(日) 04:32:18.07ID:KjdhQPtsd -1
25片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd7f-PBlX)
2017/11/26(日) 04:33:56.38ID:KjdhQPtsd switch ((x - 1) / 10)
26デフォルトの名無しさん (ワッチョイ 5fcf-H1rY)
2017/11/26(日) 04:42:41.92ID:Dn1yAmWU027デフォルトの名無しさん (ワッチョイ 07b3-5mWG)
2017/11/26(日) 09:12:00.52ID:8WHK08hV0 >>23
(x-1)/10
(x-1)/10
28デフォルトの名無しさん (ブーイモ MMcf-V9cG)
2017/11/26(日) 10:40:50.63ID:q1KSvIhfM29デフォルトの名無しさん (ブーイモ MM7f-N4rA)
2017/11/26(日) 11:43:40.48ID:OJziPoG6M >>19>>20
結局どうしたらいいの...
結局どうしたらいいの...
30デフォルトの名無しさん (オッペケ Srfb-gBtc)
2017/11/26(日) 11:56:21.91ID:OeykFUMSr >>29
auto &&unko = f();
auto &&unko = f();
31デフォルトの名無しさん (アウアウカー Sadb-Fzm/)
2017/11/26(日) 17:24:53.04ID:+CosUOwya Win32とかだとフラグ管理でビット演算利用してるけど、今どきのc++17だとどのようにするのがベスト?
32デフォルトの名無しさん (ワッチョイ 07eb-5mWG)
2017/11/26(日) 17:30:11.12ID:DaGrByo80 C++入門書でよく勉強したはずなのにautoとかconstexprとか知らんもんが一杯…
33デフォルトの名無しさん (ワッチョイ 077f-lrN+)
2017/11/26(日) 17:31:42.72ID:CoQMqJ/C0 何年に発売した入門書なんだ
34デフォルトの名無しさん (ワッチョイ 272d-eGxq)
2017/11/26(日) 17:33:33.90ID:mkIW06Zo0 変わらず std::bitset 使い続けてる ベストかは自信ないけど不便もないので
35デフォルトの名無しさん (ワッチョイ 07eb-5mWG)
2017/11/26(日) 17:38:44.74ID:DaGrByo8036デフォルトの名無しさん (ワッチョイ 07eb-5mWG)
2017/11/26(日) 17:39:04.93ID:DaGrByo80 >>33だった
37デフォルトの名無しさん (ワッチョイ 0778-4Z1+)
2017/11/26(日) 17:42:35.83ID:LgT/GDJu0 CはそれほどでもないけどC++は11以降どんどん変わるようになったね
38デフォルトの名無しさん (ワッチョイ 5fcf-H1rY)
2017/11/26(日) 17:46:59.07ID:n7ZC4ZKm0 Effective Modern C++を俺は使ってる
でもC++17が出たらまた新刊出るね
これC++11/14対応版だしすぐに古くなる
でもC++17が出たらまた新刊出るね
これC++11/14対応版だしすぐに古くなる
39デフォルトの名無しさん (ワッチョイ 07eb-5mWG)
2017/11/26(日) 17:52:39.37ID:DaGrByo80 Effective Modern C++17出たら買ってみるわ
40デフォルトの名無しさん (ワッチョイ bf3f-ThNz)
2017/11/26(日) 17:56:44.90ID:kRx46ugP0 もうC++を本で勉強するのは無理なのではないだろうか
41デフォルトの名無しさん (ワッチョイ bf4b-g2WY)
2017/11/26(日) 18:04:02.71ID:rgo+yBBa0 C++を始めようと思うんですがおすすめの参考書知りたいです。Cの知識はありませんがPythonでプログラミングは経験したのでプログラミング初学者ではないです。
43デフォルトの名無しさん (スップ Sdff-2b6l)
2017/11/26(日) 18:09:43.82ID:wYDDxvKDd 今は規格から追ってった方がいいと思う
規格書そのものの通読は大変だろうから、cpprefjpとか眺めてわからなくなったら規格に当たってコード書いて試してが一番早いよ
プログラミング完全初心者はそうも行かないだろうけどPython知ってるなら大丈夫だろ
規格書そのものの通読は大変だろうから、cpprefjpとか眺めてわからなくなったら規格に当たってコード書いて試してが一番早いよ
プログラミング完全初心者はそうも行かないだろうけどPython知ってるなら大丈夫だろ
44デフォルトの名無しさん (ワッチョイ bf4b-g2WY)
2017/11/26(日) 18:12:38.67ID:rgo+yBBa045デフォルトの名無しさん (ワッチョイ bf4b-g2WY)
2017/11/26(日) 18:14:59.44ID:rgo+yBBa046デフォルトの名無しさん (ブーイモ MM7f-N4rA)
2017/11/26(日) 19:17:54.77ID:C7WBrdWqM >>39
残念ながら、続編はもうないんだ…
残念ながら、続編はもうないんだ…
47デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/26(日) 20:18:30.38ID:po9rLop30 C++ の定本は、ロベールだけど、ものすごい分厚い
これは、ちょっと古めの本だけど、
ドワンゴ江添などの新しい規格の本は、古い規格を知っていないと読めない
猫でもわかるC++プログラミング 第2版
数言語知っているなら、簡略なこの手の本で、お茶を濁す
とにかく、C++は言語の最高峰だから、
スッキリJava で、オブジェクト指向をマスターしていないと、取得できない。
理解できるまでに数年以上掛かる
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
これは、ちょっと古めの本だけど、
ドワンゴ江添などの新しい規格の本は、古い規格を知っていないと読めない
猫でもわかるC++プログラミング 第2版
数言語知っているなら、簡略なこの手の本で、お茶を濁す
とにかく、C++は言語の最高峰だから、
スッキリJava で、オブジェクト指向をマスターしていないと、取得できない。
理解できるまでに数年以上掛かる
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
49デフォルトの名無しさん (ブーイモ MM4b-N4rA)
2017/11/26(日) 20:52:23.29ID:I1XRhGjPM >>30
thx!
thx!
50デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/26(日) 20:54:50.87ID:po9rLop30 関数型は、コンセプトが難しいだけだが、
Elixir みたいに分かりやすい言語もある
一方、C++ はポインタとか、実装が難しい。
実装に直面させられるから
Rust では、実装の詳細をどう回避しようとしてるのか、よくわかる
Elixir みたいに分かりやすい言語もある
一方、C++ はポインタとか、実装が難しい。
実装に直面させられるから
Rust では、実装の詳細をどう回避しようとしてるのか、よくわかる
51はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/26(日) 21:10:38.95ID:lLN9GSgU0 >>48
うーん、 Scheme スレ住人の私からすると、 LISP はS式表現の考え方で引っかかってる人の方が多い印象があるな。
関数型たって、副作用にややこしい手順が必要なのは Haskell くらいで、 LISP に「関数型」であるが故の難しさはそんなにない。
うーん、 Scheme スレ住人の私からすると、 LISP はS式表現の考え方で引っかかってる人の方が多い印象があるな。
関数型たって、副作用にややこしい手順が必要なのは Haskell くらいで、 LISP に「関数型」であるが故の難しさはそんなにない。
52デフォルトの名無しさん (アウアウカー Sadb-Fzm/)
2017/11/26(日) 21:13:13.79ID:T8jkbpd5a >>47
なんでc++の勉強するのになんでrubyやpythonの本を読まなきゃいけないんだよ?
なんでc++の勉強するのになんでrubyやpythonの本を読まなきゃいけないんだよ?
53はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/26(日) 21:17:17.78ID:lLN9GSgU054デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/26(日) 21:38:23.19ID:po9rLop30 C++ は、エベレストみたいなもの。
まず、色々な山で練習しろってこと
スクエニなんて、社員が何千人もいるのに、C++ を募集してるだろ。
社員の平均勤続年数は、7年だけど誰もできない
最近では、言語の募集をしても、全然できない。
言語を知っていても、何もできない
コンピューターリテラシー、つまり環境・OS を含めて、
すべてを知ってる人でないと、無理
C++ では、Ruby などの関数型とか、勉強できない。
ビジネスロジックの話ができない。
メモリとか、余計なものが付きまとってくるから
C++ で勉強していると、ものすごい時間が掛かって、非効率
まず、色々な山で練習しろってこと
スクエニなんて、社員が何千人もいるのに、C++ を募集してるだろ。
社員の平均勤続年数は、7年だけど誰もできない
最近では、言語の募集をしても、全然できない。
言語を知っていても、何もできない
コンピューターリテラシー、つまり環境・OS を含めて、
すべてを知ってる人でないと、無理
C++ では、Ruby などの関数型とか、勉強できない。
ビジネスロジックの話ができない。
メモリとか、余計なものが付きまとってくるから
C++ で勉強していると、ものすごい時間が掛かって、非効率
55デフォルトの名無しさん (アウアウカー Sadb-Fzm/)
2017/11/26(日) 21:40:21.18ID:T8jkbpd5a56デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/26(日) 21:46:20.31ID:SBifPocB0 >>54
足切り点がちょっと高めで、落ちるやつは容赦なく落ちるというだけ
いつぞや足切り点を低くしようというCOBOLとかいう試みがあったが
結果は周知のとおり
落ちたやつにはエベレストに見えるのかw
足切り点がちょっと高めで、落ちるやつは容赦なく落ちるというだけ
いつぞや足切り点を低くしようというCOBOLとかいう試みがあったが
結果は周知のとおり
落ちたやつにはエベレストに見えるのかw
58はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/26(日) 22:01:25.91ID:lLN9GSgU0 Ruby/Python/Java の薄い!?
59デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/26(日) 22:05:23.77ID:po9rLop30 OS 周りの事は、Python よりも、Ruby の方が楽。
Vagrant, Chef で、仮想OS もできるし
Python は、AI とか数値計算用。
次世代は、Elixir, Rust の2択
社員数何千人の大企業が、C++ を募集すること自体が、そもそもおかしいだろ。
何千人もいて、できる奴が、1人も見つからないなんて
そもそも、そんなに簡単だったら、皆、こんなに挫折しないって。
こんなに本屋に、難しい本が並ばないから
何十年も、C で手続き型をやってる老害どもが皆、
C++ のオブジェクト指向で、討ち死にしてる
Vagrant, Chef で、仮想OS もできるし
Python は、AI とか数値計算用。
次世代は、Elixir, Rust の2択
社員数何千人の大企業が、C++ を募集すること自体が、そもそもおかしいだろ。
何千人もいて、できる奴が、1人も見つからないなんて
そもそも、そんなに簡単だったら、皆、こんなに挫折しないって。
こんなに本屋に、難しい本が並ばないから
何十年も、C で手続き型をやってる老害どもが皆、
C++ のオブジェクト指向で、討ち死にしてる
>>58
いやいや 言語自体の話ではなくて、応用例の話で
いまはまっているのは https://www.amazon.co.jp/dp/4627847610 で、こういうのを読むと c/c++ で書いてみたくなるという…
いやいや 言語自体の話ではなくて、応用例の話で
いまはまっているのは https://www.amazon.co.jp/dp/4627847610 で、こういうのを読むと c/c++ で書いてみたくなるという…
61デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/26(日) 22:13:20.12ID:po9rLop30 Go は老害が作っているから、結局、手続き型から言語から、抜け出せなかった。
C から、C++ へ移行できない、老害と同じ
一方、Elixir, Rust とかを見れば、どの概念を抽象化したのか、よくわかる
C から、C++ へ移行できない、老害と同じ
一方、Elixir, Rust とかを見れば、どの概念を抽象化したのか、よくわかる
62デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/26(日) 22:21:12.28ID:po9rLop30 C++, Rust を比較すれば良い。
どの概念を抽象化したのか、よくわかる
ニコ生も今、Rust で作り直してる最中
どの概念を抽象化したのか、よくわかる
ニコ生も今、Rust で作り直してる最中
63デフォルトの名無しさん (アウアウウー Sacb-DWFp)
2017/11/26(日) 22:26:56.58ID:tkabk1y3a C++を勉強したいという人にrubyやpython,javaの本をすすめるなんて
遠回りな事言うんだなと思ったら>>59だもんな・・・
遠回りな事言うんだなと思ったら>>59だもんな・・・
64デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/26(日) 22:33:03.00ID:A1ZwwN/70 難しい難しいと言って「ポインタとか」という例が出てくるところで察し
65デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/26(日) 22:33:41.66ID:po9rLop30 素人がエベレストを目指しても、ダメ。
レベル5 の冒険者が、レベル50 のモンスターを倒せない。
小学生が大学数学を解けない
実際に大企業では、プログラマーが何十人来ても、即日サヨナラが続いてる
漏れは、C++ のプロジェクトに採用された事があるけど、
派遣から来ても、ほとんどが即日サヨナラ
何十年も、C をやってる老害でも、C++ は全くできないし
レベル5 の冒険者が、レベル50 のモンスターを倒せない。
小学生が大学数学を解けない
実際に大企業では、プログラマーが何十人来ても、即日サヨナラが続いてる
漏れは、C++ のプロジェクトに採用された事があるけど、
派遣から来ても、ほとんどが即日サヨナラ
何十年も、C をやってる老害でも、C++ は全くできないし
66デフォルトの名無しさん (ワッチョイ 47b3-lrN+)
2017/11/26(日) 22:37:49.56ID:okic0QgR0 できるとかできないとかどのくらいのレベルのことを言っているのか気になる
>>65
どのくらいの C++ スキルが必要とされるの?
どのくらいの C++ スキルが必要とされるの?
68デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/26(日) 22:48:32.43ID:SBifPocB0 >>26
うーん、auto、よくわからんなあ…
うーん、auto、よくわからんなあ…
70デフォルトの名無しさん (ワッチョイ 47b3-lrN+)
2017/11/26(日) 23:35:44.48ID:okic0QgR0 >>68
例えが分かりにくいのでC++で例えてほしい
例えが分かりにくいのでC++で例えてほしい
71デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/26(日) 23:39:50.10ID:po9rLop30 最近の大企業では、言語の募集をしても、全然できない人が来る。
言語を知っていても、何もできない
だから、コンピューターリテラシー、
つまり環境・OS・アルゴリズムなど、すべてを含めて必須
OS のコマンドを知らないとか、アルゴリズムを知らないとか、
仮想OS を構築できないとか、Vagrant, Chef, Docker を知らないとか、
LLVM, MFC を知らないとか
C++ なんて、ほぼすべてが必須だろ。
だから求人票には、コンピューターリテラシー必須って書いてある
言語の知識ぐらいでは、何もできないから、派遣から来ても、即日サヨナラとなる
Emacs を使えない人は、お断りっていう会社もあるほどw
プロなら、自分が使うツールにも、こだわりがあるはずだから
言語を知っていても、何もできない
だから、コンピューターリテラシー、
つまり環境・OS・アルゴリズムなど、すべてを含めて必須
OS のコマンドを知らないとか、アルゴリズムを知らないとか、
仮想OS を構築できないとか、Vagrant, Chef, Docker を知らないとか、
LLVM, MFC を知らないとか
C++ なんて、ほぼすべてが必須だろ。
だから求人票には、コンピューターリテラシー必須って書いてある
言語の知識ぐらいでは、何もできないから、派遣から来ても、即日サヨナラとなる
Emacs を使えない人は、お断りっていう会社もあるほどw
プロなら、自分が使うツールにも、こだわりがあるはずだから
72デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/26(日) 23:49:41.52ID:SBifPocB0 >>70
チンパンジーに因数分解みたいな話に例えもへったくれもねえだろ
チンパンジーに因数分解みたいな話に例えもへったくれもねえだろ
73デフォルトの名無しさん (ワッチョイ 5fcf-H1rY)
2017/11/27(月) 00:33:44.81ID:1bUH4ri10 >>69
この場合はstd::inializer_listになるよ
この場合はstd::inializer_listになるよ
74デフォルトの名無しさん (ワッチョイ 5fcf-H1rY)
2017/11/27(月) 00:34:52.25ID:1bUH4ri10 ◯std::initilizer_list
だからstd::beginとかstd::endが使える
だからstd::beginとかstd::endが使える
75デフォルトの名無しさん (アウアウウー Sacb-Fzm/)
2017/11/27(月) 01:16:09.67ID:4bHQN/8na >>71
趣味でやってるから企業の事などさっぱりだがそれはc++以外だと不要なのか?
趣味でやってるから企業の事などさっぱりだがそれはc++以外だと不要なのか?
77デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/27(月) 01:52:56.54ID:x+zk8UEy0 最近の大企業では、言語の募集をしても、全然できない人が来る。
言語を知っていても、何もできない
だから、コンピューターリテラシー、
つまり環境・OS・アルゴリズムなど、すべてを含めて必須
だから募集要件が、コンピューターリテラシーがある人になる
確かに、何の言語でも、そうなる
言語を知っていても、何もできない
だから、コンピューターリテラシー、
つまり環境・OS・アルゴリズムなど、すべてを含めて必須
だから募集要件が、コンピューターリテラシーがある人になる
確かに、何の言語でも、そうなる
78はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/27(月) 02:14:06.37ID:GAML79c/0 >>60
あ、すまん、それは薄い本 (同人誌のことをいうスラング) に反応してしもうたというジョークなので気にしないで。
あ、すまん、それは薄い本 (同人誌のことをいうスラング) に反応してしもうたというジョークなので気にしないで。
79デフォルトの名無しさん (スップ Sdff-SHUC)
2017/11/27(月) 02:36:02.00ID:T7rLcZV0d >>77
C言語できますって言って2進数知らない人とか来るもんね
C言語できますって言って2進数知らない人とか来るもんね
80デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/27(月) 03:58:40.54ID:x+zk8UEy0 まあ簡潔に言えば、C++ を学びたい場合、直接C++ を学ぼうとしても無理。
文法だけを学んでも、全く何もできない
周辺知識(コンピューターリテラシー)から埋めていかないと、どうにもならない
高山列車が直接、真上に進めないのと同じ。
切り返ししながら、徐々に上がっていく感じ
何十年も、手続き型言語のC をやってる老害が、
オブジェクト指向に移行できないのも、そう
平山尚のセガ本もあるけど、文法を学んでも、オブジェクト指向が理解できない。
やっぱり「スッキリJava」から始める必要がある
文法だけを学んでも、全く何もできない
周辺知識(コンピューターリテラシー)から埋めていかないと、どうにもならない
高山列車が直接、真上に進めないのと同じ。
切り返ししながら、徐々に上がっていく感じ
何十年も、手続き型言語のC をやってる老害が、
オブジェクト指向に移行できないのも、そう
平山尚のセガ本もあるけど、文法を学んでも、オブジェクト指向が理解できない。
やっぱり「スッキリJava」から始める必要がある
81デフォルトの名無しさん (ワッチョイ 5f34-y0n2)
2017/11/27(月) 04:39:24.98ID:/nBMg24u0 Javaみたいなオペレータもテンプレートも使えない糞言語薦めるな
82デフォルトの名無しさん (ワッチョイ 5f34-y0n2)
2017/11/27(月) 04:41:34.85ID:/nBMg24u0 ヒエラルキーのトップC++にはなにもかも無駄な知識
Javaもrubyもpythonも
Javaもrubyもpythonも
83デフォルトの名無しさん (ワッチョイ 0793-C/lT)
2017/11/27(月) 06:30:05.16ID:O6svWDNK0 C++を使うのにオブジェクト指向に対する理解が必要、という意見にはある程度賛成できる。
しかしながら、そのために先にJavaの本を読め、てのはどうなんだろ。
C++の入門書でオブジェクト指向の解説までカバーした本、てのは存在しないのかな。
C++の本を書くような人はオブジェクト指向の説明をするのは沽券に関わると思っているのか、
あるいは「C++の専門家」にはオブジェクト指向を教える能力がないのか。
しかしながら、そのために先にJavaの本を読め、てのはどうなんだろ。
C++の入門書でオブジェクト指向の解説までカバーした本、てのは存在しないのかな。
C++の本を書くような人はオブジェクト指向の説明をするのは沽券に関わると思っているのか、
あるいは「C++の専門家」にはオブジェクト指向を教える能力がないのか。
84デフォルトの名無しさん (ワッチョイ 47b3-h3cN)
2017/11/27(月) 06:41:19.35ID:/wh5qHzF0 オブジェクト指向言語じゃないので。
85デフォルトの名無しさん (ワッチョイ 47b3-h3cN)
2017/11/27(月) 06:42:27.76ID:/wh5qHzF0 C++の学び方はパタヘネを読むところから始まる。
86デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/27(月) 08:33:19.56ID:x+zk8UEy0 オブジェクト指向をわかりやすく説明した本は、世界中にない。
だから「スッキリJava」が出た 2011年は、オブジェクト指向にとって、エポックの年
この本以降、C++ を学ぶのに「スッキリJava」から始めるという道筋ができた。
この道筋で学べるのは、日本だけ
他国では、もっと苦労してるはず。
まあ、漏れの勝手な意見だけど
だから「スッキリJava」が出た 2011年は、オブジェクト指向にとって、エポックの年
この本以降、C++ を学ぶのに「スッキリJava」から始めるという道筋ができた。
この道筋で学べるのは、日本だけ
他国では、もっと苦労してるはず。
まあ、漏れの勝手な意見だけど
87デフォルトの名無しさん (ワッチョイ 678a-nf8U)
2017/11/27(月) 08:42:09.94ID:T6hD1Djz0 いや意見というより妄想
88デフォルトの名無しさん (ワッチョイ 278a-I1Jk)
2017/11/27(月) 08:46:30.99ID:U9yOEuDb0 Javaみたいなゴミ薦めるな。ソフィーの世界の方がマシ
89デフォルトの名無しさん (ワッチョイ 07b3-5mWG)
2017/11/27(月) 09:19:29.64ID:tczRDnba0 いろんな言語のおいしいとこだけ使って個々の言語に深入りしないのが得策
おいしいところを繋ぎ合わせる能力のほうが大事
おいしいところを繋ぎ合わせる能力のほうが大事
90デフォルトの名無しさん (ワッチョイ ff9f-hvxY)
2017/11/27(月) 09:19:54.22ID:aghVPiEK0 better Cとして使うのはいかんのか?
91デフォルトの名無しさん (ワッチョイ bfa1-Mq0t)
2017/11/27(月) 10:06:43.21ID:AedLfSQl0 イカンことはないと思うが、C の環境に行った時に困るぞ。
まあ最近の C には大体取り込まれてるみたいだけど。
まあ最近の C には大体取り込まれてるみたいだけど。
92デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/27(月) 12:03:50.36ID:pjE3KxE70 例の約一名入ってることがおかしくて
まず初心者というか入門で、C++の文法などを覚えたいという話なのに
コンピュータリテラシーが無いと現場では使えない、とか
今それ関係ないし
まず初心者というか入門で、C++の文法などを覚えたいという話なのに
コンピュータリテラシーが無いと現場では使えない、とか
今それ関係ないし
93デフォルトの名無しさん (アウアウカー Sadb-Fzm/)
2017/11/27(月) 12:14:01.72ID:889bi2PQa 他の言語の本は無しとしてオススメの本ある?
c++11以前だったら独習C++が良かった。
c++11以前だったら独習C++が良かった。
94デフォルトの名無しさん (オイコラミネオ MM0b-d/GA)
2017/11/27(月) 12:45:48.74ID:O7ueEetiM c++ プライマー第5版くらいしかないと思う。
c++の基本的な文法から解説してあってc++11対応。他の言語を学んでいるなら読めると思う。
c++の基本的な文法から解説してあってc++11対応。他の言語を学んでいるなら読めると思う。
95デフォルトの名無しさん (ワッチョイ 07eb-5mWG)
2017/11/27(月) 12:49:42.23ID:vi7VqSly0 遠回しに他の言語の本読めって言っとるようなもんだ
96はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/27(月) 12:51:23.55ID:GAML79c/0 C++11 が成立するより前だと「詳説 C++ 第2版」が良かったと思う。
http://amzn.asia/4C6Q7x9
http://amzn.asia/4C6Q7x9
97デフォルトの名無しさん (オイコラミネオ MM0b-d/GA)
2017/11/27(月) 13:10:56.02ID:O7ueEetiM >>95
説明が悪かったけど、プログラミングの全くの初心者が読むにはちょっと難しいかもってこと。
説明が悪かったけど、プログラミングの全くの初心者が読むにはちょっと難しいかもってこと。
98デフォルトの名無しさん (ワッチョイ 07eb-5mWG)
2017/11/27(月) 13:23:45.26ID:vi7VqSly0 >>97
ああそういうことね
ああそういうことね
99デフォルトの名無しさん (ワッチョイ 079f-5mWG)
2017/11/27(月) 20:00:43.82ID:pbeBNwkp0 >>83
> 入門書でオブジェクト指向の解説
ここがそもそも間違っている。
オブジェクト指向は肥大化(10k行以上)するソフトウェアを整理して記述するための方法論であって、
肥大化してない(1k以下)ものすら書けない初心者(入門書を読む層)には不要だからだ。
だから、ない。要らないから、無いんだよ。
少し考えれば分かるはずだが、世界中の誰も出来ないと思うかい?そんなわけないだろ。
ただし、日本のシステムでは必要なんだよ。
日本では大量の馬鹿(新入社員)でもプロジェクトの足しにする方向だから、
せいぜい100行しか組めないド新人にもオブジェクト指向を強いる。それが日本のJavaだ。
既に稼働中の大規模システムに組み込むコードは、
それが新人が書いたものであっても、正しくオブジェクト指向してないと困るから。
言い換えれば、大量の馬鹿が少しずつ組み上げることに日本は特化している。
これは平均的ド素人の最低レベルが保証される社会だから出来る方式でもある。
逆に海外はおそらくそんな馬鹿が大規模システムに組み込むコードを書く前提にしてない。
熟練し、正しくオブジェクト指向できる奴だけでメンテする前提であり、馬鹿は死ね、だ。
これはITドカタの給与の平均値からも分かる。だいたい海外は日本の2倍だ。
だから初心者にオブジェクト指向を教える意味がないんだよ。
オブジェクト指向自体は別段難しいものではなく、また、手続き型(Cスタイル)と(実は)地続きだから、
十分に熟練すれば自然と理解できるし、「手続き型だ」と言い張ったところでどうしても中身は似てくる。
Java鹿は、オブジェクト指向と手続き型が別物だと勘違いしている。
ド新人に「オブジェクト指向(キリッ」と洗脳し、その意味すら理解できない馬鹿が教える側に回って、悪循環してる。
普通に考えれば、C++の仕様でstructとclassがほぼ同じことからも、
また、未だにインスタンスメソッドとクラスメソッドの区別が文法以外にほぼ無いことからもこれは分かる。
(instance.method()とstaticMethod(instance)の実行時の違いがほぼ無い、
或いは、結局はレシーバをどう記述するかだけの話だ、と言った方が分かりやすいか。
Goに至ってはこの点、どっちでもいいです、という仕様にしてしまっているし)
> 入門書でオブジェクト指向の解説
ここがそもそも間違っている。
オブジェクト指向は肥大化(10k行以上)するソフトウェアを整理して記述するための方法論であって、
肥大化してない(1k以下)ものすら書けない初心者(入門書を読む層)には不要だからだ。
だから、ない。要らないから、無いんだよ。
少し考えれば分かるはずだが、世界中の誰も出来ないと思うかい?そんなわけないだろ。
ただし、日本のシステムでは必要なんだよ。
日本では大量の馬鹿(新入社員)でもプロジェクトの足しにする方向だから、
せいぜい100行しか組めないド新人にもオブジェクト指向を強いる。それが日本のJavaだ。
既に稼働中の大規模システムに組み込むコードは、
それが新人が書いたものであっても、正しくオブジェクト指向してないと困るから。
言い換えれば、大量の馬鹿が少しずつ組み上げることに日本は特化している。
これは平均的ド素人の最低レベルが保証される社会だから出来る方式でもある。
逆に海外はおそらくそんな馬鹿が大規模システムに組み込むコードを書く前提にしてない。
熟練し、正しくオブジェクト指向できる奴だけでメンテする前提であり、馬鹿は死ね、だ。
これはITドカタの給与の平均値からも分かる。だいたい海外は日本の2倍だ。
だから初心者にオブジェクト指向を教える意味がないんだよ。
オブジェクト指向自体は別段難しいものではなく、また、手続き型(Cスタイル)と(実は)地続きだから、
十分に熟練すれば自然と理解できるし、「手続き型だ」と言い張ったところでどうしても中身は似てくる。
Java鹿は、オブジェクト指向と手続き型が別物だと勘違いしている。
ド新人に「オブジェクト指向(キリッ」と洗脳し、その意味すら理解できない馬鹿が教える側に回って、悪循環してる。
普通に考えれば、C++の仕様でstructとclassがほぼ同じことからも、
また、未だにインスタンスメソッドとクラスメソッドの区別が文法以外にほぼ無いことからもこれは分かる。
(instance.method()とstaticMethod(instance)の実行時の違いがほぼ無い、
或いは、結局はレシーバをどう記述するかだけの話だ、と言った方が分かりやすいか。
Goに至ってはこの点、どっちでもいいです、という仕様にしてしまっているし)
100デフォルトの名無しさん (ワッチョイ 079f-5mWG)
2017/11/27(月) 20:02:10.31ID:pbeBNwkp0 Cで大規模なシステムを組むと、どうしてもstruct*を多用することになる。
これ自体がオブジェクト指向そのものだ。
ただしCにはこれをサポートするための文法が無く、全部自分でやらないといけない。
だからちと辛いし、class構文欲しい、というのは自然な流れだ。
おそらくLinusがC++erを毛嫌いしているのはこの辺で、(彼が嫌っているのはC++ではなくC++erね、念のため)
Cにはサポート構文がないだけであって、
自前でやる気なら正しくオブジェクト指向できるし、
それが昨今の「継承イラネ、全面委譲で」なら実は大して手間は変わらない。
この場合、「C文法で組め」と言われても、「ああ、これならまあ」程度でしかない。
これについてグダグダ言う奴は理解できてない馬鹿だからイラネ、ってのは当たってる。
そもそも、入門者の言う「オグジェクト指向が難しい」の理由は、
「オブジェクト指向で組めない」ではなく、
「オブジェクト指向の利点が分からない」「なぜこんな記述方式にする必要があるのか?」だろ。
元々大規模のコードを整理するための手法なんだから、
大規模なコードが書けない新人には理解できないのは当たり前。
それを理解しろ、という日本方式に無理があるんだよ。
あと、Javaの問題は、かなり制限された言語だから、
他言語だとすごく単純に記述できることを
デザインパターン(キリッをこねくり回して意味不明な構造にしないといけないことが多いこと。
だからC++入門者にJavaを勧めるというのはやっぱりキチガイだよ。
そしてこの意味で老害が一番多いのはJavaだと思うよ。
と言うか、ちょっと逝っちまっていることを言う奴はたいていJava鹿だ。>>86もそうだろ。
例のスタティックおじさんの話もJavaだし。(あれは双方の言い分も分かるが)
これ自体がオブジェクト指向そのものだ。
ただしCにはこれをサポートするための文法が無く、全部自分でやらないといけない。
だからちと辛いし、class構文欲しい、というのは自然な流れだ。
おそらくLinusがC++erを毛嫌いしているのはこの辺で、(彼が嫌っているのはC++ではなくC++erね、念のため)
Cにはサポート構文がないだけであって、
自前でやる気なら正しくオブジェクト指向できるし、
それが昨今の「継承イラネ、全面委譲で」なら実は大して手間は変わらない。
この場合、「C文法で組め」と言われても、「ああ、これならまあ」程度でしかない。
これについてグダグダ言う奴は理解できてない馬鹿だからイラネ、ってのは当たってる。
そもそも、入門者の言う「オグジェクト指向が難しい」の理由は、
「オブジェクト指向で組めない」ではなく、
「オブジェクト指向の利点が分からない」「なぜこんな記述方式にする必要があるのか?」だろ。
元々大規模のコードを整理するための手法なんだから、
大規模なコードが書けない新人には理解できないのは当たり前。
それを理解しろ、という日本方式に無理があるんだよ。
あと、Javaの問題は、かなり制限された言語だから、
他言語だとすごく単純に記述できることを
デザインパターン(キリッをこねくり回して意味不明な構造にしないといけないことが多いこと。
だからC++入門者にJavaを勧めるというのはやっぱりキチガイだよ。
そしてこの意味で老害が一番多いのはJavaだと思うよ。
と言うか、ちょっと逝っちまっていることを言う奴はたいていJava鹿だ。>>86もそうだろ。
例のスタティックおじさんの話もJavaだし。(あれは双方の言い分も分かるが)
101デフォルトの名無しさん (ワッチョイ 079f-5mWG)
2017/11/27(月) 20:03:35.06ID:pbeBNwkp0 C++の問題は、「何でも出来る最強言語」を目指しているのか、本当に何でもありすぎる点だ。
だから新人が戸惑ってしまうのも分かるし、無駄に覚えることも多すぎる。
例えば、継承した場合に隠蔽できるが、あれなんてマジで要らないだろ。
(virtualでないメソッドをoverride(とは言わないが)して隠蔽、って奴ね)
この辺、バランスが取れているのはC#だ。そもそもそこが狙いのようだし。
Cに関しては、老害ではなく、「老」が多い。これは古い言語だから。
ただしC++への移行はいつでも出来たし、既に書いたがオブジェクト指向とは地続きだから、
文法的にオブジェクト指向してないだけで中身はオブジェクト指向そのもの、ってのはよくある話だ。
そしてCは元々関数ポインタを扱えた。これはものすごく大きい。
Javaが糞なのは、全く関数ポインタを扱えず、
その結果デザインパターン(キリッする糞言語になっている点だ。
ただしあの頃はまだ「関数ポインタの有用性」がさほど理解されておらず、致し方なかった面もある。
C#もこの辺、記述方式が二転三転しているし、C++もやっとラムダを取り入れたばかりだ。
K&Rも「関数ポインタも使えるよ」としか書いて無い。あれはもっと力説されて然るべきだった。
でも、今新しい言語を作るとして、関数ポインタが使えないのはマジで糞だろ。
そしてこの点、文法的にではなく、
「社内ルールで」関数ポインタの使用を制限する「老害」が多いのは圧倒的にJavaに決まっている。
Cは元々使えたし、C++は(読みやすくはないが)ファンクタを使えたので、有用性は「老」でも理解している。
Javaにはそもそも関数ポインタの使い方を理解している「老」がいない。
Java8で文法的には取り入れられたものの、おそらく大半の職場では相当期間制限されるはず。
だから新人が戸惑ってしまうのも分かるし、無駄に覚えることも多すぎる。
例えば、継承した場合に隠蔽できるが、あれなんてマジで要らないだろ。
(virtualでないメソッドをoverride(とは言わないが)して隠蔽、って奴ね)
この辺、バランスが取れているのはC#だ。そもそもそこが狙いのようだし。
Cに関しては、老害ではなく、「老」が多い。これは古い言語だから。
ただしC++への移行はいつでも出来たし、既に書いたがオブジェクト指向とは地続きだから、
文法的にオブジェクト指向してないだけで中身はオブジェクト指向そのもの、ってのはよくある話だ。
そしてCは元々関数ポインタを扱えた。これはものすごく大きい。
Javaが糞なのは、全く関数ポインタを扱えず、
その結果デザインパターン(キリッする糞言語になっている点だ。
ただしあの頃はまだ「関数ポインタの有用性」がさほど理解されておらず、致し方なかった面もある。
C#もこの辺、記述方式が二転三転しているし、C++もやっとラムダを取り入れたばかりだ。
K&Rも「関数ポインタも使えるよ」としか書いて無い。あれはもっと力説されて然るべきだった。
でも、今新しい言語を作るとして、関数ポインタが使えないのはマジで糞だろ。
そしてこの点、文法的にではなく、
「社内ルールで」関数ポインタの使用を制限する「老害」が多いのは圧倒的にJavaに決まっている。
Cは元々使えたし、C++は(読みやすくはないが)ファンクタを使えたので、有用性は「老」でも理解している。
Javaにはそもそも関数ポインタの使い方を理解している「老」がいない。
Java8で文法的には取り入れられたものの、おそらく大半の職場では相当期間制限されるはず。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 自民・麻生太郎 副総裁 石破政権の1年は「どよーん」 高市政権の発足で「何となく明るくなった」「世の中のことが決まり動いている」 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 【27歳会社員】「自慰行為に使うために」コインランドリーの乾燥機から24歳女性の下着など計11点(時価8万2080円相当)盗んだ疑い [nita★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 僕がみんなから許される方法
- 麻生太郎が石破政権の1年を酷評「どよーんとして何も動かない感じだったな。それに引き換え高市政権は物事が動いている」 [597533159]
- 【速報】安倍昭恵、山上徹也裁判に再襲来決定【12月18日】 [947332727]
- 【速報】室井佑月、米山隆一との離婚を決意wwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★4
