#はじめに
これは,中学生プログラミング初心者がC++を望洋本で学ぼうとしたときの挫折記録である.
現在筆者はC++,Java,Python,JavaScript,HTML/CSSなどを習得.
経験から一般法則を導き出そうとする帰納法という魂胆.
私は中学校からプログラミングをはじめましたが,すべて実体験です.
#当時の開発環境
○PC……Windows8 Dynabook(TOSHIBA)
○CPU……Intel Corei7
○メモリ……RAM 8GB
○グラボ……オンボード
#C++を選んだ理由
##ゲーム開発に優れている
そう,私はDirectXを使ってゲーム開発をしてみたかった.
MMORPGを一人で開発してみたいなどと,今では全く思わないような無謀なことを考えていた.
そのため,
などといったまさに技術書を買い漁っていた.今思えばとんだ散財だったと思う.当然,本が劣っていたのは本ではなく,私の頭だ.
塾が個人塾でパソコン使い放題だったので,ろくに勉強もせず先生にDirectXのリファレンスページの和訳を補佐してもらっていた.
##遅いが速い
遅いというのは習得までが遅いという意味であり,業界のスピードスターである.
私も玄人向けの高速言語というところにひかれ,まんまとその罠(もともと仕掛けられてもいない)にハマってしまった.
#中学生,望洋本を買う
「プログラミングを始めたい」.筆者は中学生の時に初めてそう思った.理由はなんとなくかっこよかったから.
プログラミングを職業にしたいと考えてなどいなかった.
そんな私はノンプログラマーの両親に市内の大型書店につれられ,プログラミングコーナーへと直行.
そしてプログラミングコーナーで大きくC++と書かれた場所でこの本に出会う.↓
C++を選んだ理由は上記.
私が買った当時は第2版だった.
選んだ理由は解説がとても詳しそう.今でも一部を覗いてその思いは変わらない.
#最初の挫折
List1-1.「まずは画面に表示」とうたった最初の章で,以下の言葉にである.
「コンパイルの手順やプログラムの実行方法は処理系によって異なりますので,マニュアルなどを参照して作業を行いましょう」
ちょっと何言ってるかよくわからない.
当時全くの初心者だったため,コンパイルと処理系がわからなかった.
そのため,「コンパイル」と調べてみたところ,
「プログラムのソースコードをコンピューターが実行可能な機械語に翻訳すること」byコトバンク
やっぱり何言ってるかわからない.
ソースコードの説明はあったため,機械語について調べてみるも,なんだか怪しげなやばい言語としかわからなかったため,諦めて「処理系」を調べてみることに.
「コンピューターのプログラミング環境のこと」
あ,そうなの...
結局,「コンパイラ C++ おすすめ」で調べることを思いついたのは,3日ほど後だった.
#次の挫折
C++の挫折ポイントは複数あるが,私が中でも強調したいのはこちら.
「おもしろくない」
そう,テストプログラムはちっとも面白くない.
ポインタなどの説明は面白く,配列が腑に落ちた部分が多かったのだが,一番はこれだった.
結局,ポインタを学び終えて文字列への接続あたりで止めてしまった.
#クッション
当分C++などやる気にはなれなかった.
しかしプログラミングを諦めるのは嫌で手にとったのはなぜかこの本.
超入門シリーズはどこらへんが神かというと,初心者でも面白いというところを一番に強調したい.
とにかく面白かった.
簡単なRPGを作るところは特にハマり,後に重要な,「エンジニアの知的生産術」の言葉を引用すると「実践」となる,「プログラムの自作」をすることができた.
そしてプログラミングの面白さを思い出し,現在ではちゃっかり望洋本の上級編まで終わらせている.
#まとめ
##C++望洋本の対象とは
○プログラミングの初心者ではない人
○例題が面白くなくても忍耐力のある人
○コツコツ学べる人
○超重要な基礎を本格的に網羅的に学びたい人(オライリーで代用可)
である.
まずC++といえばコンパイラ言語,とスラスラ分かる人でなければ難しいだろう.
##おすすめ入門本
その上でおすすめしたいC++の入門本がこちら.
「やさしい」と聞くと「やさしい理系数学」のように胡散臭いと思ってしまいがちだが,これは本当に優しい.
Visual Studioの導入から本格的に説明しているからだ.
しかし個人的には,g++を使ったコンパイルをおすすめしたいと思う.
要するに,
「C++望洋本はプログラミング入門者向けではない」