2014年1月1日水曜日

プログラミングに初めて独学で挑戦しようとする人が挫折する理由(私の場合)

問題1:自分が作ってみたいプログラムに必要なことが全て書かれている資料がない

世の中には、本やインタネット上含めて、様々なプログラミングに関する資料が出回っていますが、どれもプログラミング言語の文法の解説に終始していたり、ごく簡単な動作を実現するプログラムを例示しているだけのものがほとんどです。
中には1つのツールとして完成していて、コピペすればそのまま使えるソースコードを載せているものもありますが、それらとて自分が作りたい思い描いているものとはどこかが違うのです。違うからこそ、自分オリジナルのものを作りたいと考え、プログラミングを覚えたいと考えるはずです。
ですから、自分の理想がすでに形になっているものはこの世にはない、と割り切れるのに時間がかかります。

問題2:プログラミング言語の習得と実際のアプリケーション開発の間を埋める良い資料がない

プログラミング言語を覚えるための資料はたくさんあります。最近ではCodecademyのような、オンラインで、無料で、インタラクティブに学べるサービスもあります。Codecademyは、英語に拒否反応がなければとても良い教材だと思います。日本語化も少しずつ進められているようなので、今後より多くの人が利用するようになるのではないかと思います。
Codecademyの良い点は、文法だけでなく、応用例として簡単なアプリケーションを作ってみるレッスンも用意されていることです。これをやってみると、実際のアプリケーションに文法をどう適用するのかがわかりやすくなります。
しかし、それでも実際に作ってみたいものとのギャップは大きく、どうすればよいのか路頭に迷うことになります。(私はCodecademyでPythonのレッスンを全て終え、加えてPythonからのNHTSAのAPI利用についてのレッスンにもトライしてみましたが、やはりよくわかりませんでした)

問題3:どんな言語を覚えればよいのかわからない

世の中を見渡してみると、プログラミング言語は本当にたくさんあります。私もWikipediaのプログラミング言語一覧を見て驚きました。聞いたこともないものばかりです。それでも、C,Visual Basic,Ruby,Python,Java,JavaScript,PHP,Perl,FORTRANなどはよく耳にするほうでしょうか。また、iPhone用アプリ開発にはObjective-Cという言語が使われているはずです。とにかく、目的に応じて様々な言語が作られ、また派生しており、何を選べばよいのか、素人には皆目見当もつきません。逆に、何を作りたいのかがはっきりすれば、使う言語も決まってくると言えますが、その「何か」を表現するのが難しいと感じます。

問題4:言語を覚えるのに何から手をつけてよいかわからない

図書館や本屋、インターネットを検索すれば、使いたい言語について書かれた本や情報は何かしら見つかります。しかし、本当に本当の初心者が初めから独力で読み進めて、本来の目的のものを完成させるのに適した資料はないと思います。

言語というだけあってそれぞれ文法があるため、文法を解説した本やサイトは数多く見つかりますが、その言語を使って何ができるのか、を書いたものは比較的少ないです。もちろん、具体例から入っていく解説書もありますが、それらの例が自分自身の直面している課題と少しでも違っていると、途端にわけが分からなくなってしまう、というのが実感です。何しろプログラミングのことを何も知らないわけですから、プログラムのどの部分が何を意味しているのかが分からないわけで、応用が効かないからです。 そのため、とりあえず一通り文法を覚えようとするか、具体例のプログラムを書き写してみて動作を確認してみるか、の2通りになります。
そういう意味ではCodecademyは良いと思いますが、問題2のところでも書いた通り、教材と現実の差が大きく、先へ進めないことになり、問題1に戻るわけです。 

0 件のコメント:

コメントを投稿

SyntaxHighlighter