Ads by Google
新しい記事を書く事で広告が消せます。
--/--/-- --:-- |
スポンサー広告
|
TOP
--/--/-- --:-- |
スポンサー広告
|
TOP
百式の田口さんのブログでCakePHP修行が公開されてプログラミング経験のない方にもフレームワークという概念が浸透しつつある今日この頃。フレームワークの登場により、私のようなプログラミング初心者でも短期間でWebサービスを公開することができる時代になりました。
実は私は、PHPのprintやechoを知ったのはつい最近です。使ったことは一度もありません。呆れるほど馬鹿らしい、嘘のような本当の話。PHPを学ぶきっかけになったOpenPNEがSmartyを使用していたことから、PHPにはSmartyが必須だと勘違いしました。
OpenPNEをカスタマイズしながらPHPを学び、以降フレームワークにもSmartyを入れないと使えない柔軟性に欠ける私にとっては、print()関数はある意味必要のないものだったのです。
そんな知識の欠片も持ち合わせていない初心者でも、他人の敷いたレール上で他人と同じように走ることができるのがフレームワークのすごい所です。そんな私の経験をもとに、フレームワークは初心者こそ使用するべきだという意見を述べます。
ちなみに、私のPHPフレームワーク経歴は「OpenPNE→CakePHP→ちいたん」と遷移しました。OpenPNEはSNSエンジンですが、自分用に中身をスッカラカンにしてから擬似フレームワークとして使っていたので、ひとまず「私にとっての」フレームワークということで含めています。
では、初心者ほどフレームワークを使うべき6個の理由です。
1. 自己流で変な癖がつく前に型を固めるほうが良い。
これは空手などのスポーツにも言えることですが、初心者が中途半端に自己流で学習すると、変な癖がついてしまいます。一度癖がつくとそれを直すのは大変難しいです。変な癖が付く前に、他人の手助けを借りることができるフレームワークで型にはまったほうが後々苦労せずにすみます。
フレームワークは、インストラクターの役割を担っているのです。
2. プログラミングの学習にはパラシュート法こそ最適。
野口 悠紀雄 (著) の「超」勉強法で数学の勉強法として提唱されている「パラシュート法」。パラシュート法とは、基礎を飛ばしいきなり応用・完成形をこなす学習方法のことです。これは数学や物理など、知識の蓄積や発想がほとんど必要なく、論理と解法で問題が解決する分野の学習に適しています。
プログラミングも数学と似たようなもので、論理と解法さえきちんとしていれば細かい所は知らなくてもどうにかなります。もちろん上級のニーズを満たすためにはこれだけでは壁に当たることもあると思いますが、私は初心者です。そんな例外なんてまずは後回しで構わないでしょう。
print "Hello World!";なんて知らなくても、フレームワークさえあればブログシステムくらいのWebサービスなら簡単に作れます。Webサービスが作れるようになればモチベーションも上がりますし、必要な知識の判別もできるようになり学習効率も高まります。
3. 先人(天才)の知恵はためらわず拝借。
世界には自分より優れた人達がたくさんいます。そういう優れた人の知識を利用することができるのがフレームワークの良さです。例えば、OpenPNEではサニタイズ処理などのセキュリティ対策も当然のごとく実装されています。そのフレームワークを使用すれば、知識のない初心者でも結果的にセキュリティ対策が実装されます。
4. 他人の敷いたレールを走るのは楽。
他人の敷いたレールの上を走る人生なんて嫌だという青春まっさかりな方であれば、私は敢えて止めません。しかし、他人(しかも優秀な方)が敷いたレールは知識のない自分が適当に敷いたレールより走るのが簡単なのは明白な事実です。舗装された道路と獣道ほどの違いがあります。
初心者の方はただでさえ作業が遅くプログラミングはストレスフルなはずですから、楽できる部分は楽していきましょう。
5. ソースの見通しが良い。
昨今のフレームワークで良くみかけるMVCでの切り分け。これは、本当にソースの見通しが良いです。どこに何が書かれているか一目でわかるので、無意味な時間の浪費が格段に少なくなります。
また、ソースの煩雑さによるモチベーションの低下やメンテナンスの億劫さからも解放されます。他人から見たら多分まだまだ汚いソースだとは思いますが、初心者の自分の感覚からしたら格段にソースが綺麗になりますよ。
6. 記述量が明らかに減少する。
これは、データベースの接続やセッション管理、PEARとの連携などで実感することができます。自分でそういった部分を効率化できる上級者の方には「何を戯言を」と感じることかもしれません。しかし、効率化する術を知らない初心者の方なら、記述量を削減する数々の仕組みに感動するはずです。
--
私はOpenPNEを除けばCakePHPとちいたんしか使ったことがありませんし、現在でもプログラミング初心者ですので、主張には的外れな部分もあるかもしれません。ただ、フレームワークがなければCSSEZなどのWebサービスは絶対に作成することができなかったと、自信を持って言うことができます。
プログラミングの学習を始めたいけれど、躊躇している皆さん。趣味レベルのプログラミングならば意外に簡単ですよ。フレームワークと共に思い切って初めてみてはいかがでしょうか。
2007/08/08 00:29 |
php
| COMMENT(6)
| TRACKBACK(0)
|
TOP
コメント
そんな覚え方が・・
フレームワークから入るなんて覚え方があったんですね・・。
でも大規模な物を作るにはそっちからのほうがいいかも。
プログラム経験はあったんですか?
No:11 2007/08/12 03:33 | 2と3の人 #JCdqMm0U URL [ 編集 ]
いえ、プログラム経験はありませんでした。最初は、htmlも満足に読めない状態で、リンクを挿入するだけで丸一日かかるほどでした。
私の場合、いまだにPHPでデータベースに接続する正規の方法を知らなかったりなど、基本的な知識が欠けています。
フレームワークがあれば、それでも問題なくデータベースに接続できますし、実践的な知識に特化して学習していけるので、学習効率は基礎から学ぶよりも良いと個人的には思います。
No:13 2007/08/15 10:29 | 管理人 #- URL [ 編集 ]
やっぱりねえ
こんにちは
ちいたんで検索してたらここに辿り着きました。僕はラジオ録音予約スクリプトをPHPでこつこつ書きましたが、それを拡張して録音ファイルの検索とか削除とかの機能をつくようとしたらいきずまってしまいました。フレームワークというものがあるのは知ってましたがあれは業務用のもので自分には関係ないと思ってました。趣味で我流でやってるだけなのでソースを後でみてもよくわからなくなってしまってるので困ったなあと思ってました。初心者こそフレームワークってそのとうりですね。
ちいたんでもう一度作りなおしてみます。
No:32 2007/11/14 22:18 | kaz #klYKM8pg URL [ 編集 ]
やっぱり無理だ
うーん、何度読んでも使い方がわかりません。
classがわかっていないというのもあるけど初心者にはマニュアルが少なくて意味がわからない。。やっぱり他のフレームワークを使った人が対象なのかな。ドキュメントの多いcakePHPかEthnaを勉強してからちいたんに戻ります。
No:33 2007/11/21 15:30 | kaz #- URL [ 編集 ]
頭が固い?
今までやってた逐次処理のタイプと全然ちがうので大変とまどってます。以前のたいぷなら1000行程度までなら作れるけどそれ以上は無理なのでフレームワークに移行したいけどなかなか難しい。チュートリアルのブログをちょっと改造するともううごかない。なにがダメなのかもさっぱりわからない。個々のファイルは読めるけどつながりがよくわかっていないからだと思うが分数の計算ができない小学生の気分です。
No:35 2008/01/05 22:38 | kaz #- URL [ 編集 ]
私が自分用にカスタマイズしたちいたんも公開していますので、もしよかったらお使いください。
http://sayhelloworld.blog113.fc2.com/blog-entry-81.html
public_html/index.php
と
webapp/templates/index.tpl
を弄るといろいろとできるようになっています。
確かに、ドキュメントが少ないので人によっては別のフレームワークから初めてちいたんに戻ってきたほうが良いのかもしれませんね。
私もCakePHPを少々いじってからちいたんを使い始めましたので。
No:36 2008/01/08 12:06 | クボケー #- URL [ 編集 ]
コメントの投稿
トラックバック
この記事にトラックバックする(FC2ブログユーザー)