2019.6.8

プログラミング以外で役立つプログラミング思考

山田大貴

大阪音楽大学 インターン

山田大貴


こんにちは、未来電子インターンでプログラミングチームに所属しています、4回生の山田です。

大学では音楽や芸術を学んでおり、テクノロジーとは結構遠い分野で生活しています。

プログラミングをここ2カ月ほど学んだ結果、考え方の部分で大きく変化が起きたと感じています。

もちろん、プログラミングのスキルが上がったことは事実ですが、今回はあえて実際コーディングするプログラミング以外の部分でプログラミングが影響したことを考えてみたいと思います。

 

プログラミングが思考に影響した点は3つあります。

1つは「物事をより構造的に考えたくなる」こと、2つ目に「効率化できないか考える」こと、3つ目に「テクノロジーが怖くなくなる」ことです。

 

まず、「物事をより構造的に考えたくなる」ということについて解説します。

そもそも、プログラミングのコードというのはかなり構造的です。

プログラミング言語と言いますが、一つの物事をくどくどと説明できる我々の言語とは違い、より論理的で整然とした構造を指向する特性があるのではないでしょうか。

ある物事について言葉を尽くして語れるのは我々の言語の美徳ですが、プログラミング言語の簡潔さは非常に有用です。

例えばメモ書きに、

 

〇〇サークルの今月の課題:~~

〇〇サークルの今月の目標:~~

〇〇サークルの今月のやるべきこと:~~

とあれば、「〇〇サークルの今月の」までは変数に代入した方がよいでしょう。

メモ書きに変数の機能はないので、「〇〇サークル X月」という大枠を作れば解決します。

 

この程度だと別段プログラミングを勉強しなくても自然にできる話ですが、プログラミングを学ぶ過程で徹底されていくと思いました。

 

つぎに、「効率化できないか考える」ということです。

これは2つの意味があって、まずは単純にプログラムによって効率化できないかを考えるということです。

特にGASはどんな組織でも使いやすいものだと思います。

もっとも、学んで2カ月の私だと大したものは作れませんが、自分で作らなくても作れる人に提言できるかもしれません。

課題発見に対する解像度が上がるというメリットがあります。

もう一つは、プログラミングにおけるライブラリ、フレームワークの考え方が様々に応用できるということです。

汎用性の高いものをまとめてパッケージにしておくということは、プログラミングに限らず有効です。

例えば、音楽の構造を考えたときにコード進行というのはある種のライブラリであるわけです。一方、ソナタであるとかAメロBメロサビというあの形式というのは一種のフレームワークにあたるのではないでしょうか。

 

最後に、テクノロジーが怖くなくなるということについてです。

現代は「よく分からないけど動いている」ものが多すぎます。

なぜスマートフォンに喋りかけたら近くのコンビニの場所を教えてくれるのか、ロジックを1から説明できる人はほんのわずかですし、説明する必要もなく生活できます。

テクノロジーを学ばないと、自分はテクノロジーと関係ないところで生きているという疎外感があると思います。

本当はテクノロジーを使わないと生きていけない、無視できないはずなのに、学んでないから直視できないという状況は現代の生き方として不自然です。

少しでも学べば、自分の知識の延長線上にあるのだという、テクノロジーと自分との繋がりが持てるのではないでしょうか。

 

このように、プログラムを学ぶことで色々なことが見えてくるようになります。

プログラムは一朝一夕では身につかないと言われます。

確かに、スキルとして使えるようになるには時間がかかると身をもって実感しています。

しかし、学ぶこと自体が教養として意味を持ち始めている現代においては、やはりプログラミング学習は非常におすすめできます。

 


この記事を書いた人

山田大貴

大阪音楽大学インターン

山田大貴