Loading

プログラマーは文系の仕事である

まず最初に、マサカリが飛んできそうなので、結論を先に書きます。
プログラミングの得意不得意と、理系や文系といった素養との間には因果関係も相関関係もないと思っています。
そもそも、自分は大学に通ったことがないので、自身が文系理系という枠組みで捉えられたことがありません。
ちなみに、筆者は自分のことを文系の人間だと思って生きています。 だからこのタイトルです。
文系理系という枠組みは多分、日本独自のもので、海外には存在しない概念です。また、その定義もわりとあやふやなような気がします。
しかし、ある職種に関しては「これは理系」というラベリングというか、世間一般的なイメージは出来上がっていると思います。
プログラマーという職種は完全に「理系」の仕事とされています。
こちらの弊社社長のブログを読んでも分かるように、
そもそも文系の人であった場合、技術的なことが苦手だというイメージが勝手についてしまいます。
が、しかしです。
別に自分が文系だからといってプログラマーに向いていないわけではないと思うのです。
その理由をこれから述べていきます。

文系と理系のちがい

文系と理系を分ける要因は大きく二つあると思います。
まずは、大学で所属する学部の違いによる分別です。
文学部や法学部だと文系、工学部や医学部だと理系、といった具合です。
もう一つは、人の性格による分別です。
感情的な人は文系、論理的な人は理系、といった感じです。
…さて、ここで自分の近くにいるプログラマーの人を思い浮かべてください。
論理的というよりかは感情的(モニタを見ながら一喜一憂したり、キーボードの打鍵音を響かせたり)であったり、
科学的な難しい話よりも、特定のエディタや言語・ライブラリーを崇拝する宗教的な言動のほうが多いと思いませんか。さらに、わりと読書家が多い気がします。
そういった特徴は理系と表現するよりも文系と表現したほうが合っている気がします。

プログラマーはプロのグラマー?

プログラマーという言葉そのものをみてみましょう。
英語で書くとprogrammerです。proのgrammerだということです。
grammarとはなんなのかというと、文法のことです。
ということは、我々は文を扱っているのであって(そもそもプログラム言語ですし)数式を解いているわけではないのです。
さて、よく文を読んだ人は気づいたかもしれませんが、grammarとprogrammerはスペルが違います。
grammerという言葉は存在しませんでした。よって今ここで書いたことはただの嘘です。
でも、発音記号を見ると[ɡræmər]と[proʊɡræmər]でグラマーの部分の発声は同じなので
語源は違えど、同じ意味に収束していったと捉えても違和感なく感じます。

理系は文系の一部

そもそも論になってしまいますが、文系と理系は別物であるという認識が間違っている、と私は考えます。
「初めに言葉ありき」と古より伝えられている通り、まず言葉があり、そこから文章ができ、
文章を扱うことでこの世の現象をある程度表現することができるようになりました。
さらに表現されたものの再現可能性を証明するために言葉を記号に置き換えて、定数を据えて公式を作り出しました。
ものすごく大ざっぱにいえば、この公式を考えたり、応用したりして物事を考えることが理系の学問です。
なので数式も文章から継承を重ねていったなれの姿なだけであって、もともとはただの文なのです。
X+Y=Zは「XとYを足すとZとなる」ですし、
if(A>B)は「もしAがBより大きいなら」と言葉で表現していたものをロジカルに考えやすいように記号にしただけで、もともとは文章なのです。
「文」から「理」が派生しただけで起源は同じです。
言葉によって森羅万象をいかに表現できるかを追求するのが文系。
言葉を物事の証明や、何かを創作するために取り扱うのが理系、といったように分けて考えることもできます。
具体的な例を挙げると、
文系は、「僕の心は晴れわたった青い大空のように澄んで清らかだ」といった感じで、メタファーとして表現できる可能性を追求し、
理系は、「(a+b)(a-b)=a2-b2」「E=mc^2」など普遍的な法則を取り扱います。
ただ、言葉の取り扱い方が違うだけで、使う道具(言葉)は同じですから、
文系だからといって理系のことは分からない、と諦める必要はありません。
むしろ、言葉を扱うという基礎が出来上がっているので、
理系よりもフレキシブルに対応できる可能性を秘めている、と考えることもできます。

結局は書くか書かないか

昔に比べると、PCは値段も安く身近なものになり、仮想化技術の発達によって開発環境も簡単に構築できるようになりました。
PCさえ持っていれば、実際にプログラムをいつでも書き始めることが可能ですし、主要な開発言語は一通り扱うことができます。
文系であろうが理系であろうが、子供だろうが大人だろうが老人だろうが、
Hello worldを実装したその時から、それはもうプログラマーとしての一歩を踏み出せているのです。

著者アイコン

著者きたむら

プログラマー的なサムシングにして歩くホワイト企業

関連記事