
プログラミングの歩み(7) 〜時代の流れ〜
プログラミングも生物(なまもの)なのだなぁというのを最近強く感じます。
というか、開発という文脈が近いかなと。
例えば、昔はフルスタックフレームワークでViewもろとも一つのフレームワーク上でやっちまおうぜっていうのが多かったです。
僕もLaravel使っていたのもあったので、bladeというテンプレートエンジンを使ってViewを作っていました。
それが今や、フロントとバックは分かれてるだー、APIだー、マイクロサービスだーと、徐々に広がっていっていて、それぞれが正義だと思い込んでしまっている状態。
そして、新しいものが出てきたら、過去の栄光や固定観念から批判をすることになってしまっているのだと思います。
新しいものを最初は受け入れることができないのは人間の性なのでしょうか。
というのを、最近のReactのサーバーコンポーネント論争を見ていて思いました。
フロントにSQLが入り込むのはいけないなんていうのを誰が決めたのか。
入り込むことによってこれまでの設計が覆されることを恐れて批判している人もいるのではないか。
これは、まだ開拓されていない設計方法がこれから生み出される一つの転換期だとも思っています。
僕は、この時代の流れというのは、これからのエンジニアリングにも大きく影響を与えると思っていて、「選ばれたそれ」しか使えないというのではなく、こういうこともできるようになるという選択肢が増えるということについては前向きに捉えています。
たしかに、彼らの意見もごもっともで、データベース「サーバー」に対して、サーバーからアクセスするのではなくフロントからアクセスするのには違和感あるのも頷けるし、フロントで完結したSQLの構築に難を示すのも理解はできます。
でも、これまでもFirebaseやSupabaseといった、いろんなサービスがフロントに介入し、Auth0など認証管理や、Stripeといった決算システムまでフロントで完結できる時代になっている中、なぜSQLだけ度外視するのかというのを問いてみたい。
その人なりの持論があって、設計思想のようなものがあるのかもしれない。
でも、それは時代によってこれからも大きく変わっていく。
テイカーの発想では批判になるのかもしれないが、React程のものを提供するようなギバーの立場から見える世界というのは、見えていないのかもしれません。
僕らのようなテイカーの考えでは、ギバーに対する批判は所詮ノイズとしか認識されず、ギバー同士のやりとりこそ、これからの世界に革命を起こすものなんだと思いました。