:TechAcademyマガジン今後欠かせないスキルになる!5分で分かるプログラミングとは2017年7月4日(火)TechAcademyTweetいまやプログラミングは、技術者でなくても「聞いたことがある」という人が多いのではないでしょうか。それもそのはず、企業のトップや政治家までもが、「プログラミングができる人材」を次世代に求める発言をしています。その影響か、まだ受験勉強さえしたことのない小学生が、習い事としてプログラミングを習うのようになりました。近い将来、学校の正規の授業で「プログラミング」が導入されます。本格的に学びだせば大人ですら理解が難しいのがプログラミング。ここではそんなプログラミングについて、全体像をつかんでおきましょう。本記事は、TechAcademyのはじめてのプログラミングコースのカリキュラムを元に執筆しています。目次プログラミングとはプログラミングができると何が良いのかプログラミング言語の歴史よく使われるプログラミング言語の種類プログラミングの学習方法3選プログラミングとはプログラミングとは、端的に言えば「コンピューターにどんな処理をさせるか、人間が命令すること」です。対人のように口頭で指示はできませんから、「プログラミング言語」という特殊な構文を使います。プログラミングを習得する場合、この「プログラミング言語」を学ぶことになります。現代でプログラミングはとても重視されていますがそれはITの発展に伴い、Webサービスを作る需要が増大しているからです。そのサービスを作るのがプログラミング言語の役割です。いえ、マイナーなものを含めると優に100~200種類はあるので、到底すべてを学ぶのは不可能と言っても過言ではありません。プログラミングができると何が良いのかプログラミング言語を学び、習得することにはどんなメリットがあるのでしょうか。3つのメリットをまとめてみました。高収入を狙うことができる学生なら今すぐ。サラリーマンであれば、休みの日や隙間時間を使ってプログラミングの学習をすることおすすめします。見出しにもある通り、プログラマーは高収入を狙うことができるからです。して高収入を狙うことができるのか。それは現在のプログラマー市場が需要過多の傾向にあるからです。どのプログラミング言語の需要があるのかについては次章で述べますが、今日本では、プログラマーの数が足りていないのです。自分のビジネスプランを具現化できる「こんなサービス・アプリがあればいいのになぁ」と日常生活で思うことを自分の手で作り上げることができます。あなたが不満や不便と思っているものをあなたが作ったアプリやWebサービスによって解決できるのであれば、それはとてつもないビジネスチャンスとなるのです。食いっぱぐれない例えば、自分が勤めている会社が倒産して明日から職がないという状態に陥ったとしても、プログラミングスキルがあれば常に需要のある市場で再就職、もしくはフリーランスとして働くことができます。手に職をつけるという意味ならプログラミングほど食いっぱぐれないスキルもなかなかありません。意外と知らないプログラミング言語の歴史ではなぜプログラミング言語は100種類以上もあるのか。それは、プログラミングで解決するべき課題があまりにも多種多様すぎて、ひとつの統一言語では対処できないからなのです。それぞれの問題にもっとも適した言語を作っていたら、いつの間にか膨大な数になりました。これらのプログラミング言語の発達は、アメリカのIT企業と切っても切れない関係にあります。今でも使われているプログラミング言語は、ほぼすべてアメリカの企業が発祥と言ってもよいくらいです。最初のプログラミング言語はFortran(フォートラン)と言って、IBMの技術者が開発しました。プログラミングに欠かせないCとC++は世界的な電話会社、ベルシステム社の研究所で開発されました。Javaはサン・マイクロシステムズ社、JavaScriptはネットスケープコミュニケーション社。コンピューターの発達がアメリカで盛んだったことも大きいのでしょう。マイクロソフトのC#や、GoogleのPython、アップルコンピューターのSwiftなど、有名どころはすべてアメリカ発です。近年でもFacebookがHackという言語を2014年にリリースしています。これからもアメリカがコンピューター産業の中心地であるかぎり、アメリカ企業によるプログラミング言語開発が続くはずです。日本人が開発したRubyなどの例もありますが。本場アメリカで今後も発展するものと思われます。使われるプログラミング言語の種類プログラミング言語が使われるためには、満たさないといけない条件がいくつかあります。使われる言語は、それらの条件をひとつかふたつ以上満たしています。C++,C#,Java,JavaScript,PHP,Ruby,Pythonあたりでしょうか。条件とは、「メモリを食わない」「正しく動作する」「エラーを修正できる」「読み取りやすい」などですが、知らない人にとっては、なんのことだかさっぱり分からないかと思います。プログラマーの中でもすべての言語に精通している人はなかなかいませんので、完全な説明はできませんが、その時々の時流や、会社によって必要な言語も違っていたりするので、将来どんな言語を勉強するか決めないといけません。以下に代表的なプログラミング言語を紹介してゆきます。C++読み方は「シープラスプラス」あるいは「シープラプラ」と呼ばれます。商用プログラミング言語のなかで、一番メジャーな言語です。どんなものに使われているかと言うと、例えばWindowsのOSですね。OSはC/C++で記述されます。家電の制御や、自動運転のプログラミングにまで使われるというので、本当に万能な言語です。CというのはC言語のことでC++のもとになった言語です。C言語は、他のプログラミング言語の元にもなっているので、C/C++/C#のようなC言語をマスターすれば、およそコンピューター上で動くものはなんでも作れるといっても過言ではありません。マスターする難易度もかなり高いですね。Java読み方は「ジャバ」です。似たような名前の言語にJavaScriptがありますが、それとは全く別の言語。これも需要の高い言語です。身近なところだとTwitterや、大ヒットゲーム「マインクラフト」はJavaを使って作られていますね。特徴としては、動作が高速であることと、動作環境を選ばない便利さがあります。ユーザーとしても、画面が固まったり、環境が変わると動かなくなる・・・なんてことが無いのはありがたいですよね。サービスを利用するお客さんをイライラさせない高速性能が求められるサービスではよく使われます。AndroidのスマホアプリにもJavaを使って作られていることがほとんどです。Webサービスと、Androidアプリの開発に向いてる言語といえるでしょう。Ruby読み方は「ルビー」です。Rubyは1993年、日本で生み出されました。日本産のプログラミング言語としては、初めて国際規格になった、珍しい言語です。最大の特徴は、開発スピードが速いこと。日本人が開発したこともあってとても読みやすく、少ない工数で仕上げることができるのが魅力。WebサイトやWebアプリ開発で使われます。有名なWebサービスだと、クックパッドや食べログ、楽天市場などがあります。Railsというフレームワークで使われることが多いです。学習する内容も他の言語と比較するとハードルが低く、初心者でも身につけやすいでしょう。PHPホームページ構築において、動的なページを作るときによく使われます。「動的なページ」とは、例えばコメント欄があったり、ログインフォームがあったり、検索機能が使えたりするページのことです。ユーザーが何らかの行動を起こす余地のあるページですね。WikipediaやWordPressはPHPで作られています。これらはユーザーが記事を編集したり、検索したり、そういうアクションをすることが多いサービスです。同じホームページを作る言語としてHTMLがありますが、これは静的なページを作るのに使います。PHPはHTMLと併用できるので、ほかの言語と一緒に使われることがとても多いです。習得する難易度も低めなので、これからプログラミングを始めようと思っている方はPHPから勉強してみると良いかもしれません。Python読み方は「パイソン」です。Pythonはオランダ人が開発した言語ですが、とにかく読みやすさを重視した設計になっていて、大変取っつきやすい。標準ライブラリが多いことも特徴です。標準ライブラリとは、最初からその言語に組み込まれているプログラミングのデーターのことですが、これがあると、全てをゼロから打たなくてすむので、作業の効率化になるんです。プログラマーの労力に配慮した言語と言えるでしょう。有名なサービスを挙げると、DropboxやYouTubeがあります。少ない人数で迅速にサービスを構築できるので、新興ベンチャーのサービスに多いですね。今Pythonは機械学習の面で注目を浴びています。機械学習とは、つまり人口知能やロボットの開発の分野です。ビッグデータなど統計を行う際にも使い勝手の良い言語なので、そういうサービスを開発したい方は、身につけておきたいプログラミング言語でしょう。Webの世界というのは移り変わりが激しいので、今後使われなくなる言語や、ここにない新しい言語が誕生する可能性は十分にあると言えます。プログラマーやIT業界の就職・転職を目指すなら、そういった情報には敏感でいたいものですね。プログラミングの知識を持っていればプログラマーとのコミュニケーションもしやすいですし、普段触っているWebサービスの裏側が理解できるはずです。新しい技術が生まれていく中でどんな言語で作られているのか、どんな技術が使われているのか理解することはIT業界にいる上ではとても重要でしょう。プログラミングの学習方法3選これからプログラミングを勉強してみようかな、と思っているあなたに向けてプログラミングの学習法をご紹介します。プログラミングスクールに通うプログラミングを初心者が1から勉強することはかなりハードルが高く、独学だと躓いてしまい途方にくれることが多々有ります。多少のお金を出すことも辞さない方には、プログラミングスクールに通う事をおすすめします。最近プログラミングスクールの数は増えてきています。あなたが学びたい言語や時間的制約を加味してスクールを選びましょう。独学プログラミングスクールに通うほどのお金がなかったり、自分のペースで勉強したいと思ったりするあなたには独学がやはりオススメです。独学には2つのタイプがあります。参考書まず1つは参考書等の書籍ですね。自分の学びたい言語やレベルに応じた参考書を購入しましょう。ここではRubyとPHPの参考書をピックアップしています。人気講師が教える実践Webプログラミング「いちばんやさしい教本」シリーズ学習サイト次にWebサービスです。無料のものから有料のものまで存在します。無料のサービスを利用してみて、レベルを上げたい時に課金してみる手法などいいかもしれません。こちらもオススメのサイトを載せておきます。スライドとすぐに手を動かして確認。勉強会プログラミング初心者セミナーは沢山あります。そんなセミナーや勉強会を利用する学習法です。1回単位ものから複数回をセットにしたものまで幅広くあります。スクールに比べて受講者数が少ない傾向が多いため、先生に質問をしやすく、また受講者同士でのコミュニティに参加することができるでしょう。以上、プログラミングとは何なのか、どうやって学べば良いのかといった全体像を説明しました。これからプログラミングが必要となる仕事は多いですし、ロボットやAI(人工知能)など人間の仕事を奪う機械もプログラミングによって作られています。好き嫌いもあるので、全員が習得すべきだとは思いませんが、これからの時代プログラミングを知っておいて損はないでしょう。TechAcademyでは初心者でも最短4週間でエンジニアになれるオンラインブートキャンプを開催しています。現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。独学に限界を感じている場合はご検討ください。この著者の記事一覧TechAcademyマガジンは、オンラインのプログラミングスクールTechAcademyが運営する教育×ITに関するWebメディアです。トレンドや最新情報など役に立つ記事を発信しています。requestを使う方法【初心者向け】2018/1/26続きを読むTechAcademy「共感できるフィーリングが増えた」非エンジニアの上場企業役員が、プログラミングを学んで得たもの。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。requestを使う方法【初心者向け】2018/1/26TechAcademy「共感できるフィーリングが増えた」非エンジニアの上場企業役員が、プログラミングを学んで得たもの。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。