この記事を書いた文脈
twitter.comみんな自分が好きな「おれはこれで独学した、文句あるか」記事を定期的に書いてこう
— keiichiro shikano λ♪ (@golden_lucky) 2021年1月7日
twitter.comみなさんもぜひ思い出書いてみて欲しい。 https://t.co/ZqomOZD6Ob
— V (@voluntas) 2021年1月8日
お二人が書かれたものは以下。
前提
ブログのタイトルにあるように、30 歳からプログラミングを始めた。
最終学歴は大卒だが、定員割れしている文系私大である。高校は行っていないので、数学は中学レベル。つまり、何の素養もないところから独学を始めた。
いくつかの会社でプログラマとして働いたので、「プログラマになれた」と言っていいと思う。ブラック企業にぶち込まれたわけでもないし。
ここで紹介する技術書以外にも面白かった本はいくつもあるのだが、「何を読むことで、未経験の人間がプログラマとして働けるようになったのか」という文脈で選んだ。
これらの技術書がお勧め、という訳ではなく、自分はこうした、というだけ。
JavaScript
『JavaScript本格入門』
自分をプログラミング言語に入門させてくれたのは、間違いなくこの本。
難しすぎるわけでもなく、かといって敷居を下げすぎて単なるレシピ集のようになってしまっているわけでもなく、しっかりと「JavaScript という言語」について教えてくれる入門書。
この本のおかげで、JavaScript という門をくぐることができた。
改訂版が出ているので今読むならこっちだが、自分は未読。
『オブジェクト指向JavaScriptの原則』『開眼! JavaScript』
『JavaScript本格入門』を読み終えたあと、JavaScript の言語仕様をもっと学ぼうと思い、読んだ。
当時既に React や AngularJS が流行っていたが、フレームワークやライブラリの前に言語をちゃんと理解しようと思い、手にとった。
どちらもコンパクトで読みやすく、よかった。
どちらもかなり古い本なので、今更敢えて読むようなものではないと思う。
今から JavaScript をきちんと学ぶのなら、やっぱり JavaScript Primer だろうか。
GitHub
『Web制作者のためのGitHubの教科書』
Git や GitHub の習得が必須だということは理解していたのだが、ネット上の記事をいくつか読んでも、ピンと来なかった。
そこで、とにかく文字が少なそうなこの書籍を読むことにした。
かなり初歩的かつ具体的な内容で、何とか Git を使えるようになった最初のキッカケはこの本だった気がする。
CUI をろくに使えなかった当時の自分にとっては、Sourcetree の使い方を丁寧に説明してくれる本書はかなりありがたかった。
既にある程度理解した状態で読んだこの書籍も、入門書として質が高かった記憶がある。
Web
『Webを支える技術』
HTTP や REST といった、ウェブにおける基本的な概念を分かりやすく説明してくれている名著。
自分はこの本で REST という言葉や HTTP の仕組みに初めて触れた。
近いテーマの本として『Real World HTTP』があるが、初学者には厳しいので、まずは本書を読んだほうがよいと思う。
著者によれば本書も初心者向けではないとのこと。確かに最初に読むような本ではない。とはいえウェブプログラミングをやるのなら、できるだけ早く HTTP の概念に触れたほうが、その後の学習効率が高まると思う。
twitter.com『Webを支える技術』の著者ですが、初心者にはお勧めしないです。まずは自分で何かしらのプログラミング言語を使ってWebアプリケーションが作れるようになってから読んでもらうのがよいかと / “プログラミングスクールに通うくらいならこの本を読め10選 - ニート向けソフト…” https://t.co/qvBVfSw9pg
— YAMAMOTO Yohei (@yohei) 2021年1月7日
設計
『オブジェクト指向設計実践ガイド』
これは、就職後に読んでよかった本。だが独学していく上で重要な本だったので、書いておく。
設計というものに対して関心が高まり、本書を手にとった。
「オブジェクト指向」というと Java や C++ で語られる印象があるのだが、本書は Ruby で説明してくれているので、ウェブプログラマでも取っ付き易い。
設計のテクニック自体もよかったが、それ以上に、「設計」や「オブジェクト指向」に対する考え方を変えることができたのが、個人的には大きかった。
詳しいことは以前書いたので、そちらを読んで欲しい。
「設計」や「オブジェクト指向」といった言葉にビビる必要はないし、「オブジェクト指向とは何か」という論争に参加する必要もない。自分にとって必要なことを、必要になったときに学べばよいのだ。