gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

フレームワークって「マシントレーニング」な側面があるよね

いやまぁ言いたいことはタイトルそのまんま、なのですが。
お題は「フレームワーク」。
見方を変えると「ライブラリとフレームワークの違い」の一端、かもしれない。

元ネタ
http://concierge.diet/column/leader/kawabe20151230

これが自重での筋トレですと、やるごとに負荷がかかる場所がズレたり、疲れてきて余計な動きが出てしまったりと安定しません。
-中略-
あとは安全性が高いのもマシーンのメリットですね。固定されているものなので、変な方向に動くことはないので。

元ネタの記事の趣旨からは結構おおきく大暴投している気がいたしまするが(笑
自重トレーニング、あるいはフリーウェイトと比較しての「マシントレーニング」が、フレームワークなんじゃないかなぁ、と思うのですね。

もうちょいとばかり技術的な側面からの発言だと、この辺が非常に得心のいくところですかね。
http://qiita.com/Jxck_/items/ec8e928f69d099b25764

Rails は、フレームワーク自体が単に機能を提供するだけでなく、Web アプリを開発する上での指針を示している。これは レール と呼ばれ、 Rails が敷いているレールにきちんと沿った開発をすることは、 Rails を使いこなす上では非常に重要になる。

Railsに限らず、基本的に「ほとんどのフレームワークが」このあたりの特徴を持っていると思うのです。
つまり「そのフレームワークが敷いたレールにきちんと沿うことが前提」。

http://concierge.diet/column/leader/kawabe20151230

このマシーンの正しい使い方も、トレーナーに指導してもらうべきですね。

にもある通り、「マシン(フレームワーク)を使ってれば無問題」では絶対になくて、そのマシン(フレームワーク)の「正しい*1使い方」を知り、或いは把握し、チームで共有する必要があるんですね。
後まぁ、そもそもとして「そのマシン(フレームワーク)は何を目指して作られているか、を知る事、とか(足を鍛えるためのマシンで胸筋鍛えても、色々と面倒なだけで効率が悪いものでございます)。

まぁ、フレームワークは「ある程度の、レールから外れた処理への許容度」というのがあるのですが、あんまり自由度が高すぎると「それはマシンいわんで、フリーウェイト言うんちゃうか?」という突っ込みが入ってくるので。
「レールへの強制度が高い」ほど、案件を選びますが、全体の粒度は割合とそろいやすい傾向にあると思います……あくまでも「傾向」程度、ですが。
んで、逆もしかり。「自由度が高い」フレームワークは、フリーウェイトっぽい作りになってたりしますが、その分「ある程度の自力が必要」なので、使う人を選ぶっちゃぁ選ぶ感じでしょうかねぇ*2

まぁ、その辺は以前にも「■[親方]フレームワークの選定の仕方( https://gallu.hatenadiary.jp/entry/20120907/p1 )」で書いているのですが。

後、これ以外にも
http://concierge.diet/column/leader/kawabe20151230

トレーナーをつけることのメリットとして他にも、自分自身のカラダの特徴を客観的に知ることができるという点があります。

なんてお話があって、これなんかは、ソースコードレビューを彷彿とさせるものがあるように思うのは気のせいでしょうか?

「全く違う業界」のお話って、割とどこかで「通じるもの」があって面白いですよねぇ。
……………っつか、いい加減トレーニングしなきゃなぁ、とか思うのですが(……どっちかってぇと、リハビリな気もするが)。

*1:或いは、より好ましい言い方をするのであれば「適切な」

*2:MagicWeaponはもろにその系。Slimも割とそんな系統ですねぇ