プログラミングとは【わかりやすく簡単に解説】

プログラミング

こんにちは、はるです。

悩み顔2

プログラミング初心者 プログラミングってなんですか?何ができるのかを知りたい。ついでに勉強するなら何からやるべきかも知りたいな。

こんな悩みを解決していきます。

私のプログラミング学習歴は2年ほどでして、過去に以下のようなものを作ってきました。

  • webサイト
  • 小さなwebサービス
  • 自動化プログラム

ポートフォリオ

情報系の専門学校に通っていて、学校+独学でプログラミングの勉強をしています。
現役3年の私が、具体例を出しつつ文系の方でも理解できるように、なるべく分かりやすくプログラミングについて解説していきます。

記事の内容

プログラミングとは

Question

ドラえもんでいう、ほんやくコンニャク。
つまり翻訳することです。

もう少し分かりやすく言うと、「人間の言葉を、コンピュータが分かる言葉に書き換えること」になります。

具体例:パズドラ

パズドラのガチャ画面を思い出してほしいのですが、「まわす」ボタンを押すと金のドラゴンが表示されますよね。
pazudora

「まわす」ボタンを押したあとに、金のドラゴンを表示させたいとき、どうしますか?

ダメな例

  • 「「まわす」ボタンを押したら金のドラゴンを出して」と、日本語でコンピュータに言う
  • 「When you press the button, the technique screen is displayed(Google翻訳)」と、英語でコンピュータに言う

これでは、残念ながら通じません。

通じないならどうするか

そこでプログラミングが必要です。
コンピュータは人間の言葉を理解できないので、プログラミング言語を使ってコンピュータが分かるように翻訳します。

ちなみに言葉にも様々な言語があるように、プログラミングにも様々な言語があります。

ポイント

  • プログラミング: 翻訳すること
  • プログラミング言語: 英語や日本語のようにたくさんある

プログラミングで何ができるのか

プログラミングで何ができるのか

一言で言うと、コンピュータに関するものを作れます。

具体例

たくさんあるので全て書けませんが、以下に思いつく限りあげてみます。

  • ゲーム開発 → パズドラ、ポケモンなど
  • サイト制作 → 検索すると出てくるページ
  • アプリ開発 → paypay、LINEなど
  • システム開発 → 予約システム、在庫管理システムなど
  • ロボット開発 → Pepper、ASIMOなど
  • IoTの商品開発 → Smart Lock、ルンバなど
  • 自動化処理 → エクセル処理の自動化、webから自動でデータ収集など
  • 人工知能(AI技術)の開発 → 顔認識、Alexa、Siriなど

システム開発と、自動化処理はイメージしにくいですね、、、
それ以外は、知っている人もいるかもしれません。

【朗報】プログラミングは暗記しなくて良い

【朗報】プログラミングは暗記しなくて良い

勉強する際のコツとして、暗記はしなくて良いです。

「ググればたくさん答えが載っているので、それをもとに組み立てていく」
これがプログラマーです。

学校の先生も授業中困ったらググっていますし、私もお仕事いただいたことがありますが、わからないところはググっていました笑

全て暗記しなくて良いので、気楽に勉強していきましょう。

何のプログラミング言語を勉強するべきか

何のプログラミング言語を勉強するべきか

結論、作りたいものを決めてから選ぶべき。
なぜなら、作りたいものを決めずに勉強すると、挫折するからです。

私が初めて学んだプログラミング言語はpythonでした。
しかし、特に作りたいものはなく、「流行ってるpythonからやればいいだろ」と思っていたら、1週間ほどで挫折しました。

なので、まずは作りたいものを決めましょう。
各分野ごとに代表的なプログラミング言語をあげてみました。

  • ゲーム → C#
  • web系 → html css Javascript php
  • アプリ(iPhone) → Swift
  • アプリ(Android) → Java
  • 自動化処理、人工知能、データ分析 → Python
  • システム開発 → php Java
  • ロボット開発、IoT → C

他にも、C++、Ruby、Go などの言語があります。

ただ、使うプログラミング言語によって、作れるものは変わってきます。
例えば、「サイト制作で使う言語(html)は、ロボット開発に使えない」という感じです。

またJava は幅広く使えますが、Swift はiPhoneアプリ開発でしか使えないなど、言語によって特徴があります。

作りたいものはないが勉強してみたい

悩み顔1

特に作りたいものはないけど、プログラミングは稼げるらしいし人生で有利になりそうだから、とりあえず勉強してみたい。勉強しながら作りたいものを見つけたいな。

そんな方には、HTMLとCSS をお勧めします。
理由は以下のとおり。

  1. プログラミングの基礎である
  2. デザインの仕事に近く、分かりやすい
  3. 文系でもできる
  4. 調べればたくさん情報がある

私もpythonの次に始めたのが htmlとcss でして、途中挫折もしましたが、簡単なサイトを作れるまで成長しました。

浅草寺 - ポートフォリオ
※html css の他にBootstrapというフレームワーク(プログラミングを楽にしてくれるもの)も使っています。

おすすめの学習サイト

おすすめの学習サイトは以下の2つです。

Progateは講座数が少ないですが、画像のスライドを使った分かりやすい教材なので、初心者におすすめ。

ドットインストールは動画で学ぶスタイルで、講師の手元を見つつ一緒に自分もコードを書いていくと、手を動かしながら勉強できるので覚えやすいです。

Progateとドットインストールを詳しく知りたい方はこちらもどうぞ。

また、YouTubeで勉強するのもありです。
以下のように検索すると、有益な動画がたくさんありますよ。

独学はちょっと自信ない人へ

無料体験できるスクールを使うのもありです。
先程オススメしたHTML,CSSなどを含む基礎的なWebアプリケーションの学習を、無料で勉強できます。

現役エンジニアのメンター付き、かつ0円なので、一人だと自信ない方は一度お試しする価値があると思います。
TechAcademyの無料体験はこちら

プログラミングに挑戦してみよう

プログラミングに挑戦してみよう

以上となります。

私は2年ぐらいプログラミングを勉強してきましたが、ぶっちゃけ半年~1年コツコツ勉強すると、作りたいものは大体作れます。
なので、「プログラミング難しそうだから無理」と思わずに、とりあえずやってみましょう。

プログラミングで何かを作っている自分を想像してみて下さい。ちょっとワクワクしませんか?

ご覧いただきありがとうございました。

Progate
ドットインストール