【プログラミング】プログラミング不要の未来の到来-「ノーコード」とは? ②

先ほど、「ノーコード」を理解し活用したくて以下のtweetをしました!

昨日から「ノーコード」について、プログラミング初学者のコージーニ先生が学習した内容を理解しやすいように解説しました。
数か月前から「ノーコード」の学習をスタートしていた僕が、ようやく出会ったNo.1解説がmanablogのマナブさんが「ノーコード」について解説しているYouTubeなんです。この動画を早速「デジタル教科書」にして学び直しました。
その内容を僕なりに掘り下げながら、初学者の方でも理解しやすいようにアレンジしてお伝えしています。

目次
1)はじめに
2)ノーコードとは?
3)ノーコードの定番ツール5選
4)ノーコードとローコードの違い

昨日は、1)及び2)についてマナブさんの内容を主に解説しました。
今日は2)の部分で、マナブさん以外の記事から学んだ内容を解説します

以下、今日はこのような内容となります。
2)-1. プログラミング≠ コードを書くこと
-2. ノーコードはあたらしいプログラミング
-3. プログラミングの歴史 = 抽象化の歴史

常々、何か新しいことを学ぶには、その歴史を知らなければいけない!という理念を掲げているコージーニ先生としては、今日の内容はとても重要になります。
是非、読んでいただけると有り難いです。お時間があれば「ノーコードとは?①」も合わせて読んでいただけるととても嬉しいです。

今後のKojini’s Cafeを読んでもらえると、以下のことが理解できるようになります。

✅ノーコードの基礎がわかる
✅プログラミングの未来がわかる
✅ノーコードでの稼ぎ方がわかる

それでは、スタートしていきましょう!

◇ 
せっかくなので、他のプログラマーの人たちは、ノーコードについてどのように考えているのかをリサーチしてみようと考えました。実に、多くの示唆に富む記事がありましたので、僕の理解の届く範囲で、以下にそれらの内容を示してみたいと思います。

◇ 
noteに興味深いフレーズを見つけ、早速読んでみました。

2030年、エンジニアです。コードは書けません。(_shinji_)」

これって、これからの「ノーコード」時代を言い当てていますよね!
これから10年後、マナブさんは「誰にもわからない」とおっしゃっていましたが、自由な発想で思考してみると、このような意見が出てきてもおかしくはないはずです。

例えば、僕の知識の中にある「未来を見据えた」興味深い記事を以下に示します。

1800年代のニューヨーク市では、20万頭の馬が飼われていました。イメージが湧きませんが、現在の自動車の役割を馬が担っていました。当時のニューヨーク市の公衆衛生の最大の課題は馬糞の処理でした。馬一頭あたり、毎日10キロも排便します。馬の数が20万頭なので、1日で200万キロ、つまり2,000トンのもの馬糞が、ニューヨークの路上に撒き散らされていたわけです。これは、ある意味、厩舎、牛舎や豚舎の状態をイメージすればいいですが、嫌な「臭い」のイメージしかできませんね。
馬糞には大量のハエが群がります。さまざまな病気の感染ルートとなり、毎年2万人に及ぶニューヨーカーたちが伝染病が原因で命を落としていたようです。

この時代に生きていた人たちに、数十年後のニューヨークを想像してもらいました。
「馬の数がますます増え、道路は馬糞の山となるのではないか?」
「馬糞の臭いでここに住む人はいなくなるのではないか?」
「疫病がまん延し人口減少の憂き目にあうのではないか?」
これらの回答はまんざらハズレるというものではありませんよね…しかし、実際には。

もしも1900年代初頭とニューヨーカーに「十年以内に乗用車が普及し、ニューヨークから馬がいなくなり、馬糞の問題はなくなる。ハエからの伝染病もなくなる。その代わり、今度は人々が車に撥ねられて命を落とすようになる」と言ったとしても、誰一人として信じなかったでしょう。しかし、1908年にフォードがモデルTの発売が始まると、馬たちは瞬く間に移動や運送の主役の座から引きずり降ろされてしまったのです。そして伝染病は姿を消し、代わりに交通事故が新たな社会問題となりました。

話しが脱線しましたが(笑)、それくらい「未来予想」は難しいということです。
話しを「ノーコード」に戻します。

2)-1. プログラミング≠ コードを書くこと

_shinji_さんによると、「プログラミング≠ コードを書くこと」だそうです。これはプログラミングの歴史を紐解くと理解しやすいです。
初期のプログラミングは、パンチカードと呼ばれるカードに穴をあけ、コンピューターに読み込ませて処理を実行していました。
また、wikipediaによると「プログラミングとは、ある特定のコンピューティングの結果を得ることを目的として、実行可能なコンピュータープログラムを設計・構築するプロセスのことである。」となっており、時代とともにそのやり方は変化してきていると言えます。

この定義のように捉えると、今日話題にしている「ノーコード」は、この定義内に入りますね。時代とともに変化するわけですから、もちろん「ノーコード」が最終章ということにもならないと言えます。

何事も理解を深めるためには「歴史」だと常々考えている僕としては腑に落ちる、納得の定義ということになりました。

2)-2. ノーコードはあたらしいプログラミング

また、Jeremy Ho氏は以下のような記事を書いています。

ノーコードはあたらしいプログラミング(Jeremy Ho;Uberプロダクトマネージャー)」

今日のすべてのソフトウェアは、開発者がより効率的に作業ができるように、抽象化された層の重なりの上に構築されており、それぞれの層が複雑さをうまく隠しています。ソフトウェアライブラリは一般的なロジックを抽象化し、フレームワークは一般的なパターンを抽象化し、APIはビジネスドメイン全体を抽象化しています。すべてのプログラマはすでに巨人の肩の上に立っているわけです。
ノーコードも何ら変わりありません。ソフトウェアにおいて、コードを抽象化してくれるのです。

ここで言う「抽象化」とは、複雑なものをかんたんに扱えるようにすることです。

先の、_shinji_さんによると、「一般的に多くのプログラマは、いくつか独自のコードは書きながらも、オープンソースなどで先人が築いてきたコードの資産によって抽象化された処理をつなぎあわせてwebサービスなどを構築しています。すべての処理を自分でコードを書いて実装しているわけではありません。」と言うことです。これももちろん納得ですね。

僕らの今は多くの先人たちの知恵を拝借しながら、生活しているということです。プログラミングも類に漏れずということですね。

このように、現在のソフトウェア開発でも、ある意味で部分的にノーコードで実装しており、巨人の肩の上に立っていると表現されています。ノーコードはコードをすべて抽象化してくれるというだけで、本質的にはプログラミングになります。

最後に、先ほど「歴史」が大事という話をしたので、プログラミングの歴史を紐解いてみます。

2)-3. プログラミングの歴史 = 抽象化の歴史

最も原始的なプログラミング言語のことを機械語(マシン語)と呼び、下図のように1と0の組み合わせで書かれたコードのことを言います。

<説明>機械語はCPUの全ての機能を直接操作可能で、CPUのパフォーマンスという点では最も効率よくプログラムを記述できる可能性があります。
<デメリット>0と1の組み合わせなので、見にくくて、目がチラチラしませんか。このように機械語は私たちにとって読みにくく、書くのが大変です。
<改善>これらのデメリットを解決するために、英単語や記号を機械語の処理に1対1で対応させたアセンブリ言語が生まれた。下図の左側がアセンブリ言語です。

<説明>アセンブリ言語は、アセンブラという変換器を通して機械語に変換されてCPUにわたされます。こういった機械語やアセンブリ言語のことを総称して低級言語と呼びます。
<改善>これをさらに人間が読み書きしやすい形式にしたのが、我々がよく知っているC programming language、PHP、Ruby、Javaといった高級言語です。

この観点で考えれば、高級言語をさらに抽象化し、ノーコードへとつながるのは自然な進歩といえるのではないでしょうか。

プログラミング言語の抽象化の歴史と、入力方法の変化について述べてきました。
抽象化の未来にノーコードがあると考えると下記のようなイメージになります。

◇ 
ここまで「ノーコード」と「プログラミング」について解説してきました。
最後まで読んでいただき、どうも有り難うございました。

マナブさん、_shinji_さんらの情報+独自に調べた情報をmixtureしてお伝えしました
内容的には、僕が大事だと理解したものを取り上げたつもりです。
あなたにとって有益な情報となっていれば、ますます嬉しいです。
今週は、この「ノーコード」からの「プログラミング」についても書いていきたいと思います。よろしくお願いします。
それでは、また!Ciao☆彡

◇ 
追記:最終的には「ノーコード」で何か作成するところまでたどり着ければと考えています。頑張ってトライアルするので、あなたの応援をよろしくお願いします。




投稿者: コージーニ先生

リハビリテーションセラピストです。現在までに約15万人の患者、その家族及び学生と保護者とかかわりを持ってきました。その経験から患者とその家族&子どもたちと学生たちとの人生に寄り添って感じたこと、学んだことの中から「過去の僕」に知っておいてほしいコト&「未来のみんな」に伝えたいことを呟きます。 著作や詳しい活動履歴はこちら→ https://kojini'sblog.com/about

コメントを残す

%d人のブロガーが「いいね」をつけました。