DIVE INTO CODE

2019年05月19日

Ruby on Railsで開発する欠点をあえてあげてみた

Aws4 request&x amz signedheaders=host&x amz signature=4f7de92c805f6cb04afe14089dd65595b13250e44352d304e5c118959c865dd3

今回は、少し危険なテーマが題材に!?
長くRuby on Railsを採用しているプログラミングスクール講師が、これまでに教えてきた中で感じたRuby on Railsでプログラミングを学ぶことの欠点をお伝えします。

【こんな方におすすめ】
・Ruby on Railsを学んで、次のステップを見つけたい方
・Ruby on Railsについて、もっと深く知りたい方
・自分自身の課題と向き合いたい方

【目次】
1. スクール講師が考える「Ruby on Rails」の欠点は?
 ・「学んだつもり」になって満足してしまう
 ・フレームワークに頼りすぎて「思考停止」してしまう
 ・「当たり前基準」が高くなり応用が効かないことも
2. 欠点を克服するために大切なこと
3. まとめ

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

スクール講師が考える「Ruby on Rails」の欠点

前回の「プログラミング初心者が知っておきたいRuby on Railsの3つの魅力」では、Ruby on Railsの良い点を取り上げましたが、今回はちょっと切り込んで欠点をお話します!

おお、切り込みましたね。

あえてあげるとしたら、欠点は3つです。
1つ目は 「学んだ気になってしまう」
2つ目は 「思考停止する」
3つ目は 「当たり前基準が高くなる」

え〜そんなことがあるんですね。どういうことか気になります。

長所は見方によっては短所にもなり得る、という意味でもあるのですが、Ruby on Railsの良い面が一方でプログラミングを本当に理解する上での欠点になることがあるんです。 良いところも悪いところも、両方の視点を知った上で学ぶことが大切です。

なるほど、そういうことですね。ぜひ知りたいです。

「学んだつもり」になって満足してしまう

前回の魅力の回でも話しましたが、Ruby on Railsを使うと「パッと簡単に作れてしまう」ので、「自分はすぐにシステムを作れたからエンジニアになれそうだ!」とそこで満足してしまう人がいます。 実際には自分でプログラムを考えたわけではなくコピペだけで動いてるわけですが、「これでいいんだ」と思ってしまう。 本来の業務ではそんなに簡単にはいかないので、ここで学ぶことをやめてしまうと、業務には応用できず、つまずいてしまうんです。

確かに、良くも悪くも簡単に入り口に立ててしまうことが、学ぶ人の姿勢によっては危ないですね。

そうなんです。
色々な文献が揃っていて、すぐにコピーできてしまうのは、その時は安心はするけど本質的に理解できているわけではないんです。 それは認識しておかなくてはいけません。

フレームワークに頼りすぎて「思考停止」してしまう

次に、思考停止してしまうこと。 これは「学んだ気になる」と似ているのですが、フレームワーク独特の欠点かもしれません。

どういうことですか?

Ruby on Railsを使っていると、最初からある程度の仕組みがあるおかげで、残りの部分を穴埋めすればプログラムが動いてしまいます。これだと、本来フレームワークが用意してくれている部分がどうして動いているのかわかっていません。

そうですね。テストの穴埋め問題みたいな。

はい。穴を埋めて動かすことだけに集中してしまうので、思考が止まってしまいます。何も考えていないので、実際にどうやって動いているのかを説明できません。そんなときは一度基礎にかえって学習することを勧めたいです。

そうか、フレームワークとして準備されてしまっているRuby on Railsならではの欠点ですね。

「当たり前基準」が高くなり応用が効かないことも

最後は「当たり前基準が高くなる」ことについです。
Ruby on Railsでは、Webシステムでよく使うものがはじめからほとんど揃っています。メールを送信する機能、ファイルを編集する機能などが最初から用意されているんです。

そうなんですか。それは良いですね。

はい。だからこそですが、それが当たり前になってしまう危険性があります。なので、初めて学ぶフレームワークがRuby on Railsだと、他の言語やフレームワークを使おうとした時にできないことが多くてギャップに衝撃を受けることがあります。
そうなると、企業の独自フレームワークやフレームワークのない開発現場で「え、あの機能はないの?」という場面に出くわしてしまうんです。

へ〜すごい。豪華な機能に慣れてしまったことによる弊害ですね。

そうなんです。そこでモチベーションが下がってしまうこともありますし、余計なハードルをあげてしまいますよね。

欠点を克服するために大切なこと

前回良いこと尽くしだと思ったRuby on Railsでしたが、いろんな見方があることがわかりました。確かにこの3つは、使う方本人の姿勢によっては欠点になり得ますね。

はい。もちろん、Rubyでしっかりプログラミングの基礎を勉強していれば、こうはなりません。
基礎がわかっていれば1つ1つの仕組みも理解できるようになるので、学んだ気になることや思考停止することはありませんし、フレームワークを利用するときにも用意されたライブラリに感謝することができます。

そうですよね。

だからこそ、スクールでもいきなりRuby on Railsから入るのではなく、まずはしっかり基礎固めをすることを大切にしたいですね。

まとめ

・Ruby on Railsで開発するのは、良い面ばかりではない
・学んだ気になって深い理解ができないことがある
・仕組みに頼って思考が停止してしまう
・当たり前に用意されたものが多く、他への応用がしづらくなる
・まずは基礎を固めてからフレームワークを理解しよう。

Ruby on Railsには良いところがたくさんありますが、一方でそれだけを学習していると気がつかないうちに欠点にハマってしまいそうですね。

基礎を終えてフレームワークの学習を始めるときには、これらの欠点を克服することを意識して、仕組みの理解に努めるようにしましょう。

プログラミング初学者を対象としたDIVE INTO CODEの無料教材「PREコース」こちら

DIVE INTO CODEのことをもっと知ってみませんか?