プログラミング嫌いだった僕がプログラミングを始めた理由

プログラミング嫌いだった僕がプログラミングを始めた理由

みなさん、こんにちは!

大学でC言語を学びプログラミングが大嫌いになったジョルジョです。
専攻は経済だったのですがね。

どのくらい嫌いだったかというと、2回目の授業から行かない、もしくは代理出席を頼む
(これは上手くいきませんでした)ということを2回繰り返し、つまり2度単位を落とし
3回目の履修でようやく単位を取ったというくらい拒否していました。

逆に言えば、意図せず他の学生より長くC言語に触れていたことになり、
今ではちょっとだけ愛着を覚えていたりもして、人間というのは奇妙な生き物ですね。

Pythonを学ぶ

そんな僕ですが、
じつは、昨年からプログラミングを定期的に独学しています。

色々触った結果、

Pythonという言語を中心に決めました。

まず名前が気に入りました。なんせモンティパイソンから来てるんですよ。
そしてPythonを始めてみたとき、C言語に比べて圧倒的に解りやすい!と
感動したからです。

Pythonを知った理由は、
当時付き合いのあったデータアナリストの仕事をしていた知人が
なんとなく使っているっぽかったからです。
(SNSのプロフィールにPythonのマークが使われていたので)

彼に色々聞きたかったのですが、外国人なので日本語がうまくなく、
さらに外国に行ってしまいなかなかLINEも返してくれないので
もう諦めました。

自力でやった方が早いと。
Progateで学び、本を買ったり借りたりしながら、プログラミング周りの知識を
小さな脳にぶち込んで、今では仕組みや基本用語くらいはだいたいわかるようにはなりました。

VBAをやるべきか、Pythonをやるか

ちなみに僕の会社では
VBAがいまだによく使われていて、そういうのやるのが普通みたいな雰囲気があるのですが、
僕はこれまでも一切やっていませんでした。

確かにPythonなどと違い、VBAはExcelなどを開けばそのアプリケーション上で作成できます。
一方で通常のプログラミング言語は自分のPCに環境構築をするところから始めなければならず、
ハードルが高そうに見えます。

VBも、間違いなく同じプログラミングだと思うのですが、特別な環境を用意する必要もなく実行できるのが、簡単そう、と思えるから採用率も高いのかもしれません。

確かに、業務で使えるExcelやAccessが自動化できるのは即効性があって
会社にとっても良いし、周りの役にも立ちます。

ですが、できることに制約があるVBAを極めるよりも、多くの実行可能性を持ったより汎用的な言語
の習得に時間を使う方が効率的に思えるのです。

C言語は高速かつ汎用性高いけど難しい

かつて僕が嫌いだったC言語というのは、非常に汎用性が高い言語です。
コンパイル言語といって、プログラムの実行にはコンパイルという工程が必要になります。
コンパイルとは、人間の理解できる文字で書かれたプログラムテキストを、機械語(バイナリコード)
へ一気に変換する作業のことです。
コンパイルされたバイナリーコードを実行するため、速度が速いです。


一方、Pythonはインタプリタ言語です。インタプリタ言語はプログラムを一行ずつ機械語に翻訳して処理を実行していきます。コンパイル不要ということで、人間にとっては簡単なのですが、その分コンパイルされたバイナリコードを実行するよりも処理速度が遅いというデメリットもあります。

これはC言語はコンパイルという作業が必要で、Pythonは必要ないということを意味しています。

プログラミング言語は人間にとってわかりやすい=コンピューターにとってわかりやすいとはならないので
処理速度が速いのはどちらかというとC言語など、コンピュータよりの言語なのです。

でも習得にはやはり時間がかかります。簡単ではない。
そういう言語的な特徴も理解しながら、学んでいくのは面白いですね。

楽しんでプログラムを作っていきたい

とはいえ、Pythonを使ってじゃあ具体的に何か実装したのか?と言われるとまだ何もありません。
別にプログラマーを目指しているわけではなくて、一つの教養として学んでいるので
ご容赦ください。

ただ、エクセルを操作するプログラムを作ったり、自宅で投資用にプログラムを作ったりしてみたいと考えています。ブロックチェーンも扱えるようなのでやってみたいです。

プログラミングは今後、料理のように日常そのものになる。

結論が遅くなりました。

僕はこの先、プログラミングは料理のような存在になると考え、だから学んでいます。

どういうことかというと、料理は日常になくてはならないものです。
しかし、現代において僕たちは料理ができなくても死にません。生きていけます。
なぜなら、いつも美味しいものが食べたいなら、料理ができる人と一緒に暮らすか、お金を払えば美味しいものはいくらでも食べれるからです。
でも自分で美味しい料理が作れる人は、他の誰かに依存する必要もないし、お金を払う必要もありません。
これは「自分で作る」という選択肢を持っているからに他なりません。美味しい料理が作れるという選択肢がある人は、そうでない人に比べて豊かといえるのではないでしょうか。

もし、今後AIやIoTなどにより自動化が進む世界を前提とするならば、プログラミングもこの先、今想像している以上に日常にあふれることになるはずです。だから日常で「自分で作る」という力を持っている人は、当然ながら強いし、人生を楽しむ力を得ると想像しています。