プログラミング言語C++ 第4版
新しいプロジェクトで既存のソースを流用する流れから、同じチームだった人(私よりも若い人)のソースを読んだところ、C++11の策定中の構文を2010年の時点で先進的に使っており、ソースを読んでて「えっ?こんな書き方知らないっ!? しゅ、しゅごい!」と軽く凹みました。(^^ゞ (※1)
現在のC++は「最新の文法や構文を使うと、中級以下のスキルでは可読出来ないような変態言語化している」という偏見を持っているのと、「ここまで昔のC++を無視して書く位なら、もっと別の高級言語で書いた方が分かりやすいんじゃないの?」という所感を持っています。
(そのお陰で、ここ数年はRubyとかJavaScriptなどの超高級言語で何かを書いていた)
しかし、それでは仕事にならないのと、長年C/C++で物を作っていたプライドもある事から、新しい事もキチンと覚えよう…と、久々にC++のバイブルを更新しました。
第3版の初版が1998/11/30で、このタイミングで買っていたので、実に約18.5年振りの更新です。(^^;
この間に別のC++の書籍を買ったりしていましたが、C++の書籍を買うのは10年振り位な気がします。

時代も変化して電子書籍で買いました。
Kindleだと多少安価で8,800円ナリ。
そしてAmazonの評価にも買いてありましたが、英単語の検索ができないのが厳しい。☆が一気に目減りします。
人により「2017/4/4 英単語が検索できない障害が修正されました。」とあるのですが、私の使用しているKindle 1.19.1(mac), 1.19.2(Windows)では検索ができませんでした。英単語が無理で日本語は検索できるKindleって…
(ちなみに他の書籍でも同じ現象が起きているのは、実は前から知ってたりw)
やりたいことが沢山あるというのに、本当に時間が足りないなぁ~。(^^;
【※1 2017/04/25 追記】
後で本人に聞いたら、このプログラムは去年作ったとのこと。
しかも「どーせ、誰も読まないだろうから、趣味で色々と書いてみましたw」とのこと。
どーりで。Visual Studio 2015でビルドしたけど、2010年じゃ、この文法でビルドが通る訳ないよな。(^^;
現在のC++は「最新の文法や構文を使うと、中級以下のスキルでは可読出来ないような変態言語化している」という偏見を持っているのと、「ここまで昔のC++を無視して書く位なら、もっと別の高級言語で書いた方が分かりやすいんじゃないの?」という所感を持っています。
(そのお陰で、ここ数年はRubyとかJavaScriptなどの超高級言語で何かを書いていた)
しかし、それでは仕事にならないのと、長年C/C++で物を作っていたプライドもある事から、新しい事もキチンと覚えよう…と、久々にC++のバイブルを更新しました。
第3版の初版が1998/11/30で、このタイミングで買っていたので、実に約18.5年振りの更新です。(^^;
この間に別のC++の書籍を買ったりしていましたが、C++の書籍を買うのは10年振り位な気がします。

時代も変化して電子書籍で買いました。
Kindleだと多少安価で8,800円ナリ。
そしてAmazonの評価にも買いてありましたが、英単語の検索ができないのが厳しい。☆が一気に目減りします。
人により「2017/4/4 英単語が検索できない障害が修正されました。」とあるのですが、私の使用しているKindle 1.19.1(mac), 1.19.2(Windows)では検索ができませんでした。英単語が無理で日本語は検索できるKindleって…
(ちなみに他の書籍でも同じ現象が起きているのは、実は前から知ってたりw)
やりたいことが沢山あるというのに、本当に時間が足りないなぁ~。(^^;
【※1 2017/04/25 追記】
後で本人に聞いたら、このプログラムは去年作ったとのこと。
しかも「どーせ、誰も読まないだろうから、趣味で色々と書いてみましたw」とのこと。
どーりで。Visual Studio 2015でビルドしたけど、2010年じゃ、この文法でビルドが通る訳ないよな。(^^;
たかがC++、されどC++
2年8ヶ月ぶりにこのカテゴリを書くのか…(^^;
昨年末に逃げた協力会社の代わりとして、今年の頭から超ひっさし振りにC++のコードを書く仕事をしているのですが(「仕事」では…で、趣味ではたまに書いてたりします)、他の協力会社のスキルもド素人から初級クラスだけで構成されており、逆に自社の方は神クラスの人が書いたりメンテしているというカオスな状況になっています。(自社の方の人のスキルはC++歴が私とほぼ同じの2x年クラス。というか私と違ってC++案件のブランクがゼロのようなので、正直「ネ申」です。これが私を除いて2名もいます)
協力会社のスキルは、for文一つとっても知識の差がバラバラで、「ヲイヲイ、分かってないのにこの文法使ってるだろう…」みたいな感じのコードを生み出します。
IT業界の人口は爆発的に増えていますが(今後も当面増え続けるでしょうね)、「本当にデキるという人に出会えるというは一握り」なのは、何年経っても余り変わらないなぁ~と。(言語に限らず)
ということで、なんとなく上述した「for文一つとっても」的な例を書いてみたくなりました。
昨年末に逃げた協力会社の代わりとして、今年の頭から超ひっさし振りにC++のコードを書く仕事をしているのですが(「仕事」では…で、趣味ではたまに書いてたりします)、他の協力会社のスキルもド素人から初級クラスだけで構成されており、逆に自社の方は神クラスの人が書いたりメンテしているというカオスな状況になっています。(自社の方の人のスキルはC++歴が私とほぼ同じの2x年クラス。というか私と違ってC++案件のブランクがゼロのようなので、正直「ネ申」です。これが私を除いて2名もいます)
協力会社のスキルは、for文一つとっても知識の差がバラバラで、「ヲイヲイ、分かってないのにこの文法使ってるだろう…」みたいな感じのコードを生み出します。
IT業界の人口は爆発的に増えていますが(今後も当面増え続けるでしょうね)、「本当にデキるという人に出会えるというは一握り」なのは、何年経っても余り変わらないなぁ~と。(言語に限らず)
ということで、なんとなく上述した「for文一つとっても」的な例を書いてみたくなりました。
クソコードかぁ~
Twitterで「#俺が見たクソコード選手権」というのを見て、ざっと眺めたら笑えました。(何故かC言語系のステートメントが多いw 挙げている人達はPHPやC#としてかもしれないけど)
でも、クソコードなんて星の数程見てきたし、自分でも量産しているので(今でも(^^ゞ)、趣旨を180度回転させて、某氏が20数年前に某ゲームのプログラムで「えっ? なんでこうなるの?」と私に質問してきた、昔々のネタでも書いてみようかと思いました。
いうなれば「#俺が見たアメイジングコード選手権」って感じですね。
【ソース】
【実行環境】
x86系アーキテクチャ上。コンパイラも同様。主にVC++やgccなど。
CUI実行。(上のソース見たら当たり前だけど)
【出力結果】
x:11, y:11
自称上級SEのホラ吹きドヤ顔オジサン(自称モテモテ+最近はエアー血尿)には説明できない気がするな~。
◇ ◇ ◇
久々に日記にソースをベタ塗りしたので、「久々なのでたまには見た目を綺麗に…」とSyntaxHihglighterを使って貼ってみましたが、FC2との相性は結構悪いんですね。(^^;
カスタマイズして入れることにしましたが、試行錯誤していたらゲームやる時間が削れました…
先日から積んであるフィギュアもいじりたいのに…(´・ω・`)
でも、クソコードなんて星の数程見てきたし、自分でも量産しているので(今でも(^^ゞ)、趣旨を180度回転させて、某氏が20数年前に某ゲームのプログラムで「えっ? なんでこうなるの?」と私に質問してきた、昔々のネタでも書いてみようかと思いました。
いうなれば「#俺が見たアメイジングコード選手権」って感じですね。
【ソース】
#include <stdio.h>
void hoge(int x, int y) {
printf("x:%d, y:%d\n", x, y);
}
int main(int argc, char** argv) {
int a = 10;
int b = 0;
hoge(a + b, ++a);
return 0;
}
【実行環境】
x86系アーキテクチャ上。コンパイラも同様。主にVC++やgccなど。
CUI実行。(上のソース見たら当たり前だけど)
【出力結果】
x:11, y:11
自称上級SEのホラ吹きドヤ顔オジサン(自称モテモテ+最近はエアー血尿)には説明できない気がするな~。
久々に日記にソースをベタ塗りしたので、「久々なのでたまには見た目を綺麗に…」とSyntaxHihglighterを使って貼ってみましたが、FC2との相性は結構悪いんですね。(^^;
カスタマイズして入れることにしましたが、試行錯誤していたらゲームやる時間が削れました…
先日から積んであるフィギュアもいじりたいのに…(´・ω・`)
環境変数の文字列を置換
相棒と仕事でLinux上でゴソゴソしてたら、「環境変数の文字列に改行が入っているものをカンマに置換したい。」という事になって、「あれっ?なんかコマンドで簡単にできそうな…」と思ったのですが、すぐには思いつかなかったので、「思いつかないなら、勉強がてら得意のRubyで作っちゃえば?」と提案し、「よし、なら俺は頭の体操がてらCで作るぞ。競争だw」みたいな流れになったので、私の方は「10分以内」という足かせをつけて書いてみました。
| HOME |