プログラミングに定義をあたえてみよう
自分の仕事は、プログラマだ。
そして、この仕事はどのように定義できるのか、考えてみた。
人生の定義は、幸福の定義は、仕事の定義は・・・
人それぞれで解釈が違う言葉について、自分は個人的に言葉の定義をしている。
ここでの定義は、一般的な言葉で概念を捉えようとしているのではなくて、あくまで個人的な定義だ。定義を与えることによって、安心感を得ることができる。
プログラミングの目的は、自動化による労働からの解放
自分は、プログラミングを自動化と定義する。
そしてプログラミングの目的は、
コンピュータに働かせることで、人間が楽をする
ためだと決める。
『決める』ということが、大事なキーワードだ。正しい定義など、存在しないのだから。
コンピュータは、計算機として生まれたわけだが(スパコンもそうだが)、
それは、人間の計算を自動化することが目的だ。人間がすれば、一生かかっても終わらない計算を、コンピュータを働かせることで、寝ている間に計算させておく。
それが転じて、人間がする作業をあらかじめブログラミングしておき、コンピュータに実行させるようになる。プログラミングとは、人間の作業を機械に実行させるためにある。
プログラマとは、人間を日々の労働から解放するもの、と定義する。
革命は、人間を労働から解放するために起るのだ
産業革命によって機械が発明されて、人間は楽ができるようになった。
洗濯だって、洗濯機のスイッチを押せば勝手にやってくれるし、
料理だって、薪を拾ってきて、火を起こすこともない。
IT革命によってコンピュータが生まれた。インターネットが発達した。
人間は楽ができるようになった。
図書館に行かなくても、パンツ一丁で世界中の情報を収集できる。
お金を持ち歩かなくても、電子決済で買い物ができる。
世の中は、文明は、人間が楽できる方向へ、日々進化している。
はたして、なぜ自分の人生は楽ができないのだろうか
しかし、自分の現状はどうかというと、人間が働き、一向に仕事は楽にならない。
毎日残業は続き、体調を崩している。腰が痛い。平日のリフレッシュは100%諦めている。
これは、今決めた哲学からすると、根本からして目的と矛盾している。
開発手法や開発環境へこだわることは、本当に瑣末なことだと感じる。
効率化やライフハックは、それ自体が目的であってはいけないと思った。
(困ったことに、効率化できると無上の喜びを感じるのだが)
それは、このブログのテーマである、ライフハックを否定することになるけれども。
プログラミングをすることで、労働から開放されなければならない。
そのためには、自分が働くのではなくて、プログラムに働かせなければならない。