2012年7月6日金曜日

PHPの入門書を書くことになりました&レビュアー募集のお知らせ

PHPの入門書をソフトバンククリエイティブさん出すことになりました。かねがね、PHPの入門書がよろしくないという問題意識を持ち、かつ色々な場でお話ししておりましたが、またしても「言い出しっぺの法則」が発動して、自分で書くことになりました。
PHPの入門書を(たぶん)10冊以上読んで(あるいは眺めて)、以下のような感触を持っています。
  • ものすごく初歩的な本は悪くないが、行き着くゴールが極めて限定される
  • SQLなどまで行き着く入門書は、後述する欠点を持つ傾向がある
  • 中級者・上級者向けについては、良いものが出て来た
PHP入門書の欠点というのは以下のようなものです。私の読んだPHP入門書は、次のいずれかに該当します。
  • 執筆者のスキルが低いために説明やサンプルの品質が低い
  • 執筆者のスキルは高いはずだが、説明のスキルが低く、不正確
  • 執筆者のスキルが高く説明も正確だが、初心者には難しく入門書でなくなってしまっている
ということから、上記の欠点のない(許容できる程度に少ない)入門書が書けないか考えました。
セキュリティについては前面に出さず、ふつーに、当然のように安全なものができあがることを目指しております。

現時点の構想は下記の通りです。変更の可能性があります。ノンプログラマ向けの本ではなく、開発者の卵向けという位置づけです。

対象読者

  • プログラマ・SE一年生でこれからPHPを学習する人
  • なにかプログラミング言語の経験があるとなお可
  • HTMLの基礎を知っていて簡単なHTMLを書けるとなお可(ただしHTMLの基礎知識は説明する)

学習環境

学習環境は以下を考えています。変更の可能性があります。
  • PC / Macに対応
  • VMware / Virtual Box ※XAMPPにするかもしれません(検討中)
  • Ubuntu + PHP + MySQL ※XAMPPにするかもしれません(検討中)
  • NetBeansによる開発・デバッグ環境
  • テストについても言及するかも
  • デプロイについても言及するかも

目標

本書のゴールは以下を考えています。変更の可能性があります。
  • 簡単なWebアプリがPHPにより作れる
  • PHPの基本をマスターする
  • 関数やクラスの使い方をマスターする
  • メールフォームが作れる
  • SQLを用いた検索フォームが作れる
  • 会員管理、認証のあるアプリケーションが作れる
  • NetBeansによるデバッグの仕方を習得する
  • より高度な技術を習得するための土台ができる
  • セキュリティ的な問題はなくす
    • ただし、あまりセキュリティの原理的なところは踏み込まず、「こうするとよい」というハウツーにとどめる
    • 要は「安全なWebアプリケーションの前に読む本」という位置づけにもなる

レビュアー募集

現状のPHP入門書に不満があるとして、自分なら十分なものが書ける根拠があるかというと、なかなか難しいと感じています。このため、今回も、レビュアーを公募して、皆様のお力をお借りしながら、少しでも良いものにしたいと希望しております。レビュアーに期待していることは以下のようなことです。
  • 初心者目線で、読んでわかりにくい箇所の指摘
  • PHPのエキスパートとしての指摘
  • 文章表現に対する指摘
  • 正確でない用語の指摘
  • 誤字・脱字・誤変換などいわゆるTYPOの指摘
  • その他、説明や構成に対するアドバイスなど
とくに初心者目線での指摘を頂ける方を募集します。自薦だけでなく、部下・教え子・後輩の推薦も歓迎します。ただし、応募はご本人からお願い致します。
レビュアーには「あの○○さん」のようなすごい方もおられますが、その中でも臆せずに「自分には分かりにくい」と言えるガッツのある人を歓迎(大歓迎)します。

当方からの謝礼としては以下を予定しています
  • 本の中での謝辞(本名またはハンドル)
  • 献本(紙の本と電子版)
  • 打ち上げへのご招待(会費は当方が負担します)
以下の条件を承諾していただけることが前提です。
  • いただいた指摘やアドバイスは真剣に検討致しますが、採用するとは限りません
  • ご意見を採用する・しない、採用後の表現は、最終的には徳丸が決定します
  • 具体的な修正案を盛り込んだ場合、著作権は徳丸に帰属します
  • 本の内容について秘密保持をしていただきます(常識的な範囲で)
人数としては、十数名程度と思っています。

レビュアーをやってみたいという方は、以下のいずれかの都合の良い方法で徳丸までご連絡ください。応募期間は、7月13日金曜日までとします。
  • phpbook @ tokumaru.org へのメール(@を半角にしてください)
  • twitter, facebookでのDM
連絡いただく内容としては、基本的には以下の内容です。
  • お名前(本名 または ハンドルネーム)
  • メールアドレス
  • 自己紹介(簡単で結構です)
  • アピール(こんな指摘がしたい and/or できる)
  • ブログなどのURL
徳丸が面識のない方については、基本的にブログなどでアウトプットを出している方から選考させていただきたいと考えています。これは、判断基準として既存のアウトプットを見させていただくという意味です。高度な内容である必要はまったくありません。逆に、既に面識がある方(twitter、facebookなども含みます)の場合は、単に「レビュアー立候補します」のみで結構です。

選考結果については、「レビュアー選考が終わり当選者の方にメールで通知しました」という形にしようと思っています。選に漏れた方は、別に「劣っている」という判断ではありませんので、恨まないでくださいね。

それでは、よろしくお願い致します。

PS.
今朝、某社のJavaScript勉強会に参加させていただきました。ツッコミどころ満載のテキストに各位がツッコムのを最初は自分も笑っていたのですが、段々顔が引きつってくるのを感じました。他人事ではありません。入門書を書くのは大変ですね。

追記(2012/7/10))

大変多くの募集をいただきありがとうございます。現時点では、「他の言語は経験があるがPHPは知らない」という方の応募をたくさんいただいております。もちろんそのような方も歓迎ですが、「他の言語も含めてプロクラムは書けない」という方を優先枠として選定させていただきたいと思っております。
プログラムが書けるようになるまでの過程では、多くの困難があると予想されますので、疑問点等については徳丸ができる限りフォローいたします。場合によっては他のレビュアーの方もフォローしてくれるかも知れません。いわば「プログラミング道場」のようなものですね。
以下の条件に当てはまる方を歓迎いたします。
  1. 現時点ではプログラムが書けない(HTMLは書けてもよい)
  2. プログラミングができるようになりたいと強く思っている
  3. 約半年掛けてプログラミングを習得する時間的猶予がある
という方の応募をお待ちしています。また、これ以外の募集についても引き続き行います。

追記(2012/7/18))

昨日選考を終わり、当選の方にはメールで連絡差し上げました。たくさんのご応募ありがとうございました。

フォロワー