アラフォー初心者のオッサンだが趣味でプログラミングを始めようと思う
さて
新年の目標にも掲げたが、今年は何か新しいことに挑戦したいと考えている。
上に目標として掲げた読書も映画鑑賞もインプットメインの趣味なので、なにかしらアウトプット作業を含む新しい趣味をみつけたいと考えている(ブログ執筆はアウトプットだけどもな)。
2016年 年頭所感 - Noblesse Oblige 2nd by iGCN
楽器を習う(クロマチックハーモニカやりたいと前から思っていた)
小説を書く(はてな運営のカクヨムがオープンする)
プログラミングを始める(Macをいじくるのが好きだから)
などが候補。
この中で実は一番の有力候補は3番目のプログラミング。
なぜ今プログラミングなのか
自分はあまり肉体派の人間ではなく基本インドア派なので、自宅で独りでもボチボチできるような趣味が良い。以前から趣味として数学をやってみようかと考えていたのだが、要は頭を使う創意工夫を伴う事をしたいのだ。
プログラミングは頭も使うしパソコンがあればできる(できますよね?)し、論理的思考を培うのにも良さそう。それと、これから学校教育の中でプログラミングを取り入れる動きがますます活発になりそうだから、将来的に子供がプログラミングを学ぶ中で何も助言ができないのも親としての沽券に関わるのではないかと考えた*1。
日曜大工としてのプログラミング
自分は別にエンジニアに転職したいわけではないし、プログラミングを学ぶことが現在の業務に直接的に利益をもたらすことも想定していない(欲を言えば、仕事に役立てば嬉しいけど。可能性があるとすればビッグデータ解析とか画像解析の分野か)。
ただ、たとえばオッサンが週末に犬小屋を造るみたいなイメージで、ちびちびプログラムを書いて動きをみるというふうに、あくまでも趣味・頭の体操としてプログラミングに触れてみたいのだ。本業のプログラマの方に怒られるかも知れないけど。
私のプログラミング黒履歴書
プログラミングと言うと、70年代生まれの自分は真っ先にBASICを思い出す。小学生の時に親父が買ってきたPC98シリーズでBASICを少しいじったことがある。いじったと言っても、画面上に円を描いたり線を引いたりして満足していただけだったけど。
ところでBASICは
B バカな
A あなたも
S すぐに
I いじれる
C コンピューター
の略だと教わった気がするのだけど、このネタ御存知の方います?
閑話休題
プログラミング言語多すぎ
プログラミングを始めたいと考えた時に初心者がまず躓くのは、言語が多すぎてどれを学習すれば良いかが分からない。指導者がいればその人の得意な言語を教わる事になるのだろうけど、自分のように自学自習でやろうとしている人間にはどこから手を付けたら良いか皆目見当がつかない。
そこで、なにはともあれGoogle先生に聞いてみようと言うことで、「プログラミング 初心者 言語」でググってみたら以下のサイトがヒットしたよ。
この記事では、初心者が学ぶのに最適な5つのプログラミング言語として以下のものが紹介されている。
- Java
- Ruby
- Python
- CとC++
- JavaScript
なるほど。分かったような分からないような。ただ、なんとなくPythonが良さそうだなと言う印象を受けた。科学計算や深層学習の分野で最近幅広く使われているようだ。
どの言語が良いのか
自分の場合は例えばiPhoneアプリを作りたいとか、Webサービスを立ち上げたいとかの明確な目標があるわけではない。目標があれば、それに適した言語を選択すれば良いのだが。転職目的でもないから、求人の多寡なども参考にはならない。
- 初学者でも学びやすい
- プログラミングの理論・基礎を学ぶのに適している
- 教材(オンライン・書籍)が充実している
- 将来性がある(今後も廃れない)
- Macでできる
- 初期投資が不要
などが指標になるだろうか。教材については日本語が望ましいが、英語でも別に問題ない。
各種言語についてググって調べているが、結局どの言語についてもその言語をお勧めする記事がヒットしてくるので読んでも読んでもキリがない。
オンライン上の教材等
オンライン上にはプログラミングを教える教材も多々ある。自身のためにいくつかここに記載しておく。
http://dotinstall.com
日本語のプログラミング自習サイト。百式の田口さんが運営。
https://www.coursera.org
大手MOOCのCourseraにはプログラミングの講座が多数ある。Courseraは無料と思っていたが、自分が良さそうだなと思ったミシガン大学のPython講座は有料だった。
https://www.codecademy.com
全編英語だけど、無料のプログラミング教習サイト。Pythonのコースもあった。
https://blog.codecamp.jp
Code部。プログラミング初心者を応援するメディアと銘打った自分にはうってつけのサイト。
特にこのまとめは参考になった。
blog.codecamp.jp
さいごに
とりあえずドットインストールの入門動画を閲覧することから始めてみようと思う。
経過についてはまた当ブログで。
では
この本、書店でちらっと立ち読みしたけど面白かった。数学パズルをプログラムで解く。解答例はRubyだったけど。
追記:Pythonはじめました