プログラミング用語は訳わからない
プログラミングを学び始めて3ヶ月。様々な用語と出会ってきました。
- インスタンス
- エンティティ
- クラス
- ・・・etc
はじめはオェっとしたのですが、だんだん慣れてくるとなんとなく意味がわかってきましたよ。(←けっこう怪しいけど)
今回は初心者の視点で、プログラミング言語におけるフレームワークとは何かを解説します。
間違ってたら指摘してね(汗
フレームワークの意味がわからない
プログラミング学習について調べていると
『フレームワークはCakeを使ってます、Rails使ってます』
みたいな表現に出会うことになると思うんですけど,はじめて聞くとワケわかんないですよね?
ぼくはフレームワークと聞いて
”3C / 4P /SWOT”
といったマーケティングの概念を思い浮かべてしまいました。
フレームワークの俺的解釈
で、しばらく学習して考え至った プログラミングにおけるフレームワークとは
『大手ハウスメーカーの家』
家って0から作り始めるとえらい大変ですが
工場であらかじめ作られたパーツを現場で組み合わせて作っちゃえば早く完成しますよね。
また、工場で一定の管理下にもとづいて作っているので、品質が安定します。
プログラミングの世界も同様で
0から全部自分たちでつくり上げるとめちゃくちゃ大変ですが
記述パターン・リンク・ページ・データベースとの接続・ログイン認証などの基本的機能が揃っており、それをベースにカスタマイズすれば、早く、そして一定の品質を確保しつつWebサービスを作れるわけです。
CakeやらRailsって何が違うの??
フレームワークのイメージは分かった。じゃそれぞれ何が違うの?
という疑問に対して、整理したのがコチラ。
プログラミング言語毎にそれぞれフレームワークが異なります。
- PHPに関しては代表的なものが 3つ あり
- Rubyに関しては実質Rails 1つ
というような状態です。
(ホントはもっとあるのですが、ぼく自身が知ってるのをピックアップ)
- PHP業界では大手ハウスメーカー3 社がしのぎを削ってるのに対し
- Ruby業界では1 社独占状態といえばイメージしやすいですかね?
フレームワークには流行がある
で、困ったことにフレームワークには流行があるんですよ。
どのフレームワークに精通しているかが重要っぽい。
なんか所属してる肩書を気にするサラリーマンみたいですね。(←かつてのわし)
(出典:エンジニアの入口)
世界的にはPHPに関してはこんな感じ。
最近だとLaravel(ララベル)がものすごい勢いで伸びてますよね。
なのでPHP学習者はどのフレームワークを使うかはよく考えたほうがいいかもしれません。
えっお前は何を学んでるんだって?最近落ち目のCakePHPです・・・(しかも3)
一方Rubyは実質Rails一択なので、迷う要素無しです。この安心感はちょっと羨ましい。
まとめ
以上プログラミング素人が好き勝手にフレームワークについて解説しました。
例えとして適切だったか分かりませんが、お役に立てれば幸いです。
今日の一句
“チャッチャカと つくれるツール フレームワーク”
コメントを残す