【目的を明確にしよう!】プログラミング未経験者が初めて勉強したい言語とは?

【目的を明確にしよう!】プログラミング未経験者が初めて勉強したい言語とは?

プログラミングとかロボットとかITに興味があって「自分もやってみたい!」と思うものの、何から手を付ければいいかわからない方もいらっしゃることでしょう。
今回は、「やってみたい!」という目的達成のために何が必要か、どのプログラミング言語が必要か、という点を簡単に紹介していきたいと思います。

目次
  1. 【目的は何か?によって学ぶ言語は変わる】プログラミング未経験者が初めて勉強したい言語とは?
  2. ゲームを作りたい人
  3. Webサイトを作りたい人
  4. Webアプリを作りたい人
  5. アプリを作りたい人
  6. 何かを自動化したい人(IoTを試したい人も)
  7. ロボットを作りたい人
  8. 人工知能を試してみたい人
  9. 学校の予習としてプログラミングをやってみたい人
  10. IT企業に就職したい人
  11. プログラミングに興味はあるが目的が分からない人
  12. まとめ

【目的は何か?によって学ぶ言語は変わる】プログラミング未経験者が初めて勉強したい言語とは?

ゲームを作りたい人

image

ゲーム開発できるプログラミング言語
C#やC、JavaScript、Java、Scratchなど

まずはじめにご紹介するのが「ゲームを作りたい人」むけの How to です。 Nintendo Switchやプレイステーション、スマホゲームが大好きで「自分でもゲームを作ってみたい」、その欲求満たすことができますよ。

【必要な環境】

  • パソコン
  • インターネット
  • 必要においじてUnityなどの専用ソフト
  • プログラミング言語の知識
  • キャラクターデザイン

【作成のステップ】

  1. ゲームの企画
  2. 開発環境の検討(Unityやコードベースなど)
  3. 開発・テスト、デバッグ
  4. デプロイ、リリース

作成したゲームを最終的に『何で』プレイするかによって開発規模や手間、学習コストは変わってくるでしょう。 ゲーム制作未経験者が、いきなりプレイステーション並のゲームを作ることは通常困難で、まずは2Dのシューティングやスクロールゲームなどから初めてみることをオススメします。サンプルをダウンロードして、少しプログラムを変えるだけでもおもしろいと思いますよ。

【ゲームレベルに応じたプログラミング言語】

  • 高精度のゲーム / C言語やC#(Unity)
  • 簡単なゲーム / JavaScriptもしくはJava
  • 非常に簡単なゲーム / Scratch

【ゲームのプログラムを見てみる】
(注)スマホではプレイできないゲームもあります。

  • テトリスPlayCode
    プログラミング言語:HTML、CSS、JavaScript
  • ビリヤードPlayCode
    プログラミング言語:HTML、CSS、JavaScript
  • ロールプレイング・ゲームPlayCode
    プログラミング言語:HTML、CSS、JavaScript
  • ファイティング・ゲームPlayCode
    プログラミング言語:HTML、CSS、JavaScript
  • レーシング・ゲームPlayCode
    プログラミング言語:HTML、CSS、JavaScript
  • スクロール・ゲームPlay(Android)Code]
    プログラミング言語:C#(Unity)

これらのコードをもとに、自分なりにゲームをアレンジできるとおもしろそうですね。 ゲーム内の動きは主に「JavaScript」や「C#」で制御して、Webへの公開にHTMLやCSSを使用しているパターンです。

Webサイトを作りたい人

image

Web制作できるプログラミング言語
HTMLやCSS、JavaScript

自分の趣味やお店の紹介、サークルの紹介など情報公開を目的として「Webサイトを作りたいな」と考えている方も多いことでしょう。 現在Webサイトの作成は、プログラミング知識ゼロでも作成、公開できますが、「メニュー一覧の機能」や「ちょっとしたデザインの変更」などアレンジを考えるとプログラミング知識が必要に。

【Webサイトを作るために必要な環境】

  • パソコン
  • インターネット
  • HTMLやCSSなどのプログラミング知識
  • 必要に応じてホームページビルダーなどのソフト
  • レンタルサーバーなど

【作成のステップ】

  1. Webサイトの企画
  2. Webサイトに付ける機能やデザインの検討
  3. 開発環境の検討(ホームページビルダーやWixなどのビルドツール?WordPress?コードベース?)
  4. 作成、デバッグ
  5. 公開

【Webサイトとプログラミング言語】

【簡単な作成方法】
プログラミング知識ゼロでもOK
【オリジナリティを出せる作成方法】
プログラミング知識必要
情報の追加や更新頻度が低いサイト Wixやホームページビルダーなどのソフト利用
Sample
HTML、CSS、JavaScriptで作成
Sample
情報の追加や更新頻度が多いサイト WordPressなどのCMS(PHP言語)
Sample
Ruby on Rails などのフレームワーク
Sample

「Webサイト」と一言でいってもサイトを構成するページ数や情報更新の頻度、管理費によって「どうやって開発、管理するか」ということがキーワードになってきます。 Webサイトをみるユーザーさんは、情報の鮮度も重視しますので、ある程度情報更新がされていたり、今風のデザインを取り入れておく必要があるでしょう。

Webアプリを作りたい人

image

Webアプリ用のプログラミング言語
HTMLやCSS、JavaScript、PHP、Rubyなど

Webアプリとは、アプリをインストールすることなく、ブラウザ上で「買い物」したり「予約」したり「SNS」したり「動画編集」できる機能を備えたWebサイトのことです。 旅行の予約サイトやYouTube、Facebook、TwitterなどがWebアプリの代表的な例といえるでしょう。

【Webアプリを作るために必要な環境】

  • パソコン
  • インターネット
  • HTMLやCSSなどのプログラミング知識とPHPやRubyなどサーバーサイドのプログラミング言語スキル
  • レンタルサーバーなど

【作成のステップ】

  1. Webアプリの企画
  2. Webサイトに付ける機能やデザインの検討
  3. 開発環境の検討(WordPressなどのCMSか軽量なRuby on Railsなどのフレームワークか)
  4. フロントサイドとバックサイドのプログラム作成、デバッグ
  5. 公開

Webアプリが、企業サイトやブログサイトなどの「Webサイト」と違う点は、閲覧者とサイト運営側の双方でやり取りを可能にしていることでしょう。 ショッピングサイトでいえば、商品と数量を選択すれば自動で料金を計算してくれて、カード決済まで実行。 この閲覧者の入力から自動計算、結果表示までは「バックサイド」といわれるサーバー側の処理になります。 サーバー側の処理は、プログラミング言語のPHPやRuby、Python、Javaなどで行われますね。 ただ現在は、一から全て処理プログラムを開発しなくても「プラグイン」や「パッケージ」、それからCMSやフレームワークという便利なツールを利用することができます。 以下にWebアプリの開発で人気のPHPとRubyの違いをご紹介しますね。

【PHPとRuby】

プログラミング言語 PHP Ruby
開発ソフト WordPress Ruby on Rails
ソフトの費用 Free Free
プログラミング知識 なくても可 必要
公開までの時間
(初心者の場合)
即日可能 少々時間がかかる
メンテナンス 頻繁なソフト更新が必要 時々ソフトの更新が必要
ファイルサイズ 肥大化傾向 コンパクト
WordPress公式サイト Airbnb、クックパッド

アプリを作りたい人

image

アプリ開発用のプログラミング言語
JavaやSwift

日常生活の中で「こんなアプリあったら便利なのにな」と思う方もいらっしゃるでしょう。 スマホ用アプリもPC用アプリも、自分でタダで開発できますよ。

【アプリを作るために必要な環境】

  • パソコン(基本的にOSXやiOS用アプリ開発はMac PCのみ可)
  • インターネット
  • Android用アプリ開発にはJavaもしくはKotlin、iOS用はSwift

アプリ開発に対する需要は高く、専用のソフトを使って上記でご紹介したネイティブ言語以外のC#(Visual Studioなど)やHTML(Monacaなど)で開発できるパターンもあります。こうした言語を使うと、一つのプログラムでAndroid用もiOS用も一度に開発できる利便性はありますが、複雑な処理は苦手です。まずはAndroidやiOSも薦めるネイティブ言語のJavaやSwiftで学習することを勧めますね。

【作成のステップ】

  1. アプリの企画
  2. 開発環境の準備(Android StudioやXcodeなど)
  3. プログラムの作成とデバッグ
  4. アプリ公開の申請
  5. 公開

スマホ用アプリとWebアプリを開発する場合の違いとしては、「使うソフト」と「サーバー設定」でしょう。 スマホアプリの開発は、通常「Android Studio」や「Xcode」が使われます。 そして基本的にこのソフト内で開発が完結。対してWebアプリの場合は、EclipseのようなIDEをつかったり、単にテキストベースで作ったり色々です。 これらのことからスマホアプリの場合は開発環境が1つに絞られますので、一度開発方法を体系的に学習しておけば、アプリ開発に集中して取り組むことができるでしょう。

何かを自動化したい人(IoTを試したい人も)

image

自動化に必要なプログラミング言語
Python など

一昔前に比べるとカメラやセンサー、小型PCは安くなり、Wi-Fiをはじめとする通信環境も飛躍的に向上しています。 またレンタルサーバーも安くなって、個人がサーバー環境を持っているのも普通になりつつありますね。 こうした環境変化から、こどもの帰宅情報を親のラインに自動送信したり、外出先からでもチャットアプリで「エアコンつけて」とメッセージ送信するとエアコンがついたり、様々なことが自動化できます。

【自動化システムを作るために必要な環境】

  • パソコンと小型PC(Raspberry Piなど)
  • インターネット
  • センサーや基盤、モーターなど
  • Pythonプログラム
  • テキスト(ラズパイマガジンなど)

ロボットを作りたい人

image

自動化に必要なプログラミング言語
Python、C++、Java、Scratch など

昔はロボット製作というと専門知識がないとダメでしたが、最近は子供でもロボットが作れる時代に。 プログラムもロボット制御用のフレームワーク「ROS」が無償公開され、プログラミング初心者でも気軽にロボット制御を体験することができます。 OSのインストールからマイクロSDカードの設定などコンピューティング全般を体験できますので、ロボット制作、楽しそうですよね。

【ロボットを作るために必要な環境】

  • パソコン
  • インターネット
  • GoPiGoやGoogle AIY Voice Kitなどの開発キット
    もしくはテキストにそった材料一式
  • 工具

人工知能を試してみたい人

image

人工知能体験に必要なプログラミング言語
Python

人工知能はPython以外にCやC++、Javaでも動きますが、プログラミング初心者は「Python」一本に絞って考えたほうが無難でしょう。 プログラミング未体験者でも名著「ゼロから作るDeep Learning」とMacもしくはLinux PCがあれば人工知能を体験可能。 自分で人工知能のプログラムを走らせることで、人工知能に対して「ボンヤリ」としたイメージではなく、「明確」な認識ができ、人工知能を使ったアプリやソフトを利用する際に非常に役立ちます。

【人工知能を試すために必要な環境】

  • パソコン(Mac or Linux)
  • インターネット
  • テキスト

学校の予習としてプログラミングをやってみたい人

image

学校の予習に必要なプログラミング言語
Scratch

2020年小学校のプログラミング授業必須化にむけて、プログラミング学習を子供にさせておきたい、と考える親御さんもいらっしゃることでしょう。 実際の授業内容は学校によって違うものの、多くの学校でビジュアル・プログラミング言語が試験的に利用されています。 ビジュアル・プログラミング言語は、一般的なプログラミング言語と違って、命令が書かれた「ブロック」をつなげて処理を実行。 そのビジュアル・プログラミング言語の代表格ともいえるものが「Scratch」です。 Scratchをやっておけば、ほかのビジュアル・プログラミング言語もすぐに慣れると思いますよ。

【Scratchに必要な環境】

  • パソコン
  • インターネット

** スマホやタブレットでは、Scratch利用できません。

IT企業に就職したい人

image

IT企業への就職に必要なプログラミング言語
主にPHPやJava

オシャレで高給で、待遇のいいIT企業へ就職したい、と考えてプログラミングをはじめようとする方もいらっしゃるでしょう。 基本的にはどのプログラミング言語に対しても求人はあると思いますが、選択肢を広げようと考えるならメジャーなPHPやJavaを選ぶのが無難。 PHPはWebサイトやWebアプリの世界で広く使われ(80% over *)、CやJavaに比べるとやさしい言語です。 Javaは、PHPに比べると型がしっかり決まっていて、学ぶべきことが多いですが、Web以外のインフラ・システムや駅の自動改札、クレジットカード決済など広範囲にわたって使われている特徴があります。 Web専門で行くのならPHPでしょうし、IT全般で考えるならJavaではないでしょうか。

【PHPやJava学習に必要な環境】

  • パソコン
  • インターネット
  • PHPやJavaの開発環境(XAMPPやJava SEなど)
  • テキスト

プログラミングに興味はあるが目的が分からない人

image

プログラミングとか人工知能とか将来有望そうなので興味はあるが、何のために何を学べばいいかわからない方も多いのではないでしょうか。 私の妻はそうです。 キッカケと学習リズムさえ整えば、自然とプログラミングが楽しくなるのでムリに焦る必要はないでしょう。 ただし、こうしている間にもドンドン新しい技術やソフトが開発されていきますので、商機をつかみたいなら1秒でも早くコードに触れることをオススメ。 ちなみに私はほぼ独学でプログラミングを学習していますが、学習前と比べて思い浮かぶアイディアが全然違います。今頭の中にあるアイディアのいくつかをご紹介しますね。

【ダイエット・アプリ】
メガネに小型カメラを内蔵して、食べ物を画像認識 → 画像解析 → データベースと食べ物を照合し、カロリー計算 → スマホアプリにデータ転送 → 結果、食べ過ぎの予防に

【家でもできる本格YOGA】
テレビにカメラをつけて自分の動きを録画、即時画像解析を行って、お手本と違うところをテレビ画面に出力 → 正確な動きをサポートして効果的なYOGAを楽しめる、ついでにネットワークにつなげてユーザー間のコミュニティ、モチベーション維持にも。そしてさらにコンテストを開いてグランプリには沖縄旅行など、広告やダイエットグッズのPRで収益化も。

人工知能の画像認識についての基礎学習があるため、主に画像処理関係のサービスを思いつきます。 あなたもとりあえずWebでもアプリでも、ちょっと開発側のことを体験してみると、いままでと違ったことを思いつくようになると思いますよ。

まとめ

目的やプロセスがわかっても、いざ行動に移そうと思うと勇気がいりますよね。 CodeCampではだれでも気軽にプログラミングを体験できるように「オンライン」で「7時から23時40分まで」「マンツーマン」でプログラミング体験できるように環境整備しています。 チョットの時間とチョットの勇気があれば、「無料体験」いかがでしょうか?

体験したからといってムリな勧誘や連絡はありませんよ。

オシママサラ
ライター
オシママサラ

関連記事