クリックで表紙の拡大画像を表示
|
|
Javaのココロ
“できる”プログラマになるための111のアドバイス〜
松浦 健一郎/司 ゆき 著
A5判、2色刷り、240ページ
本体価格 1,800円、出版日 2006/05/29、ISBN 4-7973-3548-3
出版社 ソフトバンククリエイティブ
概要
「思ったとおりに動くプログラムが書きたい!」
「プログラムを高速化したい!」
「もっとスピーディにプログラムを仕上げたい!」
プログラミングの経験がある方なら、一度はそう感じたことがあるでしょう。
しかし、プログラミング言語の入門書を卒業しても、実戦で役立つコツはなかなか身に付いてこないものです。
「この書き方とあの書き方、どっちが速いの?」
「なぜ速くなるの?」
「なぜこんなルールになっているの?」
そうしたプログラミング言語の「ココロ」に当たる部分を理解してしまえば、ずっと自信をもってプログラミングにのぞむことができます。
しかし、こういった「ココロ」は入門書や入門講座では学ぶことができません。言語の基本的な使い方を教えるのに、ページ数も時間もギリギリだからです。ちゃんとプログラムが書けるプログラマになるためには、自分で経験を積むか、経験豊富な先輩に教えてもらうことになります。体系的に「ココロ」を学んで短期間にステップアップする機会が少ないのが実情です。
今までは口伝で学ぶしかなかった、そんな「Javaのココロ」をまとめたのが本書です。本書の最初から順に読んでいただいても、気になった項目をランダムな順番で読んでいただいても構いません。各項目は1ページ〜数ページにまとめてありますので、ちょっとした休憩時間や電車での移動時間などを利用して気軽にお読みください。
こんなときに
本書は、こんな疑問・問題が生じたときにお勧めです。
-
プログラミング言語の基本は学んだけれど、どうやったら「良い」プログラムが書けるのか…?
-
「高速化して」と言われたが、どうやったらプログラムは速くなるのか…?そもそもどうして速くなるのか…?
-
先輩に「そんなことをしているようじゃ、まだまだだね。」と言われた。先輩の言っていることは、本当なのか…!?
-
なかなかコーディングやデバッグが進まず、ゆっくり眠れない…。家に帰れない…。
-
プログラミング歴は長いのだが、今ひとつ自信を持ってプログラミングに取り組めない…。
目次
-
第1章 Javaプログラミングのエッセンス
-
プログラマに必要な素養
-
理系教育は必要か
-
計算量
-
コピープログラミングは悪か
-
なぜJavaを使うのか
-
Javaを習得したら終わりか
-
必要な情報をすばやく手に入れるには
-
プログラマがよく使う用語
-
ベテランプログラマの発想
…など
-
第2章 道具と流儀にこだわる理由
-
開発環境の選び方
-
もし統合環境が使いにくかったら
-
プログラミングを気持ちよくする方法
-
プログラミングで一番長い時間使うツール
-
賢いカスタマイズの方法
-
最低限使いたいエディタの機能
-
エラーメッセージ「\12288は不正な文字です」
-
命名規約
-
プログラミングによく使う記号の読み方
-
良いコメントと悪いコメント
-
良い名前と悪い名前
-
コンパイラに仕事をさせる
…など
-
第3章 Javaを活用するためのポイント 基礎編
-
暗黙の型変換
-
floatはintよりも精度が悪い
-
floatとdoubleのどちらを使うか
-
整数型の使い分け
-
式をきれいに書くには
-
間違いやすいビット演算子の優先順位
-
余分なカッコを笑う人もいるが
-
コンパクトな式はよい式か
-
副作用のある式
-
ビット演算子を使った高速化
-
シフト演算子を使った高速化
-
>>と>>>の使い分け
-
配列の[]を書く位置
-
配列の引数
-
配列の代入
-
Stringの比較で==は要注意
-
Stringの結合は遅い
-
条件式の書き方で実行速度が変わる!?
-
条件式の意味を変えずに書き換える
-
拡張forループによる速度低下
-
switchとifの使い分け
-
列挙型の使いどころ
-
どんな処理をメソッドにするか
-
1つのメソッドは何行までが適切か
-
可変長引数を活用する
-
メソッド呼び出しはタダではない
…など
-
第4章 Javaを活用するためのポイント クラス編
-
オブジェクト指向は現実世界をモデル化したものか
-
クラスをいきなり使いこなすのは無理
-
クラスを設計するときに注目すること
-
きれいなクラスを書くには
-
「きちんとしたクラス」が常に正しいわけではない
-
誰が使っても使いやすいクラスを書くには
-
スーパークラスとサブクラスを上手にデザインするには
-
オーバーライドの落とし穴
-
継承を使うポイント
-
機能が混ざったクラス
-
使わないインターフェース
-
多重継承が欲しい
-
superの3つの使い方
-
直接ではないスーパークラスのメンバへのアクセス
-
staticイニシャライザとその使い道
-
abstractクラスとインターフェースの使い分け
-
strictfpとは何か、何に使うか
-
ライブラリから必要なクラスをすばやく探すコツ
-
5分で理解できるジェネリックス
-
自動型変換と暗黙の型変換の違い
-
<? super T>と<? extends T>
-
コレクションの使い分け
-
synchronizedとvolatile
-
列挙型はクラスの一種
-
第5章 プログラムの開発とデバッグ
-
プログラム開発で最初にやるべきこと
-
設計とドキュメント、コーディングの関係
-
設計の初期で頭の中で考えること
-
プログラム、どこから作るか
-
わかりにくコンパイルエラー
-
警告は放っておくこともできるが
-
デバッガを使おう
-
アサーションによるチェック
-
printfデバッグの使いどころ
-
スタックオーバーフロー
-
デバッグの決め手は予想と勘か
-
反応がなくなる
-
例外隠し
-
バグの原因が見当たらない
-
オーバーロードに起因するバグ
-
どうしてもバグが取れないとき
-
既存のライブラリはどんどん使うべきか
-
常に動く状態を保つ
…など
-
第6章 プログラミングにおける暗黙の了解と誤解
-
実行時間を計る
-
プログラムを高速化するには
-
メモリの消費
-
JavaがあればC/C++は不要?
-
配列のサイズを2のべき乗にするべきか
-
除算は乗算よりも後に行うべきか
-
誤差の蓄積
-
イベント駆動型プログラミング
-
いろいろ学べと言うけれど本当は
…など
-
索引
最終更新