プログラミングに定義をあたえてみよう

自分の仕事は、プログラマだ。

そして、この仕事はどのように定義できるのか、考えてみた。

人生の定義は、幸福の定義は、仕事の定義は・・・
人それぞれで解釈が違う言葉について、自分は個人的に言葉の定義をしている。

ここでの定義は、一般的な言葉で概念を捉えようとしているのではなくて、あくまで個人的な定義だ。定義を与えることによって、安心感を得ることができる。

プログラミングの目的は、自動化による労働からの解放

自分は、プログラミングを自動化と定義する。

そしてプログラミングの目的は、

コンピュータに働かせることで、人間が楽をする

ためだと決める。

『決める』ということが、大事なキーワードだ。正しい定義など、存在しないのだから。

コンピュータは、計算機として生まれたわけだが(スパコンもそうだが)、
それは、人間の計算を自動化することが目的だ。人間がすれば、一生かかっても終わらない計算を、コンピュータを働かせることで、寝ている間に計算させておく。

それが転じて、人間がする作業をあらかじめブログラミングしておき、コンピュータに実行させるようになる。プログラミングとは、人間の作業を機械に実行させるためにある。

プログラマとは、人間を日々の労働から解放するもの、と定義する。

革命は、人間を労働から解放するために起るのだ

産業革命によって機械が発明されて、人間は楽ができるようになった。

洗濯だって、洗濯機のスイッチを押せば勝手にやってくれるし、
料理だって、薪を拾ってきて、火を起こすこともない。

IT革命によってコンピュータが生まれた。インターネットが発達した。
人間は楽ができるようになった。

図書館に行かなくても、パンツ一丁で世界中の情報を収集できる。
お金を持ち歩かなくても、電子決済で買い物ができる。

世の中は、文明は、人間が楽できる方向へ、日々進化している。

はたして、なぜ自分の人生は楽ができないのだろうか

しかし、自分の現状はどうかというと、人間が働き、一向に仕事は楽にならない。
毎日残業は続き、体調を崩している。腰が痛い。平日のリフレッシュは100%諦めている。
これは、今決めた哲学からすると、根本からして目的と矛盾している。

開発手法や開発環境へこだわることは、本当に瑣末なことだと感じる。
効率化やライフハックは、それ自体が目的であってはいけないと思った。
(困ったことに、効率化できると無上の喜びを感じるのだが)

それは、このブログのテーマである、ライフハックを否定することになるけれども。

プログラミングをすることで、労働から開放されなければならない。
そのためには、自分が働くのではなくて、プログラムに働かせなければならない。