katonobo’s blog

プログラミング中心の雑記ブログ

プログラミング初心者は最初フレームワークは使わない方が良いと思う話。

プログラミング言語を勉強しようとすると、フレームワークと言うワードを聞きます。

 

多分、最初に頻繁に耳にするフレームワークは、「Ruby on Rails」「CakePHP」とかでしょう。

特に、「Ruby on Rails」は、最初にプログラミングを勉強する時、Rubyを選択する人多いので目にします。

また、こんなの作りたいなぁと言うイメージがある人は、そのサービスに似たサイトの作り方などから検索すると「Ruby on Rails」を使って開発されている例が多いので、じゃあといきなり始めるパターンもあると思います。

 

ただし、いきなりフレームワークを使って何かを作ろうとすると、チュートリアル通りに作ることはできても、そこから少しオリジナルに改造しようとすると応用が全くできないことに気づくと思います。

なぜなら、フレームワークはまずその言語のルールに加え、フレームワーク独自の記述の仕方が多く存在するため、言語の基本知識がないとその区別がつきません。区別がつかないとそのフレームワークが何をしているのかわかりません。

なので、一見ゴールに対して遠回りに思えるかもしれませんが、初めて言語を勉強するときは、フレームワークを使わないで一から何か作ってみることをおすすめします。

これをスクラッチ開発と呼ぶそうです。

 

なぜこんな話をしたかと言うと、自分がフレームワークをいきなり使おうとして見事に挫折したからです。

 

自分は最初にプログミングを始めた動機が「自分でスマホゲームを作りたい!」だったので、「Swift」と言うiPhoneのスマホアプリを作るときに使う言語からスタートでした。

Swiftの基本を覚えて、2本スマホアプリゲームを作ったのち、Androidでもゲームを出したいと思い、スマホゲームの有名開発環境である「Unity」を勉強しました。

その後にwebサービスを勉強始めたのですが、いきなり「Ruby on Rails」を使ってサービスを作ろうとしたので見事につまづきました。

スマホアプリを作るのとwebサービスを作るのはまた全然違うんですよね。

これはいかんと、RubyではなくPHPを勉強しました。そして、PHPでスクラッチ開発をやることにしました。おかげで、PHPの仕組み、基本的な動作がわかるようになり、言うなれば勘がつきました。スクラッチ開発ってすごい面倒だし、コード凄く書くので大変なんですが、それが多分実力になるんだと思います。

なんか徒然に書いてしまったんでバラバラな感じになってしまいましたが、いそがば回れで、まずはじっくり取り組んでみてください。