h1 {
・・・どのパーツに対して装飾するのか指定
font: 16px;
・・・文字サイズを指定
color: #red
・・・文字色を指定
}
新しい自分の可能性に飛び込もう
今年こそ、IT業界へ一歩踏み出してみませんか?
テックキャンプはこれからのIT時代で自分の可能性を広げたい人を応援します。
もっと自由な働き方をしたい方!
もっとクリエイティブな仕事がしたい方!
ぜひ無料カウンセリングへお申し込みください。
更新: 2022.06.27
>>No1エンジニア養成プログラム テックキャンプ
「『プログラミング』という言葉を聞く機会が多いけど、そもそもプログラミングって何?」
上記のようにお考えの方は多いでしょう。
小学校では2020年からプログラミングが必修化されたこともあり、「プログラミング」は大人だけでなく子供のうちから身につけるべきスキルともいえます。
そこで本記事では、「プログラミングって何だろう」という初心者を対象に、以下に内容について解説します。
テックキャンプ プログラミング教養の講師がわかりやすく解説するので、ぜひご覧ください。
※記載されている内容は2021年12月記事公開時点での情報です。サービス内容は予告なく変更の場合がありますので予めご了承ください。最新のサービス内容は本サイトをご覧ください。
この記事は現役エンジニアによって監修済みです。
この記事の目次
プログラミングとは何かについて解説。
あわせてプログラム・プログラミング言語についても解説します。
プログラミングとは、「コンピュータにさせたい仕事を順番に書き出す作業」のこと。
身近なものを例とすると、結婚式の演目・運動会の種目がプログラム、それを紙に書き出す作業がプログラミングとイメージするとわかりやすいと思います。
コンピュータは人間の言葉をそのまま理解できないため、コンピュータが理解できる言葉「プログラミング言語」を用いて命令を出します。
プログラムとは、「コンピュータにやってほしいことを理解できる言葉にしたもの」です。
つまり、プログラミングとはプログラムを作る作業とも言えます。
プログラムの和訳は「番組表」「計画」「予定」という意味であり、実は意識していないだけで普通に使っている言葉です。
この記事もオススメ
プログラミング言語とは、わかりやすくいえば「コンピュータが理解できる言葉=プログラミング言語」であり、コンピュータに命令できる言語のことです。
この記事もオススメ
スキルゼロ・実務未経験でもITエンジニアになれる!
そもそも私たちの仕事や生活でプログラミングは何の役に立つのでしょうか?何ができるのでしょうか?プログラミングでできることはおもに以下の通り。
1つ1つ見ていきましょう。
この記事もオススメ
出典元:総務省
私たちの生活に密接しているスマートフォン(スマホ)。総務省によると、2020年時点で日本国内の86.8%の世帯がスマホを所持しているとの統計が出ています。
Twitter・Instagram・Facebook・LINEなどのSNSや、GoogleマップやApple Musicなどを使っている方も多いでしょう。
これらは、プログラミングで作られたアプリケーション(アプリ)です。じつはプログラミングとはとても身近なものだということがよくわかりますね。
プログラミングができるようになれば、自分で考えたものをアプリとして形にできます。
アプリ開発の場合、開発したいアプリの種類によって学ぶべき言語は変わります。
Webアプリの場合は「Ruby」、iPhoneアプリの場合は「Swift」、Androidアプリの場合は「Java」を学ぶのがおすすめです。
アプリ開発については、こちらの「【個人向け】Webアプリ開発を独学で習得する5つの手順 おすすめ本や注意点もわかりやすく解説」で紹介しているので、ぜひご参考ください。
プログラミングではゲームも作ることもできます。
スマホ・ブラウザゲーム・市販の家庭用ゲームなどもプログラミングでできているのです。
一見難しそうに見えるVR・ARのゲームも、「Unity」などの必要なものが揃っているゲーム向けの統合開発環境を利用すれば難易度がグッと下がります。
ゲームの作り方の詳細はこちらの「【初心者向け】ゲームの作り方を簡単に解説 無料ツールや公開サイトも紹介」で紹介しているので、ぜひご参考ください。
単純作業を自動化して効率化できることもプログラミングの醍醐味。
私たちの生活や仕事にはパソコンやスマホは欠かせません。
そのような環境の中でプログラミングを有効活用している人は多いです。
筆者がプログラムしたり、エンジニアの仕事仲間から聞いた身近な例を挙げます。
上記の通りで、これからITが発展していく中でプログラミングができれば、もっと仕事やプライベートでできることが広がることは間違いないでしょう。
この記事もオススメ
普段パソコンを使っていて面倒だと思う作業も、自分でプログラムを組めれば自動化できます。
例えば、「VBA」というExcelのプログラミング言語を活用すれば、オリジナルの関数を作ったり、領収書がすぐ発行できるシステムを作ったりと面倒な作業を自動化できるのです。
またGoogleのスプレッドシートについても、アドオンを調整しカスタマイズする際にプログラミングを理解していれば調整を行うことは容易に可能。
さらに「Google Apps Script(GAS)」というGoogleアプリと連携できる開発環境を使えば、スプレッドシートにプログラムも組み込めます。
「もっとこんなことができたら便利なのに」が実現できるということですね。
そして実際にプログラミングが出来れば、自分で考えたサービスを形にできます。
例えば、アプリ甲子園という中高生を対象にしたスマホアプリ開発コンテストでは、大会受賞者のアプリと企業のコラボが実現しています。
このようにプログラミングを勉強すれば、見える世界が大きく変わるでしょう。
プログラミング言語により、人間にできないような複雑な仕事をコンピュータに任せられます。
具体的には、単に計算する仕事、webサイトのように情報を表示する仕事、言われた写真や画像を印刷する仕事などさまざま。
しかし、コンピュータも人間と同じでそれぞれ特性があり、仕事によってできるものとできないものが存在します。
また、それぞれの特性を持ったコンピュータは使える言語が違うので、コンピュータに任せたい仕事の内容によって、コンピュータと言語を選ぶ必要があります。
そこで本章では、初心者が学びやすい代表的なプログラミング言語を紹介します。
この記事もオススメ
Rubyは数あるプログラミング言語の中でも、日本人が作った貴重な言語です。
「Cookpad」や「Twitter」など、みなさんもよくご存じのサービスに採用されています。
書きやすさ・学びやすさは他のどの言語と比べてもダントツ。
言語仕様に関するメーリングリストの議論も普通に日本語で行われており、書きやすさはバツグンで、やはりその使いやすさから人気は高い傾向にあるようです。
アメリカでは、最も稼げるプログラミング言語はRuby/Ruby on Railsと言われていた時代もあるようです。
更にRubyは、数多くのベンチャー企業でも採用されており、求人情報にもこの言語を扱える人材を募集している様子が多く見られるなど、人気のある言語といっても過言ではないでしょう。
この記事もオススメ
Swiftはおもに、Apple製のアプリを制作するために使われる言語です。
以前は「Objective-C」という言語でした。
Apple社が作った比較的新しい言語であり、誰もが直感的に使えるように設計されています。制作過程をiPhoneで確認しながら進めていけるので、楽しくプログラミングができるでしょう。
iOSの人気は後を絶たず、需要のあるプログラミング言語の1つです。
この記事もオススメ
Javaは歴史の古い言語で、すばやくさまざまな処理が行えるとして、簡単なアプリ開発から複雑で大規模なソフトまであらゆる現場で採用されています。
他の言語に比べて、習得のハードルが高いです。
Androidアプリやパソコンなどで使うソフトを作ることができます。その反面、細かく指示を書く必要があり、指示書を書くのが大変というデメリットもあります。
この記事もオススメ
PHPとは、動的なWebページを作成する時に使用する、Webに特化したプログラミング言語。
動的なWebページとは「検索サイト」や「掲示板」のように、訪問者のリクエストに応じながらコンテンツを生成していく仕組みを持っているページの事をいいます。
PHPは初心者でも比較的簡単に修得することができる言語です。
世界中の25%のサイトが使用されている「WordPress」のカスタマイズができるので、身に付けておけば就職や転職にも役に立つと共に、他の言語を学ぶ際の足掛かりにもなります。
この記事もオススメ
本章では、実際にプログラミングの基礎を説明します。
プログラミングの基礎を学ぶのに最適なのは「HTML・CSS」であり、実際にコードを書きながら解説します。
厳密にはHTML・CSSはプログラミング言語ではなく、Webページを作るためのマークアップ言語という位置づけ。
本章では、あなたに簡単なイメージを掴んでいただくためにご紹介いたします。
HTMLとは、Webサイトの骨組みを作る言語と前述しましたが、具体的にはタイトルや見出し、写真を配置を決定する言語です。
HTMLのイメージは、様々なパーツを組み合わせて作られた積み木を想像してください。
HTMLには、タグと言われる決まったパーツがあり、これらを組み立ててWebサイトを構成していきます。
下記のように、パーツごとに決められた文字列があり、それを<>で囲んでパーツとします。一例は以下です。
これで、一つのパーツが完成です。下記のように、作ったパーツを1つ1つ並べてWebサイトを組み立てていきます。
しかし、このままでは、それぞれのパーツの色や形をつけられません。このままでは、白黒の簡素なWebサイトになってしまいます。
そこで活躍するのが、CSSと呼ばれるプログラミング言語です。
CSSは、各々のパーツに色や形をつけていくプログラミング言語です。では、どのように色や形を装飾するのか見ていきましょう。
まず、ページの見出し「<h1>」について、文字の大きさと色を変更したいときは、以下のように記述します。
h1 {
・・・どのパーツに対して装飾するのか指定
font: 16px;
・・・文字サイズを指定
color: #red
・・・文字色を指定
}
パーツを指定して、色や大きさなどについて「{ }」に指定。それぞれのパーツに対して、指定できるものが決まっており、その指定の仕方通りに指定する必要があります。
他にも、以下のように指定できます。
HTML・CSSによって、実は簡単にWebサイトを作ることができるのです。
かなり簡略化しましたが、実際はもっと細かなパーツの指定もできるので、慣れてくるとイメージ通りにWebサイトを構築できるでしょう。
この記事もオススメ
本章では、初心者におすすめの勉強法について解説します。
この記事もオススメ
プログラミングを習得するにはどうやって勉強していけばいいのでしょうか。最近は、本もインターネットも充実しかなり勉強しやすくなりました。
また、プログラミング学習サービスもたくさんあるので、プログラミングを勉強する敷居がかなり下がってきました。
ただ、プログラミングでは小さなミスでも英語でのエラー文がたくさん出てくるので、どうしても調べるのに時間がかかってしまい非常に効率が悪くなります。
また、あまりにも時間がかかり、解決できないでいるとプログラミングが嫌いになり、せっかく勉強し始めても習得する前にやめてしまう方も多く大変もったいないのです。
プログラミング独学のやり方は、こちらの「プログラミング独学のやり方 初心者が基礎から学ぶための入門方法・勉強法や壁の乗り越え方」をご参考ください。
一番効率の良い学習方法は、自分の作りたいサービスを作りながら調べ、わからない点はプログラミングができる方に常に教わって勉強することです。
また、一人で勉強するよりも、誰かと一緒の方ができた時の感動を分かち合えるので、モチベーションも維持できます。
なので、プログラミングを教えてくれるメンターを用意することをお勧めします。もし周りにそのような人がいないのであれば、外部のスクールに通うといいでしょう。
数あるスクールの中から、いくつかご紹介します。
目的や内容によって変わってきますが、スクール選びにご活用ください。
テックキャンプはあなたを最先端のスキルと知識を身に着けたテクノロジー人材に変えます。
講義形式で知識だけを学ぶのではなく、実際にサービスを作りながら実践的に学んでいきます。
独学では、わからないことを調べることに膨大な時間がかかりますが、テックキャンプはオンラインでメンター(講師)へ質問し放題。
プログラミングが「なんとなく分かる」ではなく「形になるものを作る」にコミットします。
無料プログラミング体験会・説明会のお申し込みはこちら。
出典元;HAL
東京・大阪・名古屋・パリに開校しており、独自の就職支援システムで希望者就職率は100%を実現しています。
「完全就職保証制度」「国家資格 合格保証制度」のバックアップで、安心して学べる専門学校です。
夜間コース・土曜コースがあるので、社会人でも通う事ができます。
この記事もオススメ
出典元:ヒューマンアカデミー
ヒューマンアカデミーは、さまざまな種類の講座を行う大手資格スクール。
IT・プログラミングスクールをその1つとして開講しています。
入学時から卒業後まで、エントリー・個別スキルアップ・キャリア・ジョブと4人のカウンセラーによる万全のサポート体制を整えています。
この記事もオススメ
独学で学びたいという方向けに、プログラミング入門者におすすめの書籍を紹介します。
この記事もオススメ
プログラミング初心者の方が読むのに最適な本です。
プログラミング言語の説明に入る前の知識を得ることができます。図版がとても豊富になっており、理解しやすさと読みやすさでイメージがつきやすい一冊です。
読者からの口コミはこちら。
これは本当に「基礎の基礎」です。
もしこの本1冊を丸暗記するほどに読み込んだところで、プログラムを組めるようにはなりません。しかし、
「この本の内容が理解できていないとプログラムは組めません」それほどまでに基礎の基礎の大切なことが書いてあります。
引用元:Amazon
テトリスのゲームに例えて、初心者でもゲーム開発ができるというのを説いている書籍です。
使用しているプログラミング言語は「Sunaba」という独自の日本語の言語ですが、初心者だけでなく経験者までもが新しい気づきを得ることができる一冊になっています。
読者からの口コミはこちら。
この本だけで、プログラミング経験全く無しだった私の嫁さんがテトリスを自分で作れるようになりました。
いままで何年間もずっと私があの手この手でプログラミングの楽しさを伝えようとしても見向きもしなかった人が…です。
この事実だけでこの本の素晴らしさが伝わるのではないかと思います。また、私自身は嫁さんとは対照的にプログラミング経験歴だけでいうともう30年近くになるのですがこの本を読んではじめて理解することが多数ありました。
引用元:Amazon
「非エンジニア」の方を対象にしている書籍です。
本書を通じてコンピュータの仕組みを理解することによって「ITエンジニア」や「プログラマ」の方と円滑にコミュニケーションを取れるようになる事を目指しています。
読書からの口コミはこちら。
内容は、表題にもあるように、「プログラマになりたい向け」ではなく、プログラマやエンジニアを理解するために、コンピュータはどういうことが出来るの?を理解するための書籍です。そういう点ではよく出来ている本です。ノイマン式コンピュータの話など懐かしく読み進めました。
引用元:Amazon
読者からの口コミはこちら。
初心者から上級者まで心掛けるべき内容が豊富に書かれているにも関わらず、
とても読みやすい一冊でした。引用元:Amazon
あまりIT業界を知らない人にとっては、システムエンジニア(SE)とプログラマーの違いがわかりにくいかもしれません。
違いが分かりづらいのは、仕方のないことでもあります。
国・会社・業界や現場ごとに「システムエンジニア」という言葉の定義や役割は違うケースがあるからです。
システムエンジニア(SE)は、おもにシステム開発の要件定義や設計などの上流工程を担当。
具体的には、クライアントへのヒアリングや要件定義、実際にコードを書くプログラマーへの指示出しなどを担当します。
わかりやすく建築で例えるなら「設計図を作り、指示を出す」仕事といえるでしょう。
もちろん、コーディングを担当することもあります。
プログラマーの仕事は簡単にいえば「設計図を元に実際に家を建てる」ような仕事です。
システムエンジニアが作った要件に基づき、プログラム言語を用いてプログラミングします。
この記事もオススメ
先にも書いた通り、現場によって言葉の定義はさまざまで「プログラマー」という言葉がシステムエンジニアとほぼ同じ意味で使われることもあります。
その逆のケースもあるため、上の定義はあくまで「目安」です。
昔であれば、システムエンジニアやプログラマーといえば銀行の管理システム構築や法人の大規模なデータ管理などの業務が主でした。
しかし、スマホやタブレットなど様々な媒体によって、一般の方もインターネットを介して手軽にサービスを利用するようになったり、そのサービスを一般人でも手軽に開発・販売できるようになりました。
それにより、システムエンジニアやプログラマーの存在はより身近になってきています。
私たちの生活は、IT技術の発展によって日々便利になっています。
例えば、Amazonなどのインターネットのお店で頼んだ商品はその日や次の日に届いたり、Uber Eatsなどのアプリを使って頼んだフードが30分後には手元に届いたりしてとても便利。
教育分野では、タブレットを導入しデジタル授業を行なっている学校もあるように、ICT教育が進み、授業の形態も変わってきています。
みずほ情報総研株式会社がまとめた「IT人材需給に関する調査」というレポートによると、2030年にはIT人材が78.9万人も不足するとの予測も。
これは、急成長するIT市場に対し、人材育成が追いついていないことを示唆しているのです。
本章では、IT技術の発展によって日本で何が起こっているのか、具体的に見ていきます。
オックスフォード大学でAIの研究を行う教授が発表した「雇用の未来」という論文では、「ロボットやAIが、私たちの仕事の約半分を代替するようになる」と指摘しています。
目覚ましく進化するAI技術によって自動化され、今まで人間が行なっていた以下のような仕事は、ロボットやAIが代替しつつあります。
AIで仕事がなくなることは、マイナスな意味に捉えられがちです。
しかし、単純な作業はAIやロボットに任せ、私たち人間はもっとクリエイティブな仕事に時間を使えるようになるという捉え方もできます。
例えば0から1を生み出す仕事や、人と対面する仕事はなくなることはないでしょう。
この記事もオススメ
「娯楽施設の案内係、チケットもぎり係」は、すでに映画館ではチケット自動発券機がありますし、施設の入り口でPepperが誘導してくれる場所もあります。
回転寿司チェーンの「くら寿司」では、入店時の受付案内・皿の枚数確認・会計を非接触で実現した店舗もあり、対面接客なしで回転寿司が楽しめるようになりました。
日経新聞の「わたしの仕事、ロボットに奪われますか?」では、職業を入力するとその職業がロボットに代替できる可能性を提示してくれます。
2021年12月には、羽田空港ターミナル周辺にて、一般利用者向けの自動運転バスの実証実験が開始されました。
参考元:株式会社マクニカ
IoTとは、「Interner of Things」の略で、あらゆるモノがインターネットと繋がること。
最近はIoT化した家電が増えており、家の鍵、掃除機や冷蔵庫もスマートフォンで操作できるようになっています。
例えば、AppleWatchのようなウェラブルデバイスも代表的なIoTの一つです。
音楽を聴いたり、メールや電話が出来るのはもちろん、脈拍や歩数を記録し、健康状態も管理することが出来るのです。
IoTによって遠隔で操作できる鍵や、防犯カメラ、温度や湿度の管理など、私たちの身の回りのものがインターネットと繋がり、多くのデータが収集され、さらに便利な世の中になっていくことでしょう。
この記事もオススメ
出典元:総務省
IT技術が日々進んで行く一方、デジタルディバイドという格差も起きています。
デジタルデバイドとは、コンピュータやインターネットなどの情報技術(IT:Information Technology)を利用したり使いこなしたりできる人と、そうでない人の間に生じる、貧富や機会、社会的地位などの格差。個人や集団の間に生じる格差と、地域間や国家間で生じる格差がある。
引用元:e-Words
総務省が発表している「令和3年度版 情報通信白書」によると、2020年度における個人の年齢階層別インターネット利用率は13歳〜59歳までは各階層で9割を超えています。
しかし、所属世帯年収別に見ると、年収が少ない世帯は利用率が低く、年収が高い世帯は利用率も高いという結果になっており、世代や年収間の格差はいまだに存在するのが現状です。
また、最近盛り上がりを見せるのが、ITと他分野を掛け合わせた「X-Tech(クロステック)」で、「FinTech(フィンテック)」や「EdTech(エドテック)」などが有名。
例えば、Fintechは「金融分野(Finance)」と「情報技術分野(Technology)」を掛け合わせた言葉であり、IT技術の活用によって既存の金融システムに大きな変化が起きています。
これらの分野も、そもそもITリテラシーが低い人には難しい分野かもしれません。
情報やサービスをただ消費する側ではなく、自ら積極的に学んだり、発信していかないことには、ますます置いていかれてしまうでしょう。
X-Techについて興味のある方は、こちらの「X-Techビジネスの事例18選!FinTech・EdTechだけじゃない最新の動向を解説」をご覧ください。
この記事もオススメ
2020年には小学生の義務教育にプログラミングが導入されました。
では、プログラミングは誰が教えてくれるのでしょうか?
それはやはり学校の先生が教えることになるのです。
授業に、部活動に、たまっていくデスクワーク。休日も部活動があれば勉強する時間なんてありません。先生は大忙しです。
その先生たちが時間を割いて独学で初めてプログラミングを学ぶことは簡単ではないでしょう。学校の先生にもプログラミング教育の波は押し寄せてきています。
子供たちにどのようにしてプログラミングを教えるべきかお困りの先生は、プログラミングスクールの受講を検討してみるのも、一つの策かもしれません。
基礎を効率よく身につけるには、スクールに通うのがおすすめです。
プログラミングは、やればできる。
プログラミングは理系しかできない・数学が得意でないとできないなどのイメージが払拭できたのではないでしょうか。
プログミングは決して難しいことではなく、努力すれば習得できるスキルなのです。
とにかく、自分のつくりたいサービスを作成するなどしながら「この機能は、どうやったらつけられるのだろう」「こんな動きをさせる時には、どうしたら良いのだろう」「どうやって調べれば良いのだろう」エラーはどうやって解決するのだろう」と考えて、手を動かすことでプログラミングは上達します。
そして、苦労して作ったアプリケーションが世界中の人たちに役立つ可能性も十分にあります。今まででは考えられなかったことが、できる時代になってきているのです。
プログラミングの持つ可能性は無限大です。
プログラミングは難しいような印象を受けますが、努力さえすれば誰でも習得できます。
これからは、プログラミングのスキルが様々なところで求められる事となるでしょう。時代に取り残されないうちに、プログラミングの勉強を初めてみてはいかがでしょうか。
この記事もオススメ
こんな不安や疑問はありませんか?
・プログラミングは難しくて挫折しそう
・独学でちゃんとスキルが身につくのか不安
・効率的にプログラミングスキルを習得する方法を知りたい
カウンセリングでは、プログラミング学習を知り尽くしたプロのカウンセラーが、中立な立場であなたの悩み解決をサポートします。満足度93%※1、累計利用者数は40,000人以上!※2
些細なご相談でも構いませんので、気軽にご参加ください。【テックキャンプは給付金活用で受講料最大70%オフ※3】
※1.2018年10月24日〜11月16日(N=106) 2.2016年9月1日から2020年12月31日の累計実績 3.テックキャンプ エンジニア転職は経済産業省の第四次産業革命スキル習得講座の認定も受けており、条件を満たすことで支払った受講料の最大70%(最大56万円)が給付金として支給されます