文系にプログラミングが必要な理由とは?
  • facebookページ
  • twitterページ
  • 2017.07.07

    文系にプログラミングが必要な理由とは?

    文系にプログラミングが必要な理由

    コンピュータは独りでに動いてくれるものではありません。人間からの指示が必要なのです。プログラミング言語は人間が考えていること、コンピュータにやって欲しいことを人間の代わりにコンピュータに伝えてくれるものです。

    そのためにはコンピュータにどういう処理をして欲しいかを的確に日本語で表現できていないと、プログラマーがプログラム化しようとした時に正しいソースコードを書けないという事態になります。

    コンピュータはプログラムの通りに動くものであり、人間の考えている通りに動くことはありません。まして、コンピュータがここはこうした方がいいと勝手に意図しない動作をすることもありません。そのため実際の工程では設計段階でいかにお客様が考えている通りの設計が書けるかというところが重要になってきます。

    小学生のころからプログラミングをやっているような方もいます。そういう方はコードを書く時、いちいち資料にどういう処理をするコードを書くかをメモしたりしなくても頭の中でイメージしながらコード化することができてしまいます。頭の中でコード化する能力は理系の方は非常に秀でています。ただ理系の方にも弱点はあります。プログラムにしたい処理を的確に1つずつ日本語で表現するということです。

    プログラミングをするにはフローチャートを考えて、順序よく処理させないといけません。例えば、こういうケースでAの場合はこの処理、Bの場合は別の処理、というように条件分岐をして複数の処理パターンを想定しなければなりません。

    考えられるケースを全てイメージする必要があります。そのイメージひとつひとつを理系の方が日本語で正確に書けるか?といったら書けない方の方が多いです。誤解を生みやすい表現、1つの文の中に動詞を2つ以上含めてしまっているために処理の前後関係が矛盾してくるというようなことが考えられます。

    一方、文系の方はイメージや物事を日本語で丁寧かつ、表現することが上手な方が多くいます。そういう文系の方がプログラムの動作を正確に日本語で書けるため、お客様が想像している完成形つまり仕様を正確に理解できるということです。

    プログラミングをする際に思い込みによるバグを抑えることができます(必ずしもバグが少ない方が高品質だということではありません)。また分岐条件の抜け道がある等の仕様の詰めの甘さに気づいたら、プロジェクトマネージャに仕様を固めるよう進言するようすることもできます。

    それに加え、文系出身の方がプログラミングができるとなれば、仕様書も設計書も書け、プログラミングもできるという強力な戦力になることができます。要件定義工程からテスト工程、ゆくゆくは運用支援や保守でも活躍が見込めるため、非常に伸びしろのある人材となることでしょう。そのため一人でも多くの文系出身の方には未経験でも恐れずにIT業界に飛び込んできて欲しいと思う次第です。

    文系でもプログラミングができる理由

    結論から述べると、文系でもしっかり下積み、学習をすればプログラミングはできます。ソースコードを初めて見ると暗号のように見えなくはないと思います。でもそれは初めのうちだけです。プログラミングは理系向きだと思われがちですが、プログラミングに数学、物理的な要素は少なく、むしろ英語の要素が多いです。プログラミングはアメリカが発祥ですので、英語に慣れればそれだけでコードの解釈ができるようになります。

    【関連記事】
    文系からでもプログラマーになれる!その理由とは?

    文系がプログラミングの勉強でつまずきやすいポイントと対策

    何かを勉強しようと思った時、まずどんな行動を起こすかといったら本屋に行く方が圧倒的に多いのではないかと思います。それはあながち間違いではありません。でもプログラミングの教本ですと、どの本もまず「Hello World!!」を出力させるところから始まると思います。そこから教本通りに順に進めていくとだんだんわからなくなりませんか?

    確かにプログラミングをする上で最低限必要な知識、土台となるものをしっかり学習したい気持ちはわかります。例えば、型、変数、関数、引数等です。これはプログラミングの一部にすぎませんが、プログラミングする上で欠かせないものであり、ルールでもあります。教本ではそれらを順序よく整理して説明しているのですが、文章だらけでだんだんわからなくなると思います。

    プログラミングを知らない文系の方に大事にして欲しいと思うのは学習の入り口です。「さぁ学ぼう!」と意気込んで勉強を始めたのに挫折してしまったらモチベーションも下がってしまいます。ここではプログラミングのイメージも掴めていない文系の方にこういう学習方法もありますよ、と知っていただければと思い紹介します。

    皆さんにまず取り組んで欲しいと思うのは誰かが作ったプログラムをとにかく読むということです。今はインターネットが普及していますから、プログラミングができる友人が周りにいなくてもインターネットからソースコードを探し出すことはできます。そのソースコードをひたすら読んで欲しいと思います。最初からいきなりクラスがいくつもあり、多くの関数を使っているものを読もうと思っても読めません。日本語しかわからない日本人がいきなりロシア語やイタリア語の本を読もうと思っても読めないのと同じです。

    最初は1つのクラスだけのプログラムから読んでみるといいと思います。先ほど述べたようにコードはほとんど英語です。それさえわかれば手がかりになるものはきっと多いはずです。

    まずは大まかにプログラムの全体像を掴んでみましょう。それができたら次はそのソースの1行1行のコードの処理を解釈してみるというようにやると良いです。この行ではなぜこういうコードがあるのかというのを考えながら読むといいです。もし行の解釈でつまずいたら教本で調べて体系的に学習するなり、インターネットで検索して必要な情報だけ集めて自身で整理するなりするといいです。そうすると教本を始めから勉強しなくても徐々に理解は上がっていきます。

    教本を否定するわけではありませんが、私は取り組もうとした段階で挫折しないためにこういう方法で取り組みましたということを紹介しました。教本から取り組んでいる方で挫折しそうになっているようならやり方を変えて、コードを読むということから始めてみませんか?

    【関連記事】
    文系からでもエンジニアに挑戦しよう!

    文理なんて関係ない!

    このことからプログラミングのできない文系だからと言って就活の際にIT業界を敬遠する必要はありません。IT業界にいる先輩方々は未経験でも基本から教えることに時間と手間を惜しみません。

    また、文系出身の方が日本語がしっかりしていることが多いと述べました。そして先輩ががいなくても文理関係なく抜群なコンビネーションでIT業界を引っ張っていけるような人材になってください。