コンピューターでのプログラミングは何をするかで難易度が大幅に異なります。
マシン語は難易度が相当高く、Cはかなり高く、Pythonはそれほどでもなく、ノーコードは簡単というようなイメージですが、どのくらい難易度が高いのかはプログラミング未経験者の方には全く理解出来ないと思います。
他の世界の難易度と比較してみます。
プログラミングの分類はイメージで実際とは異なる事があります。
料理の難易度 | 車を作る難易度 | 服を作る難易度 | |
マシン語 | 魚を釣りに行く、動物を育てる、野菜を種から育てるところから始める | 鉄、原油、ゴムなどの車に使う素材を探すところから始める | 綿花、蚕、原油などから素材を作るところから始める |
C言語、C++ | さばいていない魚、ほとんど加工されていない肉の塊、野菜は畑からとってくるなどして、自分で加工して料理をする | 素材業者に車用の素材を発注して車用の素材を作る | 糸を編むなどして布にして、染色などは自分で行う |
Java、C#、Swift | 魚の切り身、加工後の肉、使いやすいようになっている野菜などの半加工品を買ってきて、自分で暖めたり、味付けなどして自分で作る | 棒状や板など、ある程度加工されている素材を、自分好みのサイズなどに切るなど、細かな加工をして車に仕上げていく | 好みの生地を選んで、裁断、縫うなどして服の形にする |
Python、JavaScript | 冷凍、レトルトなどから自分で解凍などして並べる | パーツを組み合わせて乗りたい車を組み立てる | 服を加工してオリジナル感を出したりする |
ノーコード | 並んでる物を選ぶカフェテリア | 好みのエンジン、シート、色などを車屋に伝えて注文する | 店で選んで買う |
使うだけの人 | お母さんが作ったものを食べる | お父さんの車に乗る | お母さんが買ってきた服を着る |
マシン語、機械語
プログラミングでマシン語は、CPU、メモリなどそのコンピュータを全て理解していないと利用出来ませんし、全て1から行わなければならないので、他の難易度で言うと素材集めから始めなければならないような状態です。
このレベルになると、専門業者の中のその中の専門家が行うような事になります。
プログラミングでは、一般のソフトウェア開発者の場合、ソフトウェアエンジニアリング関連の授業でやったことがある方がいるくらいでしょうか。このあたりを理解している人が本物です。
C言語、C++
ある程度素材が集まり、他の分野なら、専門の業者が行うような事を自分でできるくらいになると、かなり尊敬されるレベルなのではないかと思います。
一般的に高速な処理が必要な場合にはこのあたりから行うことが多いです。素材からこだわるプロの料理人、レーシングカーを作るようなレベルになるとこのあたりからでしょうか。
車や料理についてある程度わかっていないと、形にもならないように、プログラミングもコンピュータの事を理解していないと出来ないです。
Java、C#、Swift
このあたりになると難易度が下がってくるため、人口も多くなってきます。
料理の本をみて料理を同じように作るような、プログラミングの学習本を読んでそのまま作るようなことなら誰でも出来るようになります。ある程度出来るようになって、オリジナリティを出そうと違う分量、ちょっと変えた料理法をするとすぐにまずくなるような、ちょっと変えたらエラーで動かなくなるような事がプログラミングではよくあります。
Python、JavaScript
比較的誰でも簡単に入っていけるくらい簡単に利用出来ますが、ある程度わかっていないと形にもなりません。
自分の好きなハンバーガー、刺身、お菓子を並べた栄養バランスを何も考えていない料理も買ってきたら簡単にできるように、料理のバランスなどを考えて料理を組み立てる必要があります。
刺身なら、買ってきて並べるだけですが、暖めたりすると刺身ではなくなるように、簡単でもやり方を間違えると台無しになります。
ノーコード
既に用意された好みの物を選んできて、並べるだけで可能なプログラミングがノーコードです。
お店に並んでいる物から選んで組み合わせるような感じで気軽にできますが、並んでいない物は選べないため、自由度がないです。