🤖

「Re: Rails を主戦場としている自分が今後学ぶべき技術について」私自身の感想

2020/12/19に公開

https://blog.unasuke.com/2020/i-have-to-learn-those-things-in-the-future/

https://zenn.dev/mizchi/articles/d33a4174cca886

の上記の2つの記事を読んで思うこと。特に思いついたことを書きなぐっただけなので、考えが荒いところがあるとは思う。

最近、私が書くこと、こういう応答記事が多いなそう言えば。

私自身について

私は割とフラットというかどの技術に関しても思い入れみたいなものがないので、Railsが死のうが、JSが死のうがどうでもよかった。でも、なぜ私がそう思うのか、お二方との違いとか書けたらいいなーと思ってこの記事を書いている。

ぼんやりと私は読んでて、思うことは私はどの技術にも「愛着」だとかそういう感情が無かった。というのももともと私のスタンスとしてやはりLispが一番好きで、Lispを日常的に書いたりするがゆえに、RubyやらTypescriptやらGoやらScalaやらRustやらにその他の言語やフレームワークやツールに対して、「技術が死ぬ」とか「時代遅れの技術」だとかそういう悪い言葉を受けても何も感じないし、「モダンな技術」だとか「革新的な技術」だとかそういう言葉に対してもワクワクするだとかそういうものを対して感じることが無かったのである。

だって考えてみてほしい。私がLispがをやり始めたころから「Lisp」だってそもそも「死んだ」とか「生きている」とかそういうのとか無関係のところを走っているというか、そもそも生きても死んでもないみたいなところの立場でそもそもずっと過去の言語であると思われているところであって、でも、その言語には技術的な価値を感じて、私はその言語を有用だと思っているわけである。だからその言語の生き死にだとか新しいとか古いというのと、その技術の価値はそもそも関係ないと思っているのである。

むしろ、そういう新しいとか死ぬ技術だとか言葉を使う人たちに対して引くというか、少し距離を置いて眺めているというか。そういうのだから、私は逆にそのような技術の第一人者とかにもなれないだろうなとか考えている。そもそも言語やフレームワークが成功だったり失敗だったりって、その技術的価値のみではなくその技術マーケティングだったり、コミュニティだったりするわけで、はっきり言って、そんなくだらないことをばかり気にしてるのはどうなんだ?という気分である。

RubyがダメなのかRailsがダメなのか

それでいて、ふと見てて思うのが、私はRailsがダメダメなのであって、Rubyがダメとは全く思わないのである。私はそもそもRailsが筋悪だと思っていて、Rubyはセンスがいい言語だし良いデザインだなとずっと思っている。

その辺しっかり区別してほしいというか。というかこれは大雑把すぎる考えだと思うがRailsがJSに対するjQueryのようなもので、Reactみたいな別のパラダイムのフレームワークが出てくる可能性だってあるわけだし。

ちなみに、Rubyが良い言語って言うのは、私自身Rubyを書いていると何かしらの心地よさを感じるからである。なぜそれが心地よさを感じるのかというのはいろいろ個人的な意見はあるのだと思うのだが、こういうまず「心地よさ」という指標は高い言語であると思うし、それは価値であると思うのだ。

もちろん、型がないとかいろんな評価があると思うのだが、それは次に話そう

型があるないはどうでもいい

ぶっちゃけ個人的な意見であるが、静的な型付け言語であるかどうかなんてぶっちゃけどうでもいいのだ。もちろん、あった方の利点は分かる。けれども、たとえば、動的な言語であったとしても言語的に静的型付けがなかろうと、静的解析で代用できる場合もあるし、また、静的に解決できることが好ましいのは時と場合とか環境とかIDEによるだろう。

たとえばコードベースが大きくて、コンパイル時間が長くて、実行時間がかかり、そのプログラムが実行時にエラーが起こっても検証が容易ではない場合、静的型の言語だったりするのは好ましいだろうし、一方で、そもそも実行しながらというか、実行時にプログラムを追加していく環境であれば、静的型なんぞあまり役にたたないことが多かったり。

好きなものを学べばよいよ

正直な話、好きなものを学べばいいんじゃねぇかと私は思っている。何を学んでもいいし、学ぶべきものなんてどうでもいい。まぁ、仕事で必要になるものは学ぶべきだと思うけどね、でも、本当に必要かどうかわからないのに、学ぶべきというのはちょっとよく分からない。好きにやればいいんじゃないかなぁとか思っている。

フロントエンドとReactとRails

私はずっと、なんだかんだGUIやらフロントエンドをやっていた人間で、そしてRailsが嫌いな人間だったので、正直Railsはクソ以外で「死ね」だの「殺す」だの感情は起こっていなかった。そもそもRailsの現場をずっと避けてたしね。それで年収が落ちたとしても。

そもそも私がRailsが嫌いな点としては、自由に書ける感じがしなくて、Rubyの良さみたいなのが無くなった感じがしたからだ。Railsがやりすぎで、もっと私にコードを書かせろみたいな気分になるし、あまり選択をさせなかった。ずっと前からRailsはレールの上を従うのは楽なのだが、レールをはみ出ると辛いよというのは言っていて、なかなかその辛みを分かってもらえなかったなと。

で、昨今のRailsのそのやりすぎた、巨大すぎたフレームワークのおかげで、フロントエンドの自由さまで奪っていたおかげで、フロントエンドの人間が反乱を起こしているという感じ。個人的には見ていてとても面白いので、どんどんやってほしい。

一方で、Rails側もフォローしておくと、そのやりすぎた点で、素早くWebアプリを作れたのだとも思うし、それはそれで一時期間違えではなった。ただ私は嫌いだったのだが。

フロントエンドの方を見ておくと、そういえば私がよく勘違いされがちなのが私自身はReactが嫌いだと思われている節があるのだが、そうではない。むしろReactは好意的にも思える面も多数ある。でも、Reactが使われすぎて、あまりReactが有効ではないんでは?と思うところもReactが支配しているからその状態が気に食わない。ReactはjQueryを殺しすぎているのだ。

また、そして思うのが、昨今のフロントエンドを見てみると、フロントエンドのフレームワークが巨大になりかけていて、なんだかRails化している気がするのだ。もちろんそこまで必要なのはわかるのではあるが、どこかで、「フロントエンド」という領域の線引きを引いて、「フロントエンド」「バックエンド」が疎結合になってくれたらもっといろいろ発展するような気がする。

Discussion