[プログラミングの勉強に最適!]初心者でもわかるサイト・学習できるサイトを纏めてみた

プログラミングを始めるにあたって、まずプログラミング環境を用意しなければなりません。 というのも、コンピュータプログラムと言うのは、人間の言語に近い形で記述されており、それを実行するためには、機械語に翻訳しなければならないからです。 よって、プログラムを機械語に翻訳するためのソフトウェアが必要になります。翻訳ソフトウェアは、C言語、Javaなど、言語によってそれぞれ必要になります。 言語には、その翻訳の仕方で、大きく2つに分かれます。 コンパイラ言語:  プログラムをすべて、一旦機械語に翻訳し、実行ファイルとして出力します。その後、そのファイルをOSが実行します。C言語、C++、Javaなど。このように、プログラムをまとめて機械語に翻訳するソフトウェアを、コンパイラと言います。 スクリプト言語:  プログラムをその都度、機械語に翻訳し、実行する形式のもの。JavaScript、Ruby、Phythonなど。スクリプト言語を実行するソフトウェアをスクリプトエンジンと言います。 この様に、プログラムを実行するためには、コンパイラもしくはスクリプトエンジンが必要です。 そして、そのプログラムの実行環境(=プラットフォーム)も必要になります。 プラットフォームとしては、Windows、MacなどのPCのOS、iOS、AndroidなどのモバイルOS、そしてWEBブラウザがあります。 プログラミング環境といっても様々な選択肢があり、目的によって選ぶべき環境、言語も違ってきます。でも、これからプログラミングを始めてみたいと思っている人にとって、環境を1から用意するのもハードルが高いですよね。 そこで本稿では、できるだけ環境構築はの手間をかけずに、簡単にプログラミングを始められる方法を紹介し、それぞれのやり方で、どんなことができ、どんな言語が学習できるのか、そしてその言語の入門サイトとしてお勧めのものを紹介していきます。

Excel/VBAでもプログラミング学習・勉強ができる

■プラットフォーム:Excel(Windows版) ■言語:VBA はじめに紹介するのは、Excelです。Excelでプログラミングなんてできるの?と思いましたか? 実はExcelには、VBA(Visual Basic for Applications)と呼ばれる、プログラミング環境が入っているのです。 Excelなら、大抵のパソコンにはインストールされてますから、簡単に始められます。また、Excelの機能をVBAプログラムから呼び出すことができ、ボタンやテキスト入力などのUIコンポーネントも入っているので、ちょっとしたツールや、簡単なゲームも作れます。 仕事でExcelを使っている方も多いと思いますが、いつも同じような作業を繰り返しているなら、それをボタンひとつで実行!なんてこともできるようになります。

$part->part_title

例えば、現在選択中のセルに、「Hello Wold」と入力するなら、 Sub Macro1()   ActiveCell.Formula = ”Hello World” End Sub こんな感じになります。 Excel VBAを始めるなら、こちらのサイトがおすすめです。

VBAってなに?どう使うの?というところから、高度な使い方まで解説しています。 また、学習を進めるうち、「こんなことをしたい場合はどうしたら?」と思うかも知れません。そんな時は、

こちらも見てみると良いと思います。 動画で実際に動かしている様子を見ながら勉強したいなら、

こちらが良いでしょう。 後にも出てきいますが、「ドットインストール」は、初心者向けのプログラミング講座が、動画で見られるので、重宝すると思います。 ExcelはバージョンによってUIや機能が違ってきますので、自分のPCにインストールされているExcelと、学習サイトで使われているバージョンに違いがないか、注意しましょう。

VBScript/JScript

■プラットフォーム:Windows ■言語:VBScript/JScript VBScript/JScriptは、Windows上で実行できる、スクリプト言語です。VBAはExcelなどのアプリケーション上で動作しますが、VBScript/JScriptはWindows上で動作します。 WindowsはあるけどExcelは入ってない!という方は、VBScriptかJScriptを試してみましょう。 VBScriptとJScriptは、文法が違うだけで、やれることは同じです。 JScriptは、C言語やJava、JavaScriptに近い文法になっているので、今後別の言語を学んでいきたいと言う方は、JScriptの方がお勧めです。 VBScript/JScriptからExcel、WordやInternet Exprolerの機能を呼び出すこともできるので、Excel VBAよりは汎用的と言えます。ただ、VBAには専用のエディタ兼デバッガが付属されていますが、VBScript/JScriptにはそれがないので、メモ帳などのテキストエディタでコーディングすることになり、作業はちょっと手間がかかると思います。(*1) 例として、画面に Hello World と表示するなら、 WScript.Echo(”Hello World”) こんなコードになります。 VBScriptの入門サイトとしては、

こちらがおすすめです。 JScriptの入門サイトとしては、

こちらが良いと思います。 *1 … 専用のエディタがあれば、コードの補完機能(単語を途中まで入力したら、候補となる単語をリストアップしてくれる機能)が利用できるので、コーディングが楽になります。また、デバッガがあれば、プログラムの途中で一旦実行を停止して、その時の変数の内容などを見ることができるので、デバッグが楽になります。

Windows Power Shell Script

■プラットフォーム:Windows ■言語:Windows Power Shell Script Windows Power Shell は、前述のVBScript/JScriptに取って代わる技術として、Windows7から導入されたシェル環境・スクリプトエンジンです。 こちらも、Windowsに標準で入っていて、専用のエディタ・デバッガも用意されているので、手軽に始められます。 スクリプトの文法は、Linuxのシェルスクリプトに近い感じになっており、若干初心者には難しいく感じられるかも知れません。 あまり複雑なことをしないのであれば、VBScript/JScriptでも十分かと思います。ただ今後は、Windows上で動かすのであれば、Power Shell が主流になっていくでしょう。 Windows PowerShell の入門サイトとしては

こちらなどがあります。

Google Apps Script

プラットフォーム:Google Apps 言語:JavaScript Google Apps Scriptは、googleの様々なサービス上で動かせるスクリプトです。例えば Google Spread Sheet はブラウザ上でエクセルの様なことができるサービスです。

このスプレッドシートの上で、前述のExcel VBAの様に、プログラムを動かせるという訳です。 Google Spread Sheetは、オンライン上で編集できるので、どこからでも同じファイルを編集することができます。また他の人との共同作業も簡単にできます。 ただし、ブラウザ上で動きますので、あまりデータが多すぎると、メモリ不足となり、動作が重くなったりします。大きなデータを扱う場合は、Excelの方が良いでしょう。。 Google Spread Sheetで使える言語は javascript です。 javascriptはブラウザアプリ全般に使われている、汎用性の高い言語です。

$part->part_title

出典:google.com

なでしこ

出典:nadesi.com

■プラットフォーム:Windows、Webブラウザ ■言語:なでしこ なでしこは、なんと日本語で書けるプログラミング言語です。他の英語ベースの言語に慣れている人には、なんとも奇妙に見えるのですが、これからプログラミングを勉強したいという方には、日本語で書けるプログラミング言語は、とても親しみやすいと思います。

----- 「今何時?」と尋ねる 時はそれ もし(時>=5)かつ(時<=10)ならば「おはようございます!」と表示 もし(時>=11)かつ(時<=18)ならば「こんにちは!」と表示 もし(時>=19)かつ(時<=24)ならば「こんばんは!」と表示 -----

たとえば、こんな風にプログラムが書けます。何をしているのか、何となく想像つくでしょうか。 なでしこはWebブラウザ上で実行できるバージョンもありますし、Windows版(要インストール)もあります。Windows版では、ExcelやWordとの連携もできるので、ちょっとしたツールなども作成できます。 ちょっと試してみたいなら、トップページに「v3をブラウザで試す」というリンクがあります。こちらをクリックすると

出典:nadesi.com

このような編集画面が表示されるので、適当なコードを試すこともできます。 サイトにはチュートリアルやリファレンスなどが充実しているので、まずそれを見ながら、いろいろ試して見ると良いと思います。

Liveweave

出典:liveweave.com

■プラットフォーム:ブラウザ ■言語:HTML/CSS/JavaScript ブラウザで動くアプリを作ってみたいなら、Liveweaveを使ってみましょう。Liveweaveは、ブラウザ上でHTML/CSS/JavaScriptを編集し、その場で実行確認ができるサイトです。 ブラウザで動くアプリを作るためには、HTML,CSS,JavaScriptという3つの言語を使う必要があります。それぞれ以下のような役割があります。 ・HTML(Hyper Text Markup Language)...ブラウザに表示する、テキスト、画像、ボタンなどのUI要素を配置する ・CSS…各UIの色やサイズ、動きなどを定義する ・JavaScript…マウスクリックなどのユーザー入力、サーバーからの通信などのイベントに応じて、表示を変化させる この3つを組み合わせて、インタラクティブなWEBページが作られる訳です。

サイトに行くと、いきなり上の画像の様な編集画面が表示されます。 画面の左上でHTML、左下でCSS、右上でJavaScriptが同時に編集でき、結果が右下に表示されますので、簡単にコーディイング作業を進めることができます。 JavaScriptの入門サイトとしては、

がお勧めです。1つ1つ初心者にもわかりやすいように解説されています。 まずはこちらを見ながら、Liveweave上でいろいろ動かしてみると良いと思います。 また、「ドットインストール」の

こちらの講座も見てみると良いでしょう。

jsdo.it

出典:jsdo.it

■プラットフォーム:ブラウザ ■言語:HTML/CSS/JavaScript jsdo.itも、Liveweave同様、ブラウザ上でHTML,CSS,JavaScriptを編集して、実行できるサイトです。他の人が作ったものが、jsdo.it上でたくさん公開されていますので、他の人のコードを見て学習するのには、とても良いサイトです。

$part->part_title

出典:jsdo.it

ゲームや、最新のビジュアル技術をつかった作品など、いろいろ公開されていて、見ているだけでも楽しめます。

monaca

■プラットフォーム:Android, iOS, Windows ■言語:HTML/CSS/JavaScript HTML5/javascriptにある程度慣れて、「スマホでも動くアプリを作ってみたい!」と思ったら、monacaがおすすめです。こちらもブラウザ上でコーディングからテストまででき、完成したものをスマホアプリとして作成することもできます。 既にApp Storeやgoogle playに並んでいる多くのアプリが、monacaを使って作られている様です。

$part->part_title

出典:ja.monaca.io

repl.it

■プラットフォーム:コンソール(Webブラウザ上で動作) ■言語:C,C++,C#,Go,Java,JavaScript,Python,Ruby,Swift,HTML/CSS/JavaScript 他 つづいて紹介するのは、repl.itです。repl.itでは、様々な言語を、ブラウザ上の仮想コンソール上で動かすことができます。本稿執筆時点で36もの言語に対応しています。

repl.itは、ちょっとしたプログラムのテストにはとても使いやすいつくりになっています。その分単純で、入力はキーボード、出力は文字に限られており、ソースファイルも1つだけです。

$part->part_title

出典:repl.it

repl.itのサイトに行くと、この様な画面が表示されるので、テキストエリアに、好きな言語の名前を入力します。

出典:repl.it

そうすると、こんな感じで候補がリストアップされますので、好きなものを選んでEnterを押しましょう。

出典:repl.it

編集・実行画面が表示されました。 左側がソースコード、右側がコンソールになっています。 「run」を押すと、実行できます。 「save」で保存、「share」でリンクを共有もできます。 ユーザー登録すれば、作ったソースはアカウントに紐づけられ、いつでも呼び出せます。 ソースコードは、最初はまっさらなのですが、「example」を押すと

出典:repl.it

このようにサンプルがいくつか表示されます。どれかを選べば、それが編集画面に反映されます。

cloud9

出典:c9.io

プラットフォーム:Linux(Ubuntu) 言語:C++,Ruby on Rails, node.js, php, HTML5他 cloud9は、無料でLinuxの仮想マシンを動かすことができるサービスです。 現在の多くのインターネット上のサービスは、Linuxのサーバーが用いられています。 サーバーサイドのシステム構築をするなら、Linuxの勉強は必須です。 cloud9では、作成した仮想マシン上で、ユーザーが自分でソフトウェアをインストールすることもでき、サーバーサイドの構築全般をcloud9上で試すことができるので、サーバーエンジニアを目指す方の強い味方になるはずです。 ブラウザ上で、シェルとテキストエディタが使えるので、手軽にプログラミングやシステム構築をすることができます。 また、repl.itでは、ソースファイルは1つだけしか扱えませんでしたが、cloud9では、仮想サーバーなので、ファイルやフォルダを作るのも自由自在です。 ある程度大きなプログラムを作るなら、ファイルやフォルダを分けてソースを保存するのが普通ですから、cloud9の様な環境は必須と言えます。

codeanywhere

codeanywhereは、cloud9と同じようなサービスですが、こちらはスマホやタブレット用のアプリもあり、スマホ/タブレット上でコーディングをしたいという方には良いと思います。 もちろん、スマホ/タブレットでやるにしても、キーボードは必須になるでしょう。

ubuntu ( Windows 10 アプリ )

Windows10を持っていて、Linuxを学びたい方にお勧めなのが、ubuntuアプリです。windows上でubuntuのシステムが動かすことができます。 これなら、新たにPCを用意して、Ubuntuをインストールするなどの手間が必要なく、簡単にubuntuをローカルマシン上で動かせます。

unity

■プラットフォーム:PC、ブラウザ、iOS、Android ■言語:C#、JavaScript ゲームエンジンで最も有名なのが、Unityです。ゲームエンジンとは、ゲームで使われる画面表示、サウンド、データ管理などの機能を使いやすいフレームワークとして提供し、同じソースコードで様々なプラットフォーム向けにアプリを作成してくれる便利なソフトウェアです。 無料バージョンもありますので、ゲームプログラミングを始めてみたいという方は、まずはUnityを使ってみると良いでしょう。

unity入門サイトとしては

こちらがおすすめです。 言語はC#,JavaScriptが使えますが、今後本格的にゲームを作っていくなら、C#がお勧めです。 理由は、C#はコンパイラ言語なので、コンパイル時に型チェックを行ってくれたり、コルーチンが使えたりと、何かと便利なためです。 C#の入門サイトとしては、

こちらがお勧めです。

PlayCanvas

■プラットフォーム:ブラウザ ■言語:HTML/CSS/JavaScript PlayCanvasは、ブラウザ上で動かせる、3Dゲームエンジン・エディタです。 少し前までは、ブラウザで3Dモデルを表示することなどは無理でしたが、ここ数年で、WebGLなどの技術が登場し、ブラウザでも3Dモデルを表示することができるようになって来ました。 PlayCanvasは、まさしくブラウザ上で動くUnityの様なもので、3Dモデルを読み込ませ、表示し、JavaScriptで動かすことができます。

プログラミング学習そのものを目的としたサイト(勉強するならこれ)

ここまで、プログラミング環境の紹介とともに、学習サイトを紹介してきました。 ここからは、プログラミングの学習自体を目的としたサイトを紹介します。

ドットインストール

先程来紹介して来ましたが、ドットインストールは、動画でプログラミングがわかりやすく学習できるサイトです(一部有料) 学べる言語としては、HTML/JavaScriptなどのWebフロントエンド系、PHP、RubyなどのWebサーバー系、iOS, Androidアプリ開発、Unityなどのゲーム開発などなど、多岐にわたっています。

Scratch

つづいてご紹介するのは、「Scratch(スクラッチ)」です。MIT(マサチューセッツ工科大学)の研究所でつくられたプログラミング学習環境で、最近学校教育の場でも多く使われています。わかりやすく、手軽にプログラミングの基本を学ぶことができます。

$part->part_title

コードはこのような感じで、いろいろな制御を、ヴィジュアル的にわかりやすく表現できます。 Webブラウザ上で編集、実行ができるので、すぐに始められます。チュートリアルも充実していますし、他の人が作った作品がたくさん公開されているので、プログラミング初心者にはうってつけのサイトになっています。 ただし、Scratchは教育目的でつくられたものなので、仕事や研究に使うには不向きです。本格的にプログラミングを学んで行きたいなら、Scratchで基本的な考え方を学んだあと、他の言語を改めて学ぶという形が良いでしょう。

Code Monkey

コードモンキーも、プログラミング学習サイトで、子どもから大人まで、ゲームを楽しみながら、プログラミングの基本を学ぶことができます。 Scratchと違って、コード自体はテキストのみです。マウスを使うよりタイピングがいいという方には良いと思います。ブラウザ上で動かすことができます。

プログラミングを勉強する皆様へ

いかがでしたでしょうか。プログラミングを学ぶ上で様々な学習方法がございます。独学で勉強する場合は実践を交えながら勉強する方、さまざまいらっしゃると思います。用途や目的に応じた学習方法でプログラミングを是非マスターしてください。