Google
ブログ(iiyu.asablo.jpの検索)
ホットコーナー内の検索
 でもASAHIネット(asahi-net.or.jp)全体の検索です。
 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。
 例 中村(show) ki4s-nkmr

ウェブ全体の検索

C++の解説本、STL, Effectvieシリーズ、ゲームプログラマのためのコーディング技術、リーダブルコード、Code Complete, コーディングを支える技術2016年04月08日 08時29分43秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonから。
---
 アンテナハウスの新人から、C++の入門書は何がいいかという質問があったので、ざっくり調べてみた。
 初心者だけでなく、C++を実はろくに理解できておらず、適当に見よう見まね、コピペで済ましている人にも参考になるかも。

 あまりに簡単な入門書、どれでもいいけど、たとえば、
http://www.amazon.co.jp/exec/obidos/ASIN/4797370998/showshotcorne-22/
やさしいC++ 第4版 (「やさしい」シリーズ) 単行本 2012/8/31
高橋 麻奈 (著)
のような、やさしいとか、簡単とか、明解とかをタイトルで謳う入門書は、最初のとっつきはいいかもしれないが、仕事では、すぐ、そのレベル以上のものが必要になる。
 こういう本が悪いということではなく、こういうレベルの本で入門しても、すぐ、もっとハードな本で勉強しないと、C++のような複雑な言語は、理解できないということ。

 もう1つ、C++の本で、いま、考えておかないといけないのは、C++11やC++14といった新しい規格に対応しているかどうか。
 対応してない本でも、C++の基本的なところがしっかりわかるような本であれば、それで勉強して、C++11やC++14については、別の本でさらに勉強すればよいが、C++11やC++14対応のいい本があれば、それが望ましい。
 で、悩ましいのが、C++のSTLという標準ライブラリは、C++11で入ったラムダ式(Lispの世界ではクロージャと呼ばれてきたもの)を使うと、非常にすっきり書けて、C++11より前の本で書いてあるSTLの使い方は、いかにも面倒に思えること。

 という前提のもとで、以下、ざっくり調べてみた。
 まずは、アマゾンのランキングだと、いまは、
1「独習C++ 第4版」
2「プログラミング言語C++第4版」
3「ロベールのC++入門講座」
が、ベスト3。

 「独習C++ 第4版」のハーバート・シルトは、C++の権威の一人。数々のベストセラーも出してきた。この本は、C++11への目配りはほとんどないみたいだが、それは、別途補うつもりなら、いい選択になりそうに思う。
 「プログラミング言語C++第4版」は、言わずと知れたC++の生みの親、ビャーネ・ストラウストラップが書いた、いわゆるバイブル本。C++11にも対応しているので、1冊、手元に置くなら、これを薦める。ただし、入門として読破するのは大変。
 もっと軽めの本で概要をつかんで、リファレンスとして1冊、置いておくのもあり。そうすれば、C++でわからなくなった時、調べることができるだろうから。
 「ロベールのC++入門講座」は、ネットでの記事がベースだが、人気が高い。C++11は対応してないと思うけど。

 次の人は、「独習C++」を薦めていて、「ロベールのC++入門講座」には否定的。
http://25143.blog.fc2.com/blog-entry-18.html
自分が読んだC/C++書籍のレビューとコメント
2014/02/05 22:43

http://www.amazon.co.jp/exec/obidos/ASIN/4798119768/showshotcorne-22/
独習C++ 第4版 大型本 2010/10/20
ハーバート・シルト (著), 神林 靖 (監修), トップスタジオ (翻訳)
大型本

http://www.amazon.co.jp/exec/obidos/ASIN/B018I2GJD8/showshotcorne-22/
独習C++ 第4版 Kindle版
ハーバート・シルト (著), 株式会社トップスタジオ (翻訳), 神林靖 (監修)
Kindle版

http://www.amazon.co.jp/exec/obidos/ASIN/4797375957/showshotcorne-22/
プログラミング言語C++第4版 大型本 2015/2/28
ビャーネ・ストラウストラップ (著), Bjarne Stroustrup (著), 柴田 望洋 (翻訳)
大型本

http://www.amazon.co.jp/exec/obidos/ASIN/B01BGEO9MS/showshotcorne-22/
プログラミング言語C++ 第4版 Kindle版
ビャーネ・ストラウストラップ (著), 柴田 望洋 (翻訳)
Kindle版

http://www.amazon.co.jp/exec/obidos/ASIN/4839926050/showshotcorne-22/
ロベールのC++入門講座 単行本(ソフトカバー) 2007/11/15
ロベール (著)
単行本(ソフトカバー)

 STLは、使いこなしができてない人が多いと思うが、どうか。
 特にコンテナ、アルゴリズム、関数オブジェクトの組み合わせを使って、for文やwhile文によるループを書かずに、関数型言語のスタイルで書かない人がほとんどでしょう。
 前述のように、C++11のラムダ式でその辺が書きやすくなっているが、ここで示すSTL本は、古い時代の本。それに留意して読むといいと思う。
 C++11のラムダ式できれいに書ける実例は、ネットにもあるだろうし、後述の「ゲームプログラマのためのコーディング技術」にもある。

http://www.amazon.co.jp/exec/obidos/ASIN/4894714329/showshotcorne-22/
STL―標準テンプレートライブラリによるC++プログラミング 第2版 単行本 2001/12
ディビッド・R. マッサー (著), アトゥル サイニ (著), ギルマー・J. ダージ (著), David R. Musser (原著), Atul Saini (原著), Gillmer J. Derge (原著), 滝沢 徹 (翻訳), 牧野 祐子 (翻訳)
単行本

http://www.amazon.co.jp/exec/obidos/ASIN/4881357786/showshotcorne-22/
STL標準講座―標準テンプレートライブラリを利用したC++プログラミング (Programmer’s SELECTION) 単行本 1999/8
ハーバート シルト (著), エピステーメー (監修), Herbert Schildt (原著), 多摩ソフトウェア (翻訳)

http://www.amazon.co.jp/exec/obidos/ASIN/4894714108/showshotcorne-22/
Effective STL―STLを効果的に使いこなす50の鉄則 単行本 2002/1
スコット メイヤーズ (著), Scott Meyers (原著), 細谷 昭 (翻訳)

 ハーバート・シルトは、前述、「独習C++」の著者。
 スコット・メイヤーズも、C++の権威。後述のEffective C++などベストセラーの著者で、このシリーズの常連。
 脱線するが、「STL標準講座」の監修をしているエピステーメーさんは、すごい人で、ぼくは、C++の鬼、テンプレートの鬼だと思っています。
 次のような、C++によるメタプログラミングで、すごいことをやる本も出しています。
 中身検索で目次をみても、理解不能な人が大半だと思いますが、C++のおそるべきパワーを解き放つ世界で、ほとんど、フォースの暗黒面ならぬ、C++の暗黒面でしょう。\(^O^)/

http://www.amazon.co.jp/exec/obidos/ASIN/4797376686/showshotcorne-22/
C++テンプレートテクニック 第2版 単行本 2014/4/17
επιστημη (著), 高橋 晶 (著)

http://www.amazon.co.jp/exec/obidos/ASIN/B00QJINRYI/showshotcorne-22/
C++テンプレートテクニック 第2版 Kindle版
επιστημη (著), 高橋 晶 (著)

 STLについて、よくまとめてあるサイトがある。
https://sites.google.com/site/stl4jp/home
STL(Standard Template Library)
C++の標準テンプレートライブラリ、STLのページです。

参考:
https://sites.google.com/site/stl4jp/man_algorithm
STL 共通アルゴリズム
http://d.hatena.ne.jp/mickey24/20110211/stl_algorithms_and_functors
2011-02-11
C++のSTLアルゴリズムには関数ポインタよりも関数オブジェクトを渡そうという話

 Effectiveシリーズは、Effective JavaやEffective C++が有名だが、どの言語も、中級、上級を目指すなら、読んでいて損はないものばかり。
 Effective

http://www.amazon.co.jp/exec/obidos/ASIN/4621066099/showshotcorne-22/
Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI) 単行本(ソフトカバー) 2014/3/18
スコット メイヤーズ (著), 小林 健一郎 (翻訳)
単行本(ソフトカバー)
¥ 4,104

http://www.amazon.co.jp/exec/obidos/ASIN/4621066064/showshotcorne-22/
新訂版MORE EFFECTIVE C++ (ADDISONーWESLEY PROFESSIONAL CO) 単行本(ソフトカバー) 2014/2/28
スコット メイヤーズ (著), 安村 通晃 (翻訳), 伊賀 聡一郎 (翻訳), 飯田 朱美 (翻訳), 永田 周一 (翻訳)
単行本(ソフトカバー)
¥ 4,104

http://www.amazon.co.jp/exec/obidos/ASIN/4873117364/showshotcorne-22/
Effective Modern C++ ―C++11/14プログラムを進化させる42項目 大型本 2015/9/18
Scott Meyers (著), 千住 治郎 (翻訳)
大型本
¥ 4,104

関連:
http://iiyu.asablo.jp/blog/2014/09/26/7443432
Effective Modern C++, C++11, C++14。C++ Multithreading Cookbook。ICT業界の技術者が、若いときにやっておくべきこと。
http://iiyu.asablo.jp/blog/2016/04/06/8066132
Effective Python, Pythonチュートリアル第3版, Go言語によるWebアプリケーション開発, スターティングGo言語
http://iiyu.asablo.jp/blog/2016/01/14/7990063
Effective Python ―Pythonプログラムを改良する59項目
http://iiyu.asablo.jp/blog/2015/09/25/7812140
Effective Modern C++ ―C++11/14プログラムを進化させる42項目、C++11/14コア言語
http://iiyu.asablo.jp/blog/2014/09/28/7444837
Effective Java, Effective C++, More Effective C++などEffectiveシリーズ。年寄りだから、昔話が長いわ、お前
http://iiyu.asablo.jp/blog/2014/12/01/7507416
Effective Rubyの日本語版が出ますね

 その他、Effectiveシリーズについては、上の検索窓に「Effective」と入れて検索してください。

 次は、以前、紹介したもの。
 C++入門というより、C++を使ったソフトウェア開発全体にわたって、解説してある。
http://www.amazon.co.jp/exec/obidos/ASIN/4797369159/showshotcorne-22/
C++のためのAPIデザイン 大型本 2012/11/2
マーティン・レディ (著), Martin Reddy (著), 三宅 陽一郎 (監修), ホジソン ますみ (翻訳)

関連:
http://iiyu.asablo.jp/blog/2015/09/25/7812131
マーティン・レディ著「C++のためのAPIデザイン」

 次は、この前、本屋で偶然手に取ってみて、これはいいと思った本。
 新人君だちの勉強会に使おうと思っている。

http://www.amazon.co.jp/exec/obidos/ASIN/4774174130/showshotcorne-22/
ゲームプログラマのためのコーディング技術 単行本(ソフトカバー) 2015/6/2
大圖 衛玄 (著)
単行本(ソフトカバー)
¥ 2,678

http://www.amazon.co.jp/exec/obidos/ASIN/B00YGVYMQW/showshotcorne-22/
ゲームプログラマのためのコーディング技術 Kindle版
大圖衛玄 (著)
Kindle版
¥ 2,480

 本書は、「ゲームプログラマのための」という書名で損をしている。
 いわゆるリーダブルなコードをどう書くかという、一般性のある議論を展開している。そのコード例にC++が使ってあり、ゲームで出てきそうなコードが出ているというだけのこと。
 日々のちょっとしたことから、クラス設計、デザインパターンの話もあり、珍しくソフトウェアメトリクスの話もある。こういうレベルの本で、メトリクスの話が書いてあるのは、初めて見た。
 コード例も具体的でわかりやすいので、「C++のためのAPIデザイン」より実践的だと思う。
 特にC++11のラムダ式(クロージャ)を使って、forやwhileといったループを、関数型言語のスタイル(*1)に書き換えて、見通しのいいコードにするところは、最近のC++らしい書き方で、C++11の軽い入門にもなっている。
 第2章で解説があるオブジェクト指向とクラスの設計が理解できてないのに、C++を書いている人がいて、しかも、そのコードは、Cとしてもひどいコードだったりする。そういう人は、第1章の「わかりやすいコードを書くためのテクニック」だけでも実践するようになると、ずいぶん、いいコードになると思う。

*1
データストリームに次々と関数を適用して結果を得る、いわゆるパイプライン処理、コマンドチェインで処理するスタイル

関連:
http://iiyu.asablo.jp/blog/2016/04/07/8066797
なぜ関数型プログラミングは難しいのか? ソフトウェアデザイン 2015年8月号

 リーダブルなコードを書く話は、次が定番。
http://www.amazon.co.jp/exec/obidos/ASIN/4873115655/showshotcorne-22/
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 単行本(ソフトカバー) – 2012/6/23
Dustin Boswell (著), Trevor Foucher (著), 須藤 功平 (解説), 角 征典 (翻訳)
単行本(ソフトカバー)
¥ 2,592

 それと、大著で高いが、次も定番。Kindle版なら、半額くらいだね。
http://www.amazon.co.jp/exec/obidos/ASIN/489100455X/showshotcorne-22/
CODE COMPLETE 第2版 上 完全なプログラミングを目指して 単行本 – 2005/3/26
スティーブ マコネル (著), Steve McConnell (原著), クイープ (翻訳)
単行本
¥ 6,588

http://www.amazon.co.jp/exec/obidos/ASIN/B00JEYPPOE/showshotcorne-22/
Code Complete 第2版 上 完全なプログラミングを目指して Kindle版
スティーブ マコネル (著), クイープ (翻訳)
Kindle版
¥ 3,294

http://www.amazon.co.jp/exec/obidos/ASIN/4891004568/showshotcorne-22/
CODE COMPLETE 第2版 下 完全なプログラミングを目指して 単行本 – 2005/3/26
スティーブ マコネル (著), Steve McConnell (原著), クイープ (翻訳)
単行本
¥ 6,588

http://www.amazon.co.jp/exec/obidos/ASIN/B00JEYPUHQ/showshotcorne-22/
Code Complete 第2版 下 完全なプログラミングを目指して Kindle版
スティーブ マコネル (著), クイープ (翻訳)
Kindle版
¥ 3,294

 次は、なぜそういう言語仕様になっているのかを理解しながら、いいコードを書こうという本。
 基本的には、どの言語も、解決したい問題を効率的に解くプログラムを楽にきれいに書けるように言語仕様を決めているんだけど、しがらみやら紆余曲折やらもあるし、複雑化しているからね。
 まあ、でも、言語を構成する基本的な要素、プログラミングパラダイムといったことの基礎が理解できていれば、たいがいの言語は、数週間から数ヵ月あれば、仕事でも書けるようになります。言語そのものより、いいライブラリとその使い方をを知るほうが時間がかかって、大変かもしれない。

http://www.amazon.co.jp/exec/obidos/ASIN/477415654X/showshotcorne-22/
コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus) 単行本(ソフトカバー) – 2013/4/24
西尾 泰和 (著)
単行本(ソフトカバー)
¥ 2,668

関連:
http://iiyu.asablo.jp/blog/2014/05/19/7314862
リーダブルコード―より良いコードを書くためのシンプルで実践的なテクニック、コーディングを支える技術 成り立ちから学ぶプログラミング作法
http://iiyu.asablo.jp/blog/2013/07/18/6906167
よいコードを書くための本、Code Complete, Readable Code
http://iiyu.asablo.jp/blog/2008/12/20/4017829
素晴らしいコードを書くには

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
一富士、二鷹、三は? ひらがなで。

コメント:

トラックバック

このエントリのトラックバックURL: http://iiyu.asablo.jp/blog/2016/04/08/8067423/tb

_ ホットコーナー - 2016年04月15日 10時07分15秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonから。
---
 時間がないから、メモから、リンクのみで失礼。
 LINQ for C++, Boost Range Libraryや、そのOven拡張なんて、全然知らなかった。
 頭のい

_ ホットコーナー - 2016年04月26日 09時56分53秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonから。
---
 お買い上げありがとうございます。
 「おうちで学べるデータベースのきほん」「おうちで学べるネットワークのきほん」のKindle版

_ ホットコーナー - 2019年02月28日 01時57分29秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonから。
---
 アンテナハウスのメイン言語は、C++。次にJava。
 あとは、社内で使う分は、Scala, C#, JavaScript, Python, Ruby, Perl, PHP, Objective-Cなどなど、

_ ホットコーナー - 2019年03月11日 00時44分58秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonから。
---
 次の記事を読むと、おそらくほぼこれがC++20に入りそうですね。
https://www.reddit.com/r/cpp/comments/au0c4x/201902_kona_iso_c_committee_trip_report_c20/
20

_ ホットコーナー - 2019年12月04日 10時07分35秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 プログラミング言語の人気ランキングや収入ランキングで、CとC++を一緒にしてい

_ ホットコーナー - 2019年12月29日 00時27分25秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
■Modern C++チャレンジ
 C++を勉強中の新人君から、いい問題集みたいなものはない

_ ホットコーナー - 2020年01月03日 01時30分14秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 みなさま。
 あけまして、おめでとう。
 閉めまして、さよ、おなら。\(^O^)

_ ホットコーナー - 2020年01月13日 02時21分49秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 C++14でジェネリックラムダが入ったから、こんなに簡単にクロージャが書けて、ク

_ ホットコーナー - 2020年01月18日 23時40分17秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 お買い上げありがとうございます。
 去年のお買い上げで、ずっと気になってい

_ ホットコーナー - 2024年01月22日 00時14分23秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 X(旧Twitter)で、セガ・龍が如くスタジオ技術責任者の伊東豊さんが、C++のことを書

_ ホットコーナー - 2024年06月11日 01時04分40秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 これは素晴らしい本です。
 勉強になりました。一度読んで、今、2度目を読み

_ ホットコーナー - 2024年06月16日 03時22分20秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 C++ポケットリファレンスの改訂第5版が出ていました。即ゲット。
 改訂第3版の