■2022年04月25日(月)
Imagine, there's no code
|
作業時間はたったの2時間強!彼氏と自分専用のSNSをノーコードのBubbleで作ってみた まあ、これはこれで使い方ではあると思います。ソフトウェアの配布とかサービスとかも、コンピューターをノーコードで使うためのものでしかないんですし。2時間かけて環境設定する根気があるかどうかというのは問題ですし、その前に何をしなければならないのかというところで挫折する人も多いわけですが、ちゃんと目的を達成できたのなら道具や使い手としては上出来の部類ではあるでしょう。 しかし、あえて言います。コードを書けない者にコンピューターを使う資格はないと。ノーコード開発というのは要はビルディングブロック工法です。用意されたブロックをつなぎ合わせていく、その繋ぎ方や、隣のブロックで何かあった場合の処理の部分もコードを無くしましたよということです。そのビルディングブロックや結合処理の部分は、内部的にはコードが実体です。その機能はまだしも動作を理解するには(ドキュメントに書かれていることから想定したのとは違う動作をした場合も含めて)コードが組まれている論理を理解することが不可欠です。今時のノーコード開発環境には期待と違う動作をするような理不尽なブロックはそうそうないはずですが、それでも万が一期待と違う動作をしたときに、どうしてそんな動作をするのかを、そのシステムの記述されている言語、開発環境、はてはその下部構造まで見通して想像するための基礎が、コードを書く能力です。そうimagineです。天国などないと想像しようと言われても、そもそも天国が何だか知らなければ想像どころか現実じゃんとしか言えません。人々を想像してみようと言われても、身の回りの人々しか知らなければ自分も含めた身の回りの人々以外の敵が人であると想像することすらできません。国々がない状況を想像しようと言われても、今自分のいる国以外の勢力が自分と同じような人々から成る対等の国々ではなく理由もなく襲ってくるエイリアンだと信じていたら、その国々が無くなった状態はまだしも自分の国すらなくなった状態は想像できません。もちろん、国などというものを意識したこともない人であれば、Country, what?となります。同じように、コードの意識、コードへの理解無くしてはノーコード開発すら本質的にままならないのです。 まあ、今時のコードでの開発だって内実はライブラリを使ったビルディングブロック工法であり、あるブロックが起こした反応についての判定やデータの受け渡しの部分がコードで書かれているにすぎません。ライブラリがおかしな挙動をして困ってしまうことなどいくらでもありますし、コンパイラの吐いた実行ファイルが想定外の動作をしてソースコードからはどう見てもそんな挙動をするはずがないのになどと思うこともあります。そこを、何が起きているのかを想像しながら回避策を立案実施していくのがデバッグという作業です。逆に言えば、ライブラリやコンパイラのバグも含めて自分の責任なのがプログラマです。メーカーに電話をかけてこれこれこういう不具合があるんだけどと言っても、じゃあ不具合が出るデータを送ってください、半年くらいあれば対応できると思いますのでって、プロジェクトの納期は来月だよということなどいくらでもあるのです。そこでメーカーの営業や技術営業を怒鳴りつけたところで対応は早まりません。自分で何とかするしかないのです。上っ面の機能を取りまとめるだけならエスイーにもできるし、コードを書くだけならコーダーで十分です。想定外の事態にも対応してエスイーの降ろしてきた仕様を実現する、させて見せる、する能力があるというのが、職業プログラマの誇りです。まあ、降りてきた仕様自体が内部で矛盾していてエスイーと喧嘩になることもあるのですが。クライアントが譲れないレベルの仕様でその手の矛盾が出るのはせいぜい性能面なので、だいたいエスイーを屈服させて仕様変更かハードウェアを増強しての赤字受注で済みます。それを実現するのが、コードを書く能力なのです。 ですから、繰り返しますが、コードを書けない者にコンピューターを使う資格はありません。書けない人は、コンピューターをコードを書ける人に使わせていただいているに過ぎないのです。ノーコード開発とか言い張る人は、そこを弁えていただきたいものです。 | | |