重要性を増す「プログラミング」。文系サラリーマンが学ぶには何をすればいい?

プログラミング

illustrated by BenjaminNelan(CC0 Public Domain)

 フェイスブックの元役員であるチャマス・パリハピティーヤ氏が「プログラミングを学ぶのなら、生涯仕事に困らないことを私が保証しよう」と言ったり、「日本史よりプログラミングを学べ」と楽天・三木谷浩史氏が発言するなど、今や文系サラリーマンにとっても「学ばなければならない要素」になりつつあるプログラミング。  しかし、デジタルネイティブ世代ならまだしも、30過ぎまで文系一筋だったサラリーマンにとって、何をしていいかわからない人も少なくはない。  果たして、文系サラリーマンが「プログラミングを学ぼう」と思ったら何をすればいいのだろうか? 現場のプログラマーとして活躍し、WindowsアワードMVPを受賞したこともあるA氏に聞いてみた。

まずは目標設定から

――まったくの素人、文系サラリーマンがプログラミングを学びたいと思ったらどの言語がいいでしょう? そもそもこの質問自体が文系っぽいでしょうけど……。  何かを始められる場合、やはり大切なのは「ゴールが明確であること」と「やる気が持続すること」だと思います。ですので、まずその人(自分)がイメージするプログラミング像に近いモノ、もしくはやりたい!と強く思えるものを選べばよいと思います。  私が例として思いつくのは 1.スマホ(iPhone(iOS)、Android)開発  今ほとんどの方は自分でスマホを使っているでしょうし、アプリも当たり前のように使っていると思われるので、「それを自分で作れたら楽しそう!」と思えるならこれがオススメです。  ここ数年大変人気のあるジャンルですので、書籍などの資料も多く、Webにも情報が多いです。  iPhone(iOS)かAndroidか、というのはご自分で使っている機種で選んでしまってよいと思いますが、iOS開発の場合はMac本体と年間1万円ほどの開発者登録が必要になりますので若干敷居が高いと言えます。   2.JQuery(JavaScript)を利用したWeb開発  JQueryというのは、Webブラウザ上で動く言語「JavaScript」を拡張したライブラリ(部品集、みたいなイメージ?)です。  もし「パソコン=Web」というイメージを持っている方なら、JQueryを利用したWebプログラミングがオススメです。  こちらもスマホ開発と同じく、ここ数年人気のあるジャンルですので資料も情報も多いです。  とりあえずパソコンさえあれば、すぐにでも勉強を始められるのもメリットです。 3.Microsoft Office(Word、Excel等)のマクロ開発  こちらは完全にビジネス向けですが、やはりOfficeは定番アプリケーションですので、Excel等のマクロ開発も自分の仕事に直結して役に立つ可能性は高いです。  あまりに定番であるがゆえに「流行っている」という感じではありませんが、当面はニーズもなくならないと言ってよいでしょう。  というか、もっとストレートに言えば、今どきの流行に敏感な若いプログラマーからすれば「ダサい」という事でしょうが、下手な新技術より、これで食べてる人は沢山いる、ということです(笑)。  もちろん、プログラミングにはさらに ・Windowsアプリケーション開発 ・Webサービス(サーバー側アプリケーション)開発 ・データベース開発 ・ゲーム開発 ・その他学術研究等の開発 といったようなジャンルも多数存在しますが、いずれもいきなり始めるのは難しいので除外してあります。 ――上記のゴールが決まったら、具体的にはどの言語を学ぶことになりますか?  まず先の質問で回答した目標1~3の順に回答しましょう。 1:言語としては、Android開発にはJava、iOS開発にはObjective-C、Swiftを学ぶことになります。  Android開発は、他言語での開発もできますが、Googleが正式に認めている開発言語がJavaですし、他言語だと有料の開発ソフトが必要なのでややハードルが高くなります。  iOS開発は従来は「Objective-C」という言語一択でしたが、今後は「Swift」という新しい言語に置き換わっていっていますので、これから勉強をするなら「Swift」で勉強して行けばよいでしょう。ただしObjective-Cで開発された部品や情報も数多いので、そちらの言語の知識が求められる状況もまだ多いと思います。 2:JQuery開発にはJavaScriptです。JQuery自体がJavaScriptを拡張しているので、JQuery自体もほぼ言語に近いのですが、基本ルールはJavaScriptですので、そちらの知識も必須になるからです。JavaやObjective-Cなどに比べて、出来ることが限られている分、知識はつけやすい言語だと思います。 3:Officeのマクロ開発にはVisual Basicです。こちらもほぼ選択の余地なくOfficeのマクロを作ろうと思ったらVisual Basic一択になります。  プログラミング言語というと「C言語」なんかは有名ですが、これはよほど突っ込んだ開発をしようと思わない限りは覚えなくていいです(笑)。 【後編】「学ぶには独学と学校どっちがいい?」に続く⇒http://hbol.jp/31460 <取材・文/HBO取材班>