『GoogleAppsScript完全入門』がプログラミング入門に最適な一冊だった

先日、プログラミング入門者向けの[人気Webサイト](https://tonari-it.com)を運営している[タカハシさん](https://twitter.com/ntakahashi0505)という方に、『[詳解! GoogleAppsScript完全入門](http://amzn.to/2CmWeMz)』という書籍を献本いただいた。

<a href="https://www.amazon.co.jp/%E8%A9%B3%E8%A7%A3-GoogleAppsScript%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80-GoogleApps-G-Suite%E3%81%AE%E6%9C%80%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%AC%E3%82%A4%E3%83%89/dp/4798053767/ref=as_li_ss_il?ie=UTF8&linkCode=li2&tag=katsuhisa_-22&linkId=b21468f07bbf08bfaf5fc58f0939115f" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4798053767&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=katsuhisa_-22" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=katsuhisa_-22&l=li2&o=9&a=4798053767" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

この本を読み終えて、**「そういえば、GoogleAppsScriptってプログラミング入門に最適だよな・・・」**と感じたので、GoogleAppsScriptがプログラミング入門に最適な理由、そして最後に『[詳解! GoogleAppsScript完全入門](http://amzn.to/2CmWeMz)』がGoogleAppsScripの入門に適している理由もあわせて紹介したい。

新年早々、「今年はプログラミングを身に着けたい」と決意している方が、1人でも実際にやる気になって一歩を踏み出すきっかけになってくれればよいな、と思う。（本記事の公開日は2018/1/1）

##GoogleAppsScriptとは？
GoogleAppsScriptは、JavascriptをベースにしたGoogle独自のプログラミング言語だ。
よく誤解されがちだが、**GoogleAppsScriptは、Googleが提供するプログラミング言語であり、Javascriptではない**。ただし、GoogleAppsScriptはJavascriptをベースにしており、構文、演算子、関数、組み込みオブジェクトの使い方はほぼすべて同じだ。

なので、「**GoogleAppsScriptを学べば、Javascriptの基本文法の一部を習得できる**」とご理解いただくとよい。そして、Javascriptは間違いなく世界で人気のプログラミング言語の1つであり、プログラミング入門者が学習を開始するのに適した言語であることは保証できる。
なので、**GoogleAppsScriptを学んでJavascript入門の足がかりにするのも良い方法**ではないかと思う。

###具体的にGoogleAppsScriptとJavascriptはどう違う？
GoogleAppsScriptとJavacriptとの違いをきちんと知っておきたい方もいるだろう。そこで、『[GoogleAppsScript完全入門](http://amzn.to/2CmWeMz)』の内容をもとに両者の違いについて少し触れておく。ここでは3つ紹介したい。

**1. GoogleAppsScriptでは、ブラウザオブジェクトが使えない**
**2. GoogleAppsScriptでは、DOMオブジェクトが使えない**

Javascriptでは、ブラウザを操作するブラウザオブジェクトや、Webページを記述するHTMLを操作するDOMオブジェクト存在するが、GoogleAppsScriptではこれらは提供されていない。
なので、以下2つに当てはまる場合は、GoogleAppsScriptではなく、Javascriptをいきなり学んでもよいのではないかと思う。

* プログラミングを習得した結果、すでにつくりたいものが決まっており、
* かつ、それがWebブラウザ上で動作するアプリケーションだ

（この場合、Javascript以外の言語をあわせて習得する必要性も高いかと思うが。）

**3. その代わり、GoogleAppsScriptはGoogle Appsとの連携機能が豊富**
GoogleAppsScriptがJavascriptに勝っている点として、Google Appsとの連携機能が豊富ということが挙げられる。そして、この点が、**私がプログラミング入門者にGoogleAppsScriptをおすすめしたい理由**の1つでもある。

Google Appsには明確な定義は存在しないが、Googleが提供しているサービス群とご理解いただければよい。例えば以下だ。

* Gmail
* Google+
* Googleカレンダー
* Googleスプレッドシート
* Googleドキュメント
* Googleフォーム
* Googleドライブ

普段の業務でこれらを使われている方も多いのではないだろうか。
GoogleAppsScriptを習得すれば、これらを連携させることで、すぐに日常業務のいくつかを楽にすることができる。**プログラミングに入門してすぐに業務で活かすことができる**のは本当に素晴らしい体験だと思う。

具体的な利用例は以下のようなものだ。

* Googleカレンダーの予定を自分のメールに毎朝送信
* Googleフォームで回答してくれた人にお礼メールを自動送信
* Googleスプレッドシートで管理している予定をカレンダーに一括登録

##プログラミング入門者にGoogleAppsScriptをおすすめしたい理由
ここまでで、プログラミング入門者にGoogleAppsScriptをおすすめしたい理由として、

* GoogleAppsScriptが人気のプログラミング言語Javascriptベースであること
* Google Appsとの連携がかんたんにでき、業務にすぐに活かしやすい

点を挙げたが、他にもおすすめしたい点がある。

それは**環境構築が不要**という点だ。

初心者にとって、この点は非常に大きいと思う。プログラミングをこれから学ぼうと思う人にとって、**環境構築を行うことや、取っ掛かりとして、ファイルを作成・編集して保存するのはそれなりに大仕事**だ。なぜなら、これらを行おうとすると多くの場合、CUIと向き合う羽目になるからだ。CUIは、真っ黒な画面に色のついた文字がひたすら並んでいるアレを想像してもらえばよい。
初心者にとって、「ちょっと◯◯したいだけなんだけど・・・」が思うようにできないのは、挫折する十分なきっかけになりうる。

一方、**GoogleAppsScriptの場合は、すべてがGoogleのクラウドサーバー上で管理できる**。プログラムの作成・編集をするハードルや、プログラムを実行するための環境を構築するハードルがない。
Googleアカウントさえ持っていれば、すぐにでもブラウザ上で、プログラミングを開始できる。**しかも無料**。これは本当に素晴らしいことだと思う。

##まとめ ＆ 『GoogleAppsScript完全入門』のススメ
最後に本記事で主張したかった内容を一文でまとめる。
GoogleAppsScriptは、環境構築不要でプログラミングをすぐに開始でき、また、Google Appsのような利用シーンを想像しやすいアプリケーションとの連携が容易なため学習後の実戦利用もしやすいので、プログラミング入門としてオススメである。

また、**『[詳解! GoogleAppsScript完全入門](http://amzn.to/2CmWeMz)』は、そんなGoogleAppsScriptを基礎から学ぶことができる一冊として自信を持ってオススメできる。**
なぜなら、他のプログラミング言語の入門書と同じく、「定数、変数、データ型、配列などの基本構文」や「if文をはじめとした条件分岐や、比較演算子・論理演算子などの制御構文」といったプログラミングの基礎も200ページ以上割いて解説されているからだ。もちろんそれだけでなく、本記事でも取り上げたGoogle Appsとの連携をどのように扱うか、という考え方も丁寧に触れられている。
参考までに目次は以下。

第1章 Google Apps Scriptの基礎知識
第2章 スクリプトエディタ
第3章 基本構文
第4章 制御構文
第5章 関数
第6章 オブジェクトの仕組み
第7章 JavaScriptの組み込みオブジェクト
第8章 スプレッドシート
第9章 Gmail
第10章 ドライブ
第11章 カレンダー
第12章 ドキュメント
第13章 翻訳
第14章 イベントとトリガー
第15章 ユーザーインターフェース
第16章 ファイルとデータの操作
第17章 外部サイトへのアクセス
第18章 プロパティサービス
第19章 ライブラリ

**Javascriptの基本から、自作ライブラリの利用まですべて書かれている。まさにGoogleAppsScriptの入門にふさわしい一冊**だと思う。

<a href="https://www.amazon.co.jp/%E8%A9%B3%E8%A7%A3-GoogleAppsScript%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80-GoogleApps-G-Suite%E3%81%AE%E6%9C%80%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%AC%E3%82%A4%E3%83%89/dp/4798053767/ref=as_li_ss_il?ie=UTF8&linkCode=li2&tag=katsuhisa_-22&linkId=b21468f07bbf08bfaf5fc58f0939115f" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4798053767&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=katsuhisa_-22" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=katsuhisa_-22&l=li2&o=9&a=4798053767" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

というわけで、もし気になった方は『[GoogleAppsScript完全入門](http://amzn.to/2CmWeMz)』をお買い求めいただければ、私もがんばって紹介した甲斐があります。お読みいただきありがとうございました。