質問: 現在、PHPの勉強を進めている者です。 さっそくではありますが質問をさせて下さい。 PHPのマニュアル(日本語版) http://php.net/manual/ja/index.php こちらのマニュアルをPHPの勉強をしていく上で利用していくのが良いと教えて頂いたのですが、 実際に読んでいくと堅い文章というか、恥ずかしい話ですが今ひとつ理解がしにくいのです。 私はオンライン学習やネットで学習したり、 他の人が書いたコードを見て分からない関数があったりした時にネットで検索しているのですが いつもPHPマニュアルよりも別の人が解説しているブログやHPを見て理解しています。 例文もそうなのですが、 他の人が書いている説明が柔らかい言葉というか簡潔といいますか、 初心者にとっても分かりやすく、とても助かっています。 助かってはいるのですが、 いつまでもこのままPHPマニュアルではなくて別の解説者の人の文章を読んでていいものか・・・と思いまして。 もしも同じように最初は「PHPマニュアルが理解しにくかった」けれど「こういう風な考え」や こんな方法をしてみるとPHPマニュアルが理解出来るようになった!とかそういう体験や方法等がありましたら 教えて頂けると嬉しいです。
回答: 公式サイトにあるマニュアルは難しい...というより、ターゲットにしている人達が違うというのがあります。 PHPを含め、公式のマニュアルでは、言語の仕様を簡潔かつ正確に表現する必要があります。また、関数の説明をするリファレンス部分についても確実な意味しか載せません。そして、重要なのは、これらのターゲットは**その言語を理解している人**ということです。 理解していると言っても、その言語の全てを知っている人という事ではありません。最低限の言語知識や、各用語の意味、例えば、変数や関数やクラスと言ったものが何かを知っていると言うことです。「プログラミングにおける変数とは何か」を一々説明はしません。説明するのは「その言語において、変数はどのように書き、どのように扱えるか」だけです。マニュアルはプログラミング初心者への教本ではなく、初心者ではないプログラマーが正確にその言語を把握するための指南書であるため、プログラマーが素早くわかる内容であれば十分なのです。 もう一つ、マニュアルには注意すべき点があります。必ずしも翻訳が正しいとは限らないと言うことです。Rubyを除くほとんどの言語では英語版がオリジナルであり、日本語版はその翻訳に過ぎません。 例えば、PHP: リファレンス渡し - Manualの冒頭には次のように書いてあります。 > > リファレンスにより関数に変数を渡すことが可能です。この場合、関数内で その引数を修正可能になります。 > > > 「リファレンスにより...渡す」とは一体何なのでしょうか?リファレンスというものが変数を渡す機能があるのでしょうか?このままでは意味がよくわかりません。オリジナルの英語版を見てみましょう。 > > You can pass a variable by reference to a function so the function can modify the variable. > > > 「pass by reference」は「参照渡し」という一つの用語です。つまり、 > > 関数に変数を参照渡しすることが可能です。... > > > や > > リファレンスとして関数に変数を渡すことが可能です。... > > > という意味だと言うことがわかります。 最後に、単に慣れていないというのもあります。 まとめますと、うまく理解できなかった原因はたぶん3つぐらいであり、それぞれ対処が異なります。 1. 理解できるほどの基礎知識が無い。 まずは、**基礎を身につけてください。**チュートリアルを除いて、マニュアル類は初心者向けではありません。プログラミング初心者であれば、入門書や入門サイト、初心者向けというものから始めてください。そこで、ある程度知識を得てから読み直せば、きっと理解ができるようになるはずです。逆に、理解できなければ、まだ入門が終わっていないと言うことです。 2. 翻訳がおかしい。 日本語の意味が通じないと思ったら、**オリジナルの英語版を読んでください。**英語が全く読めないとなると、将来が厳しく、どこかで頭打ちになると思います。 3. 硬い文章が苦手だ。 **慣れてください。**技術文書は硬い文書が多いです。特に仕様書とかはバリカタですが、読めなければ、仕事になりません。