プログラミングはなぜ楽しいのか
筆者は8年ほどWEBに関わるプログラム、インフラ(Linux)を仕事としており、軸はプログラマです。どんな仕事にでも嫌なこと、好きなことはあるでしょう。契約上の理由で30時間通してプログラムを書いたこともありますし、「流石にもう働きたくない」とかなったりするわけです。そんな事があってもプログラム以外の仕事をしたいと思うことはありません。そこでふと思い立って、なぜプログラミングは楽しいかについて考えてみました。
プログラミングが楽しいのは
第一にプログラミングには作る喜びがあります。
習いたての頃はプログラムを書く事に集中することでしょう。しかし、プログラムのデザインパターンや実装のゴールデンパターンを身に着けていくうちに、プログラムを書くことから考えることへシフトしていきます。
「できるだけコードを書かずに必要最低限を作成して、良い部品を借りてきて、組み合わせて扱えるように」
このように考えるようになってくると、書く作業から開放されて、頭の中の考え(設計)を創造(実装)することができるようになってきた時期なので、プログラミングが楽しいと言えるでしょう。
次にプログラミングは有益であることです。
プログラムは人間を単純な作業から開放してくれて時間を与えてくれます。私は人間にとって時間は生命と考えています。例えば、プログラムを50時間で完成させて毎日の反復作業を1時間減らすことができるのであれば、その浮いたこれからの毎日の1時間を人間にこそ必要な事、つまり家族との時間、あなたの創造性を豊かにする空想、なにかに充ててほしいのです。
これから覚えたい人向けにおすすめな言語
もしあなたがプログラマになりたいのであれば、数学、理科、英語、国語があなたの将来のプログラマとしての土台となるでしょう。
国語: 文章構成力が身についている人はコードがエレガントですし、よく読書をする人はコードの理解が速い
数学: アルゴリズム作成や、計算量の少ない処理を作るために数式の造詣が必要
英語: 技術系はほぼ英語のドキュメントです、読み書きを身に着けておくことがとても重要
理科: ゲーム系だとゲームの内容によっては物理、力学の知識が必要
最初に覚える言語はPythonをおすすめします。2系と3系があるので、これから覚えるには3系のPython3を覚えると良いでしょう。
- ルールが厳格に決っているので、お手本のような書き方が身につく
- 自分で書くよりもよいコードを借りてくる習性が身につきやすい(ライブラリが豊富で、管理も行き届いている)
日本語のドキュメントが少ないので苦労するかもしれませんが、あなたにとってプログラマに必要な習慣を身につけることができるので、是非試してください。最後にPythonが身についたら下記にもチャレンジしてみてください。
Python2系,3系 > Shell > Linux (Ubuntu, Debian ) > C > ここから先は好み
スマホアプリ系 > Swift > Java > GO > Scala
WEB系 > JavaScript > TypeScript or CoffeScript > GO
研究 > C++ > R (実行速度気にしなければPythonで完結します)
(※)筆者はJavaが嫌いなので参考までに