これから始める人のプログラミング言語の選び方(掌田 津耶乃・著)はプログラミングの世界を垣間見せてくれる良書。
こんにちは
最近、これから始める人のプログラミング言語(掌田 津耶乃・著)を読みました。プログラミングのことに興味はあるけど、全くプログラムの世界を知らない人のために書かれた本です。
参考URL:筆者のWebサイト
プログラマーを目指しているわけではなくてもプログラミングに興味ある人は読んで損はない本だと思います。
ただ、気になるところがないわけではありません。
まずは、この本、非常に分厚いです(笑)。350ページくらいあるので普通の勤め人なら全部読むのにはかなりの日数を取られると思います。私も一週間くらいかかりました。
また、プログラミングを知らない人向けとは言え、中身は決して簡単な本ではありません。基本的には平易な言葉で書かれていますけど、所々に難解な箇所もあり、何度読んでもよくわからない部分もあります。IT初心者には分かりにくい専門用語も出てくるのでスラスラと読むのはしんどいです。
全くプログラム経験がない人はこの本の内容の全てを理解するのはまず無理です。わからないところは適宜読み飛ばしていかないといくら時間があても足りないと思います。
ある程度IT業界で経験のあるプログラミングの初心者が読むのがちょうどいいレベルのような気がします。
それなりに読破するのは時間がかかるので、残業ばかりしているような忙しいビジネスマンには正直お勧めできません。
値段も決して安くありませんし(1800円)、忙しい人が読んでもなかなかページが進まずに途中で投げ出してしまうと思うので勿体ないですよ。比較的時間に余裕のあるサラリーマンや学生でプログラムに興味がある人には是非読んで欲しいと感じます。
この本をオススメできる理由
この本を読んでプログラミングができるようになるわけではありませんが、プログラミングの世界がなんとなくイメージできるのはいいですよ。
小学校からプログラムが今後は必修になるようですから、教養としてもプログラミングって何?くらいは語れるようにした方がいいですからね
私のようなプログラミングの素人は、全く何も分かりませんからね。プログラミングって・・・。
私はこのブログ運営にワードプレスを一応使っているので、HTMLとかCSSとかは聞いたことあるけど、具体的にどのようなものなのかは全くイメージできないし。
プログラミング言語ってこの本読んで知ったのですが、100種類以上あるらしいんですよね。時々、Webの世界で見聞きするJavaとかJavaScriptなどは超メジャーなプログラミング言語らしいのですが、本職プログラマでも一部の人しか知らないようなプログラミング言語もたくさんあるようなんです。
勿論、真剣にプログラマーを目指している人にもお勧めできます。
プログラマを目指す場合の適切な年齢層、勉強すべき言語(初心者向けのオススメ言語を詳しく記載しています)、学習教材などが詳しく書かれているので参考になります。
多数のメジャーなプログラミング言語を多数、詳しく紹介しているので、勉強するべきプログラミング言語がイメージできるはずです。
この本で印象に残った箇所
この本は7つのチャプターで構成されています。
Chapter1 プログラミングの世界を知ろう
●プログラム技術取得の最良の道はとにかく書く!(コーディングする)こと
●本職プログラマになる場合の最大の敵は年齢
→一般論として、30歳過ぎてプログラマを目指すのは諦めた方がいいということ。ただし、勿論例外もあるようですが。
●本職のプログラマを目指すならとりあえずJavaだけはやっておけ
→最も広く使われているプログラミング言語だから覚えて損になることは絶対にない
Chapter2 パソコンプログラミングの世界
アプリ開発用途
●C/C++
→プロ向け。ビギナーが手を出す言語ではない 文法も分かりにくいし、使えるようになるにはメモリなどのハードの理解も不可欠
●Java
→ごく普通のアプリケーションを作ることはできない特殊な開発言語。仮想マシン(ハードウェアを模倣するソフトウェア)で動くのでハードウェアに依存しないのが特徴。インターネットと親和性が高くWEBサイトで多用されている
→ビギナーには基本、難しい言語
●C#
→C/C++とJavaの良いとこどりの言語
→.NETというマイクロソフトが推進する環境で動く言語
→スッキリしていて分かりやすい言語なので初心者向き
●Swift
→Mac、iphoneのアプリケーション開発ための言語
→プレイグラウンドという機能が秀逸。Swiftのコードを書くとその場で実行してしまうツール。遊んでいるうちにSwiftの基本を覚えられる優れもの。
→言語は分かりやすいが、Macの機能(Cocoaというフレームワーク)を利用するのがビギナーにはかなり難しい
●Go
→Googleが開発した新しい言語
→C/C++の問題点を解決した言語
→本職プログラマーにとってはシンプルで分かりやすい言語だがビギナーには難しい
インタープリタで動かす言語
●Python
→統計解析ツールとして理系ユーザーに人気
→スクリプト言語なのでアプリ開発には向いていない
→初心者にも分かりやすい言語だが、アプリ開発に使えないのがネック
●JavaScript(Electron)
→Webページを操作するために作られた言語
→Webブラウザの中だけで動く言語というのは大きな間違い!!
→文法が分かりやすいのでビギナーに最もオススメできる言語
●Google Apps Script
→JavaScriptと基本的に同じ言語。初心者向け。JavaScriptが分かっている人には超オススメ
→無料でWebブラウザがあれば動かせる
→Googleのサービスが使える
オススメ言語はアプリ開発ならC#、自分でプログラム書いて処理させたいならPython・・・らしい
Chapter3 Webとサーバー関係の世界
Webとサーバー開発の言語
●HTML:HyperText Makeup Language
→WEBページデータ構造記述用途:ページコンテンツの構造を記述
→プログラミング言語ではなく、ページ記述言語
→プログラミング言語のように難解ではないのですぐに覚えられる
●CSS:Cascading Style Sheet
→Webデザイン用途:HTMLタグにどのように表示するか?を指定する言語
→Webページを作る場合はHTMLとともに覚えなければいけない言語
●JavaScript
→Webブラウザの基本言語。HTMLの中で動く
→ほぼ全てのWebブラウザで動くプログラミング言語
→Webサイトを作るなら最初に覚えるべきプログラミング言語
→Webページだけでなく、サーバープログラム、アプリ(PC、スマホ)も作れる
●PHP
→サーバー開発用 超初心者向け言語
→サーバーの中で動く言語
→データベースファイルを読み書きできる
→シンプル・分かりやすい・強力
●Python
→スクリプト言語としては強力な環境が整った言語
→Webサーバーそのものを作る機能が用意されている。それをクラウド環境で実行することで完全なオリジナルWebサイトを作れる。Djangoというフレームワーク(基本的な仕組みを組み込んだソフト)で作ることができる。
→ビギナー用として素晴らしく良くできた言語だが、フレームワークの勉強まで考えると初心者にはハードル高い
●Google Apps Script
→Google アカウントがあれば誰でも無料で使用できる。ただでWebアプリを作れる
→簡単サーバー開発ツール。JavaScriptがわかればプログラムを作れる
→スクリプトを書いて公開するだけで完了。レンタルサーバーやクラウドサービスが不要
→初心者は絶対に触れるべき。ブラウザがあればすぐにプログラミングできてWEBアプリとして公開できる。
Chapter4 スマホ・タブレット開発の世界
●パソコンでスマホ開発するなら?→MIT App Inventor
→アンドロイドとiphoneの開発が可能
→厳密にはプログラミング言語ではない。ビジュアルプログラミングを採用しビギナー向け
→MITメディアラボで現在も開発が続けられている
●iphoneでプログラミングするなら?→Pythonista3
→iphone開発ならこれ一択というくらい良くできたプログラミングアプリ
→Pythonというビギナー向け言語で開発できるのが良い
●アンドロイドでプログラミングするなら?→Pydroid3
→ビギナー向け言語のPythonで開発可能
→一般的なPythonライブラリを使用できるのでPythonが使える環境なら得られた知識は応用できる
Chapter5 開発ツールの世界
プログラミングするためには開発のためのプログラム環境(統合開発環境)が必要。無料のものが多くある。
Chapter6 ゲームと教育向けプログラミングの世界
教育向けプログラミング
プログラミングの考え方(制御構文、変数、関数)を学ぶ教材が多くて、実践で使えるものが意外と少ない。
●Scratch
→子供用プログラミング教材の元祖だが、大人用としても充分に使える教材。
→Webブラウザ上で動くから、インストールも不要。お気楽に始められるのが素晴らしい。
→ブロックを並べてプログラミングの感覚を学べる。純粋にアルゴリズム(考え方、組み立て方)を学ぶことができる
→簡単なゲームくらいは作れるようになっている
→入門の入門として超おすすめ
Chapter7 ”プログラミングの世界”を覗く
このチャプターは一番内容が難しいです。具体的なプログラミングコードが出てきます。最初の方は比較的簡単ですが、最後の方では初心者には解読が困難なプログラムも出てきます。
HTML+JavaScriptでプログラミング
非常に簡単なコードをWebブラウザに表示する練習があるのですが、私のMacでは全くブラウザに表示されませんでした(泣)。早速、プログラムの世界の厳しい洗礼を受けてしまいましたね。うまく表示されない理由をググっても全然それらしい情報に行き着かないし。
単純なことでつまづいてしまうと学習する気力が一気に失せてしまいますね(泣)。
後半にはゲームのコードが勉強用に記載されていますが、これはかなり難しい。筆者も今は理解する必要はなくてプログラムの全体像や考え方を掴むのが目的と主張しています。
プログラミング言語の文法や関数を覚えるのも大事ですが、一番大事な考え方はアルゴリズム(基本設計)みたいです。
やっぱりプロフラミングは独学は正直無理だと思いました。分からないことを質問できる師匠(先生)の元で勉強しないと絶対挫折しますね。
まとめ
これから始める人のプログラミング言語の選び方(掌田 津耶乃・著)はプログラムの世界を垣間見せてくれますので、プログラミングは全くわからないけど興味がある人、本職プログラマを目指す人にはオススメできる本です。
ただ、価格は結構高めだし、300ページ以上ある分厚い本ですし、内容もIT業界の人間ではない一般の人には決して平易な内容ではありません。読破するにはかなり時間がかかると思います。
比較的時間に余裕のあるビジネスマンや学生向けですね。
忙しい人はまとまった読む時間が取れないのでページがなかなか進まずに挫折する可能性が高いですよ。
私は内容がわからないところは適宜読み飛ばしましたけど、プログラミングの世界(プログラミング言語の種類や世界(PC、スマホ、Webサーバー、教育、開発環境)、実際のプログラムコードの体験)は大まかにわかったのでこの本を購入してよかったなと思いました。
まあ、プログラミングは片手間に学習できるようなものではないなと感じることができただけでも大きな収穫でした(笑)。
この本を読んで、プログラミングを本気で始めるのもよし、自分にはしんどそうだなと感じてプログラミングを諦めて別の世界を模索するのもよし、どちらでもいいと思いますよ。
関連記事
ゆうこすさんの共感SNSの紹介。発信テクニックよりもSNS上で自分をどう見せたいのか?誰に発信するのか?の重要性を学べる本です。
堀江貴文氏の”本音で生きる”を読みました。中身は堀江氏が考える合理的な人生論です。役にたつ内容も多いですが、堀江氏のポジショントークもあります(笑)。
日本進化論(落合陽一著)の書評。科学者の目線で日本の社会問題、解決方法を論じる世界観が新鮮。