プログラミングっていったい何が楽しいの?

2024/11/24

プログラミング マインド

t f B! P L
eyecatch ITが苦手という人から、たまに「プログラミングって一体何が楽しいの?」と、喧嘩を売るように言われることがあります。 過去にプログラミングを学習して失敗したのか?単にディベートがしたいのか? どちらでも良いんですが、少なくてもプログラミングを毛嫌いしている人という事は間違いないでしょう。 おそらく事前にこちらからITについてのいろいろな説明をして自分でプログラミングでモノが作れることの優位性をたくさんお話した結果、こんな質問をされてしまうんだと思います。 でも、純粋にプログラミングに興味があるけど、現時点で面白みを見つけられていない人も世の中にはたくさんいるんでしょうね。 また、プログラミング学習をしたけど挫折をしてしまって、プログラミング嫌いになってしまった人というのもたくさんいるでしょう。 独学でプログラミングを習得したユゲタが独自のプログラミングの面白味を解説してみたいと思います。

プログラミングの向き不向き

プログラミングは「理数系が得意じゃないと習得できない」という間違った認識をしている人がいます。 パソコンのキーボードを打ち込むスピードが遅いので、自分はプログラミングをするのは向いていないとか、 考えることが苦手なので、とてもプログラミングなんてできないと思っている人。 英語が本当に苦手なんで、プログラミングは異次元の言葉のようにしか見えないので、できる気がしない。 これらの考え方全てが間違っています。 プログラミングを挫折する人の特徴は、ただひとつで、物事に対して飽きっぽい性格の人で知的好奇心が極めて低い人は、プログラミングに全く向きません。 逆に、継続が得意な人であれば、比較的すぐに習得できてしまいます。 でも、これまで数多くのプログラミングを仕事でやっている人を見てきて、面白いことに、プログラミングができない人は、「自分はプログラミングができない」ってはっきり言うんですけど、 プログラミングをやっている人は、「プログラミングが好きか嫌いかわからないけど、まだ学習途中です」という言い方をします。 プログラミングの向き不向きを自分で考えているようでは、プログラミングって好きになれないでしょうし、習得なんてできないでしょう。

プログラミングの面白み

実際にプログラミングって何が面白いのかと言うと、難しければ難しいほど面白く感じる要素があります。 でも、まるで自分でできない領域を闇雲に学習したり、プログラミングに取り掛かろうとしても、 雲を掴むような感覚でまるで手応えも感じられないし、何をどうすればいいのかすらわからないでしょう。 やっぱり、どうしても事前知識というのは必要で、ホームページを作りたかったら、HTMLとCSSはプログラミングよりも前に学習しなければいけないし、 ゲームを作りたかったら、UNITYを使う前にC#を習得しなければいけないけど、C#の前に簡単なプログラミング知識が必要になります。 でも、ネットでけんさくして コピペするだけでの、スニペットプログラミングという方法で知識がなくても誰でも成功体験を得られる方法もあるので、 検索スキルが上がれば、ある程度のプログラミング習得はできるのかもしれませんね。 プログラミングの面白みは、自分の作ったプログラムを動かして初めて面白いと感じるので、それまでのコーディングでの面白みを感じるのはその後のプログラミング学習が進んでいってからなんですよね。 アルゴリズムを考えるのが面白いとか、 アーキテクチャや設計が面白いとか、 そんな難しい話はどうでもよくて、単に自分の作ったプログラムというテキストが、思ったとおりに動くというのは、子供がおもちゃの車を手で動かして楽しんでいるのと同じような感覚じゃないですかね?

プログラミングは数学・国語・英語が楽しめる

「数学が全くできない人でも、プログラミングってできますか?」 という事を聞かれたことがあります。 答えとしては、ホームページ系のWEBエンジニアであれば、プログラミングで数学知識を使うことはほぼ無いので、できるけど、 AIなどのデータサイエンスや、マーケティング数値集計などをする場合は、数学知識は必須です。 どちらかと言うとプログラミングって国語の方が重要で、英語を並べているだけのように見えるプログラムソースコードは、やっぱり日本語でちゃんと説明できるように並べられている必要があります。 プログラミングを習得している人は、プログラムを読む時に、ちゃんと理解できる言葉として日本語に翻訳することができるので、単に単語を並べているソースコードとはまるで違う感覚でもあります。 また、当たり前ですが、やっぱり英語をもとに作られているプログラミング言語は、英語がわかったほうが良いに決まっているし、 変数・関数名なども適切な英語で書けたほうが良いので、英語は必須と言ってもいいかもしれません。 と言っても、数学や国語や英語って、プログラミングの前に必須の学習というわけではなく、プログラミングをやりながら同時に習得できてしまうモノと考えてもいいですね。

未来はプログラミングで出来上がる

現時点でプログラミングを習得していない人は、少し気後れ感を持っているんじゃないでしょうか? 将来の仕事をテクノロジで自動化されて奪われるというような、危機を煽る見出しのコンテンツを見た人も多いと思いますが、 確実に将来プログラミングが当たり前になる時代が来ます。(ていうかもう来てるのかも) スマホやインターネットを知識を持って自由に使いこなせないと、地図も読めない、買い物もできない、行きたいところにも行けない、そんなデジタル難民と感じている人もいるんじゃないでしょうか? ITリテラシという言い方をしますが、モラルや基本知識のような感覚でITやデジタルが言われているのは、将来的に、ITが苦手では暮らしていくのがしんどくなるのかもしれません。 単にデジタルに支配されるというような脅しの言葉ではなく、ITによって便利な世の中になる為に、ITについて少なからず認識や知識が必要になるという事です。 昭和生の人は特にITに対して 難色を示す人が多い傾向があり、デジタル苦手世代と言ってもいいかもしれません。 公園で携帯ゲーム機で遊ぶ子供を見て、「今時の子供は・・・」と言って「昔は良かった・・・」などと言っている大人は、杓子定規の思考を持った極めてデジタルが苦手な傾向になりがちな大人です。 今どきの大人は、スマホを使ったかくれんぼを子供に推奨することができる大人かもしれませんね。

論理思考のプログラミング

小学校からプログラミング学習が必修化した一つの大きな理由として、「論理思考を養う」という目的があります。 論理思考って何かというと、物事の原理原則から、仮説を立てて、目的達成までを理論立てて自分の思考で考えることができる力の事ですね。 プログラムは、まさに、目的に対して、仮説を立てて、自分で方式を作って言語化して、それを実行して目で見て確認できるという事。 それをパソコンを使って手軽に実行できてしまうという点がプログラミングは学習領域として良いんだと思います。 もちろん、論理思考はいろいろな領域に対しての言葉でもあるので、これが全てではないので、あくまで論理思考の基礎学習がプログラミングが適しているというのは、まちがっていないかもしれません。

ITとプログラミングは別物

実はプログラミングって、パソコンが無くてもできてしまいます。 世の中の作業フローチャートは、プログラミングのフローチャートと全く同じで考えてみるとわかりやすいと思います。 朝起きてから会社に出かけるまでの、毎朝のルーティンは、多くの人が同じ毎日を送っているはずですが、 それを自分で見直して、効率の良いフローに置き換えたり、無駄を無くしたり、もっと良くなるように付け足したり、 こういうフローチャートを作ったりリファクタリングすること自体がプログラミングだと考えてみましょう。 これを実行させるためにパソコンでプログラムを書くか、 朝自分で動いて実行するか、 これだけの差なので、改めてプログラミングって、パソコンだけの世界じゃないという事が理解できると、 自分の生活がより豊かになるためのプログラミング思考というのはなんとなく自分自身の思考と同じという感覚になりませんか?

あとがき

プログラミングって一体何が楽しいのか? この質問に対しての答えは、「自分が向上する手助けになる事が面白い。」です。 でも、あくまで個人的な回答なので、それぞれ自分自身の別の答えはあると思います。 でも、プログラミングだけじゃなく、物事に面白みを感じる人は、前向きに考えている人で、 面白みを感じない人は、その物事に対して無関心か、後ろ向きに考えている人なんだと、このブログを書いてみて思いました。 「プログラミングって面白いの?」と言っている人は、まだまだプログラミングに対して後ろ向きの人なのかもしれませんね。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ