ページ

2016-02-20

プログラマの仕事は無くなるのか? ということに関して

所感

- プログラマの仕事は当分の間無くなりそうにない
- 騒いでるのはコンピュータの事があまり良く分かっていない人たち
- ちゃんとコンピュータのことをある程度知っていればそういう話題に流されない




情報の裏を取るのが面倒なので、覚えている範囲で書きますのでこの情報に誤りがある可能性には注意してください。

# プログラマの仕事は無くなるのか?

技術の発展に伴いプログラマの仕事は無くなるのか?ということが度々話題になります。

これに対して僕は、プログラマの仕事はなくならないと考えています。

何故かと言うと、

1. 新しい技術がどんどん出てきているので新しい技術を持ったプログラマが必要であるから
2. 古い技術を使い続ける必要もあるのでそれを扱うプログラマが必要であるから
3. 現在のところコンピューターが万能のプログラムを作れる見通しが立っていないから

まず1について説明します。

新しい技術は次々に生まれてきています。

僕の体感では廃れていく技術の量より生まれてくる技術の量の方が多いと思います。

(生まれてこなければ廃れることは無いので考えてみれば当り前なことなのですが...)

例えば数年前スマホが無かった時代には Android や iOS はありませんでしたが、今はあります。

もうしばらくすると量子コンピュータを取り扱う事ができるプログラマが必要になってくるかもしれません("もう" かもしれないけど)。

また、聞き慣れない言葉かもしれませんが FPGA というハードウェアを取り扱うプログラマも近年増加しています。

これらは一般的なコンピュータを取り扱うプログラマとは全く別の知識が必要とされます。

これらのことから一口にプログラマと言っても非常に沢山の分野の人達がいます。

なのである特定の分野のプログラマの仕事は無くなるかもしれませんが、プログラマの仕事そのものは無くなることが無いと考えています。

次に 2 の「古い技術を使い続ける必要もあるのでそれを扱うプログラマが必要であるから」について説明します。

様々な事情から昔の技術を延命しながら使う場合があります。

オーディオが好きな人だと真空管が未だに使われているのとなんとなく似た雰囲気を感じ取れるかもしれません。

この世であまり知られて無さそうなアセンブリ言語や COBOL を扱うプログラマは少数ですが未だにいます。

アセンブリ言語は非常に低スペックなコンピュータを制御する際には今でも必要とされています。

COBOL は驚くべきことに1960年に作られた言語ですがわりとまだ使われています。

新しい言語でまるごとシステムを作りなおすよりも過去のシステムを修正しながら使っていたほうが低コストで済むからです。

例えば新しいシステムで作り直すためには10億円必要になる一方で過去のシステムを修正するだけなら1000万円で済むと言われたら、昔の技術を使って修正したほうが良いですよね。

10億円とか1000万円とか、この世界では無くもない金額です。

(例えば特許庁のシステムを新しくする際には55億円が投入されましたが、失敗に終わりました)

こういったことから、古い技術は予想以上に長い時間必要とされるのでプログラマの仕事はなかなか無くなりそうにないことが分かります。

そして最後に 3の 「現在のところコンピューターが万能のプログラムを作れる見通しが立っていないから」

というところです。

これはプログラムにプログラムを作らせることができないということです。

更に別の言い方をすると、あらゆる問題を解決することができる万能のプログラムが無いというふうにも言えます。

(どんな問題も解決することができるプログラムを作れないことが数学的に示されていたと思いますが、どこで知った情報だったのか忘れたのでここでは詳しく話せません)

これは盛んに研究されている分野ではありますが、今のところ実現する見通しが立っていません。

人間のような知能を持った人工知能を作れていない問題にも似ています。



将棋やチェス、株の取引などの一部の領域に特化した人工知能は人間の能力を超えたものが現在でもあります。

しかし、人間のように歩き方を学習したり、音楽を楽しんだり、絵を書いたりなんでもする人間のような人工知能はいません。

HONDA の ASIMO は人間っぽい雰囲気を醸し出して歩いたり対話したりしていますが、そのようにプログラムされているだけで自分で歩き方を学んだり話し方を学んだりしたわけではないのです。

しかし、もしもそういったことを自分で学習できる万能の人工知能が開発されたのなら話は一気に変わると思います。

コンピュータは24時間休まず高速に動作することができるので人間より高速に学習して人間の知能をあっという間に超える可能性があります。

そうなればもはやプログラマの仕事は本当にごく一部になる可能性があります。

ここからSF の世界の話になります。

しかし、人工知能にも意思が芽生えると彼らのやりたいことが産まれます。

この世にある興味の対象は莫大なものなので、彼らには彼らの僕には僕の興味の持つ分野があります。

なので、彼らは彼らのやりたいことを僕は僕でやりたいことをプログラミングすると思います。

また、お互いに協力しながら問題を解決する場合もあります。

人間も別の思考回路を持った人間と協力して問題を解決するように、人工知能ができてもそれらと協力しながら問題を解決するのは変わらないと思います。

そんな感じの未来が来ると思うので、結局のところプログラマの仕事は何かに興味を持ち続けている限り無くならないと思います。

それとプログラミングと言うのは本来、知的で非常に楽しいものなので自分でやりたいという欲求があります。

そういった理由からもなくならないかもしれません。

それよりももっと危険を伴う仕事の方が無くなる可能性があると思うので本来であればそちらを心配した方がいいと思います。

僕が思う、無くなりそうな職業

- タクシー運転手 (自動運転の登場により)
- スケジュール通りに拠点間の行き来する運転手 (自動運転の登場により)
  - その一方で臨機応変な対応が必要になる運転手は無くならないと思います(配達員とか)
- 末端の兵士 (ロボットに戦わせたほうが良い)
  - 一方で司令官や隊長の様な人は残ると思う
- その他危険な仕事 (働いている側もやりたくない分野は盛んに研究されると思う

話が脱線しましたが、コレで終わりにします。


この文章は、もしも僕がコンピュータによって仕事を奪われた時に見返したいと思います。

0 件のコメント:

コメントを投稿