Programming

プログラミングに理系が有利とか文系がダメとか関係あるの?

投稿日:

どこから湧いてきたか、「プログラミングには理系が向いている、文系は向いていない」という都市伝説並みの論調があります。そもそもプログラミングに得意とする学問の差が出るのかどうか、そして文理うんぬんいわるようになった根拠はなんなのか、気になりますよね。

とくに文理を気にするのは、文系の方だそうです。本当に文系人間はプログラミングが不得意なのか、私自身(文系)を例にとって考えてみました。

プログラミングに理系・文系関係あるの?

そもそも理系・文系っていったい何のことでしょう?なんとなく感覚で数学が得意だったり、文学が好きであったりで区別していますが、その認識で合っているのでしょうか?

理系・文系とは

理系・文系をウィキペディアで調べてみると、

伝統的に、文系とは主に人間の活動を研究の対象とする学問(主に人文科学と社会科学に分類される)の系統とされ、理系とは主に自然界を研究の対象とする学問(およそ自然科学に分類される)の系統とされてきた。しかし現在では、研究対象よりもむしろ課題解決のために用いる手法で分類されることが多い。たとえば金融工学や社会工学は、研究対象こそ「人間の活動」であるが、研究対象をほとんど同じくする経済学や社会学とは異なり一般には理系とみなされる。

引用:wikipedia

なるほど!わからん。

一般的には、理系か、それ以外かでとらえられることが多いようです。理系=すなわち化学や数字に強い人。文系、それ以外といった区分けですね。概ねこの理解で、プログラミングに理系と文系どっちが向いているかの論調が生まれているんですね。

プログラミングに理系・文系の結論

プログラミングも、使われる分野によっては理系の方が有利な場面はあります。それは今流行りのデータサイエンス(統計解析)の分野です。データサイエンスの分野では、難しいアルゴリズムを考え、プログラムに落とし込んでいく能力が必須です。数学的な能力が高いほど、その能力を活かせる専門分野と言ってよいでしょう。

それ以外で理系・文系が弊害になるようなケースは思いつきません。実際に文系プログラマーの方は多いようですし、しっかり活躍されてますしね。逆に「プログラミングに有利」とされている理系出身者でもプログラミングは苦手という方もいます。そもそもプログラミングを語るうえで、理系文系の違いを持ち込むことに無理があったんですね。

私自身も、計算や分析大の苦手のガチ文系人間です。そんな私でも、Pythonで楽しくプログラミングしています。Pythonは初心者にもとっつきやすい言語で、他の言語より挫折しにくいんでしょうか。なんとか独学+動画等のオンラインレッスンで、職場で使う業務アプリなどを作れるようになりました。文系うんぬんを気にする方が損ですね。

理系・文系より大切な事

プログラミングを習得する上で大事なことは、向き不向きでしょう。要するに性格です。数字に強くてロジカルな思考ができても、面倒くさがり屋ならデバッグをおろそかにします。そんな人が作ったプログラムを使う現場は悲惨です。プログラム改修依頼の応酬になるでしょう。

わからない事をうやむやにせず、使いやすく読みやすいプログラムを目指せる人こそプログラマーに向いています。プログラミングには論理的思考が大切だと言われ、小学校でもこの論理的思考ができるようプログラミング授業がはじまります。これは訓練で身に付く技能です。理系なら論理的思考がすぐできる、というものではありません。

選考学科や得意分野より、性格的にプログラミングに向いているかを気にした方がよっぽど生産的ですね。

おすすめ
【向いてる】30歳超えてプログラミングに挑戦する人の適性【向いてない】

私は35歳から仕事の関係でPythonプログラミングを始めました。製造業という職種柄、IoT化、AI化、ロボット化といったワードが飛び交う中でのかなり遅いスタートです。 35歳にしてPythonがスラ ...

続きを見る

どうやってプログラム脳(論理的思考)を育てるか

プログラミングに必要なのは、理系・文系といった得意分野ではなく、論理的思考や性格が必要であることがわかりました。性格に関しては生まれ持ったものや育ちが影響しますので、ここでは論理的思考について考えてみましょう。

ロジカルシンキグ ”ともいわれる論理的思考ですが、どうやってそういった脳を育てるのでしょうか。

論理的に物事を考えるとは、ものごとを道筋立ててわかりやすくすることです。この考え方ができないと、プログラミングする上で、非常にムラ・ムダの多いコードを書くことになり、生産性・メンテナンス性が落ちます。わかりやすく話せる人は論理的思考ができているということになりますね。「簡単な言葉を選んで、相手に結論を端的に伝える」。プログラミングにおいても、必要とされる考え方です。

論理的思考は訓練で身に付くと話しました。論理的思考を身に付けるには「話す」のが一番です。話を短く、相手に伝えるには、頭の中で上手に順序立ててまとめる必要があります。このまとめ作業こそ論理的思考なのです。訓練方法(話のまとめ方)はすでに確立されています。やはり本からちゃんと学ぶべきでしょう。

1分で話すことがプログラミングに関係あるの??と思われたあなたは、まだ論理的思考に慣れていませんね。短くまとめること・順序立ててわかりやすくする習慣がつくことは、すなわちプログラミングに生きてくると思いませんか?

自分自身の習慣により、プログラムが書けるようになれば、こんなに強いことはありません。自分の習慣=つまり癖で書いたプログラムが、人に伝わりやすく、且つ端的に書けるのですから。

私自身も書籍やYoutube動画等で勉強中です。当BLOGでも、できるだけ端的に、わかりやすい文章をこころがけています。まだまだ冗長な物言いが多いかと思いますが、わかりにくい箇所があれば、ぜひ指摘ください。読んでいただいた方からのフィードバックが一番スキルアップにつながります。

さいごに

理系・文系で争ってる間に、早くプログラミング始めろってことですね。向き不向きはやってみないとわからない部分ですし、論理的思考だってすでにできている可能性があります。生活の中で、感覚的に話をまとめている人っていますからね。

私も、得意では無いと逃げていたプログラミングですが、いざ取り組んでみると楽しい!と感じています。自分で書いたプログラムはバグも多いし、動かないこともしばしば。そのデバッグも含めてプログラミングですし、デバッグ能力も培うことができますからね。

「習うより慣れろ」

プログラミングは、そんな言葉が一番似合う現代の必須スキルと言えるでしょう。

タグ

カテゴリー

  • この記事を書いた人
アバター

from-age35

中小企業エンジニアです。35歳で急遽プログラミングを覚えることになり、PythonやJavaScriptなどをゆっくりマイペースに覚えています。先端スキルには疎いですが、楽しくコーディングしてます♪最近の興味は【WEB開発】です

-Programming
-,

Copyright© 35からのプログラミング , 2019 All Rights Reserved Powered by AFFINGER5.