プログラミングで思うところ

おはようございます。今日は大学で現在プログラミングの授業を取っているのですが、その中で個人的に思うところがあったので、ライティングの練習がてらメモしてみようと思います。まずその思ったことが何かということなのですが、プログラミングを見る目が文系脳と理系脳の人で結構違うんじゃないかなーということです。

よくプログラミングを学習する上で、「言語みたい」という人や「数学みたい」という人を頻繁に見かけるのですが、もしかしたらこれは文系脳か理系脳であるかどうかが関係しているのではないかなと思いました。自分も初心者なりにプログラミングを学んでみて、両方とも言っていることは分かるなと感じます。ただ、自分はどちらかというと理系脳タイプであると思うので、論理的に考えるの楽しいなという数学的視点でプログラミングに接している印象があります。一応ここで念のため定義させて頂くと、文系脳よりの人→言語的視点、理系脳よりの人→数学的視点という前提でお話させていただきたいと思います。

まず言語的視点についてなのですが、プログラミングも言語と同様に文法のような一定の型があって、まずはそのルールに沿って書いていく。そしてアウトプットを繰り返して、このような指示をパソコンにしたいならこのコードと無意識に手が動くようにまで繰り返す。まさに言語学習と似ていて、ルール→アウトプット→習得というパターンですね。要するに、パソコンに出したい指示と自分のコード表現が一対一の関係で瞬時に結ばれる思考回路になるまで努力をするということですね。言語で言うと、最初は文法に当てはめて、I(S) + am(V) + hungry(C)としていたのを、アウトプットを繰り返すことによって「お腹すいた」→「I am hungry」と瞬時に思考が直結する状態にもっていくと言うことですね。

次に数学的視点なのですが、この視点でプログラミングに接する人たちはコーディングをもう少し「構造」でみているのではないかと思います。もしかしたら言い方としては言語的視点に「構造思考」加わると言う言い方をしたほうが正しいのかもしれません。数学と似ていてコードを考えるときに、まず自分は最終的にどのような指示をパソコンに出したいのかを考える。その指示に向かって正しいテクニックを段階的に積み重ねて一歩ずつ攻略していくというイメージです。

恐らくコーディングを学び稼いでらっしゃる方は、言語よりの視点、または数学よりの視点で学んで来ようが、膨大なインプットを繰り返すうちに、最終的には一対一の関係の思考回路に到着していると思うんですね。ただ、サービスを開発する(またはもっと上のレベル)となってくると恐らく話は別で、コードをより構造的に見ていく力みたいなものが必要とされるのではないかと思います。ただこれはあくまでプログラミング初心者の僕の個人的な感想なのでよくわからないというのが正直なところです。笑 ただ、僕としては高校数学を大学に入った後も論理的思考力を鍛えるために解きたい。けど時間がない!やろうと思ってもサボっちゃう!とか思っていたので、授業を通じでこのように論理的思考力を鍛えられるのはありがたいです。なので、引き続き楽しんでいこうと思います。

この記事が気に入ったらサポートをしてみませんか?