
はじめまして。
現在、phpを独学で勉強しています。
as3も多少触った事があるので、phpの柔軟な動きに感動して、楽しみを覚えています。
現在は、「パーフェクトphp」と言う本を片手に勉強を続けているのですが、自分のレベルより本のレベルが高いように感じてます。
現在はフレームワークを作っているのですが、正直最終的にどのような動きになるのか理解できないまま、本を参考に書いています。
最近、このような勉強方法に意味があるのか?と疑問を感じるようになりました。
でも、冷静に考えてみると、次のレベルのプログラムを覚えようと思うと、必ず必要な事だと感じてます。
そこで、質問なんですがみなさんは、初めどのようにしてプログラムを覚えましたか?
私のように最初は意味が今一つかめていなくても、参考書などを最後まで読み通すことで、ある程度理解できるようになるのでしょうか?
ちなみに、私のレベルはphpの本当に基本的な事は理解できていると思います。
オブジェクト指向やクラスと言った事も意味は理解していると思います。
ただ、今までフレームワークを余り使ったことがなく・・・正直、本を片手にプログラムを書いていても意味があまりないのでは?
と疑問に思ってしまいます。
なにか、よい勉強法などがあれば教えて頂けませんか?
宜しくお願いします。
No.5ベストアンサー
- 回答日時:
>PHP絡みの参考書で「オブジェクト指向」について理解が深まる書籍があれば教えて下さい。
現時点では、そういう書籍は和書では出版されていません。
もともとPHP自体が、オブジェクト指向を念頭に開発されたものではなく、そういう専門知識を持たない非プログラマでもちょっと勉強すれば、Webシステムを簡単に作れるというのが売りでした。
それで、PHPを使ってWebシステムを開発し、e-コマースなどのビジネスを始めるベンチャー企業が急増してしまった。
そして他社との差別化を図るために、他社よりも見栄えも使い勝手も良いWebシステムにしようと、システムがどんどん肥大化していったわけです。
そうすると、必然的にオブジェクト指向で開発をしないと収拾がつかない状態になったので、PHP5から、オブジェクト指向の一部をサポートするようになりましたが、2009年リリースのPHP5.3までは、名前空間がサポートされていなかったので、PHPを使った本格的なオブジェクト指向開発を行える環境が無かったわけです。
そんなわけで、PHPをベースに「オブジェクト指向」を解説した書籍が、これまで出版されてこなかったし、PHPはやたらと関数を多用するので、PHPを通じて「オブジェクト指向」の設計手法を初めて勉強するのは、あまり適切ではないと思います。
「オブジェクト指向」によるシステム設計手法を初めて勉強するには、Javaをベースにした専門書を読むのが一番良いんじゃないかと思いますが、そのためにはJavaを修得しないといけないというジレンマがあります。
No.4
- 回答日時:
「パーフェクトPHP」は私も持ってますが、あれは他言語でオブジェクト指向を修得済みの人が、PHPでオブジェクト指向プログラミングをする場合の参考書です。
本の中でも、「本書はオブジェクト指向についての解説書ではないため、…、オブジェクト指向プログラミングに関する専門的な内容は、他の参考書を参照してください。」
と書いてあります。
なので、本の中のサンプルコードを写経しても、
>このような勉強方法に意味があるのか?と疑問を感じるようになりました。
という状況に陥るのは当たり前です。よって、
>オブジェクト指向やクラスと言った事も意味は理解していると思います。
とありますが、オブジェクト指向やクラスについて、99%、理解していないと思います。
先ず、オブジェクト指向プログラミングについて、きちんと理解することを勧めます。なお、世界的に全く知られていない日本の三流ライターが書いた入門書によく出てくる
「オブジェクトとは、現実世界に存在する”物”の抽象的概念をコンピュータ上に実現したモノである」
という説明は、”完全に”間違っていますので、オブジェクト指向について、世界的に認められている第一級の専門家が書いた専門書を読んでみることを勧めます。
この回答への補足
回答ありがとうございます。
確かに・・オブジェクト指向について頭でっかちになっていた部分があると思います。
回答者さんが言われるように、100%の理解は得れていないと思います。
>>「本書はオブジェクト指向についての解説書ではないため、…、オブジェクト指向プログラミングに関する専門的な内容は、他の参考書を参照してください。」
確かに書いていますね。
基本的な事を学びながら、必ずPHPを習得したいと思います。
また、よろしければPHP絡みの参考書で「オブジェクト指向」について理解が深まる書籍があれば教えて下さい。
回答ありがとうございました。
No.3
- 回答日時:
基本的な事が分かっている、ということであれば、とりあえず掲示板を自分の力でイチから作ってみてはどうでしょう。
フォームの扱いやファイル(またはデータベース)への書き込み、画面の遷移が一番分かりやすいシステムなので
最初に作成するなら、丁度良いのではないかと。
後は一度作ったものをもう一度みなおして、練り直す作業(リファクタリング)を繰り返す感じですかね。
また、他者が公開しているプログラムのソースなどを見て、自分の頭の中で翻訳する作業なんかも勉強になります。
他者が作成したプログラムの中で、見たことがない関数とか出てきたら、Web上にあるPHPマニュアルで確認します。
例えば、fopenという関数を調べる場合は、
http://jp.php.net/fopen
とアドレスを叩けば、すぐにfopenの関数の概要がわかるページに飛べます。
また、Xamppなどでもよいので自分のPCにApache+PHPの実行環境つくっておくと、手軽に実行出来るので
書いて消して実行して、が素早く行えるので、PHPの勉強には良いと思います。
フレームワークに関しては、Webサイトを何度も構築した人が、より簡単に構築出来るように、数人からなるプロジェクトが
スムーズに回せるようにするために作ったようなものなので、まず、自力で一からつくって試行錯誤をして
何かしら完成させることをしないと、ただ制約が多くて覚えることが増えるだけで、面倒くさいだけな気がします。
No.2
- 回答日時:
>現在はフレームワークを作っているのですが、正直最終的にどのような動きになるのか理解できないまま、本を参考に書いています。
どうしてそのようなコードを書くのか理解せずにただ丸写しなんて小学生でもできます。
質問者のやっている事は意味ありません。
>私のように最初は意味が今一つかめていなくても、参考書などを最後まで読み通すことで、ある程度理解できるようになるのでしょうか?
なりません。
どうしてそうなるのか理解せずにただ読むことなら小学生にもできるでしょう。
>初めどのようにしてプログラムを覚えましたか?
何も参考にせずに何か自分で作る。
本はわからないところがあったときに読む。
この回答への補足
回答ありがとうございます。
グサッと言われた感じで、反省しています。
はやり、確実に覚えるのは何か目的を持って作ることですよね。
「理解できない・・・」と言う概念で、参考書を読むのではなく、分からない事は調べながら、また、一度完成させて、もう一度同じコードを書けば理解も深まると思いますので、頑張って行きたいと思います。
ありがとうございました。
No.1
- 回答日時:
PHPプログラマーですが、現在Flash lite1.0を勉強しろと指示されているものです。
新しい言語にチャンレンジするのはなかなか大変なものですよね。
参考になるかはわかりませんが、私がやっている方法は
なにか目的をつくってそれを作ります。掲示板でも、入力ホームでもなんでもいいです。
勉強したことを個人用のwikiに自分の為に説明するメモを書きながら勉強する。
わからない自分の為に説明しながら書くって感じですね。
そうすると普段は「まぁ、とりあえず動いてるしいいや」ってとこでも説明の為に記述しないとなので調べないといけなくなります。で、一応調べて記述するんですが、後日見てみるとよくわからなかったりするので、もう一度調べてみる・・
そんな感じで進めてますね。
後々、これどうやったっけ?とかすぐに見直せますし
ちなみに自分は@wikiを使ってます
http://atwiki.jp/
この回答への補足
回答ありがとうございます。
本当に新しい言語を理解するって大変ですよね。でも楽しかったりするんですが・・・
なるほど、wikiを使って自分のデータを構築するっていい方法ですよね。
たまに、あれ?このやりかたってどうだったけ??
って思う事ありますから、見習いたいと思います。
目的を持って学ぶ事は大切ですよね。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- 英語 英語勉強 4 2022/07/14 21:01
- その他(職業・資格) 何かの勉強してきた方質問です 7 2023/04/27 13:09
- 中学校 中2、宿題の意味がわからないです。 4 2022/08/13 13:42
- 学校 今まで楽しかった勉強に対しての怒りが止まりません。※とても長いですし内容まとまってません。 はじめま 1 2022/06/26 22:54
- 大学受験 娘の大学受験勉強 6 2022/06/30 19:58
- その他(教育・科学・学問) 通信高三で中一レベルの英語力しかありません。 1週間まえから武田塾に入りました。 今から京都文教又は 9 2022/08/13 19:10
- その他(悩み相談・人生相談) 試験のための勉強や本番のための練習を"素の力で戦わない卑怯者のすることだ"と思ってしまうのをやめたい 2 2023/04/10 21:39
- IT・エンジニアリング ITエンジニアの勉強時間や勉強方法について 初めまして閲覧いただきありがとうございます。 当方25歳 4 2022/06/09 18:51
- 大学受験 高3。通信制高校生。英検四九レベル偏差値は30も無いでしょう。社会不適合者です。 中学は2年から頭に 1 2022/05/12 22:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLレンダリングエンジン
-
プログラムの勉強方法
-
JAVAプログラミングを勉強...
-
jQueryの本を探しています。
-
読んで楽しいプログラムを探し...
-
pythonでの掲示板作成
-
CとC++の違い
-
SQLの勉強がしたい
-
ハイレベルな動きのあるサイト...
-
C言語の勉強方法を教えて下さい
-
XMLとUMLの相違点?
-
Bootstrap5とCSS3とSassとSASS...
-
既存CGIにパスワード入力
-
iPhoneや携帯電話向けゲームソ...
-
C言語を勉強したいので、初心者...
-
最近HTMLとCSSを勉強し始めまし...
-
ビルダー マウスをあてると画...
-
以下の内容について質問です.
-
EJBとJavaBeans
-
2Dを続けるか3Dで学ぶか。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAの「for i=1 to cells(…」...
-
MSFormsとは何ですか?
-
XMLとUMLの相違点?
-
データベースのデータをTextBox...
-
Excel VBAマクロをマスターする...
-
エクセルVBAを動かすノートPC...
-
VC#とVC#.NETの違い
-
Javascriptの初級中級者のため...
-
JavaScriptを勉強したい
-
超恥愚問ですが、CとC++の間に...
-
HTMLはどうやってマスターされ...
-
XMLを勉強しようと思います。
-
ゲームの作り方を教えて!!
-
サーブレット&JSPでswing使...
-
基本情報技術者試験を受けるも...
-
C言語に苦しむ私
-
JSP/サーブレットについて
-
JavaScriptを用いて、〇図形を...
-
初Web制作は何から覚えていった...
-
VBAなくなるの?
おすすめ情報