| Top Page | プログラミング | PIY 目次 | 前へ | 次へ |
プログラミングの勉強をはじめるには何が必要?
プログラミングができるとなにかと便利そうだからというだけでなく, このデータを処理してこんな計算をしたいとか, こんなモデルを作ってシミュレーション計算をしたいとか, 具体的な目標を持って勉強を始めると効率がよいようです. 勉強の励みになるのはもちろんですが, 個々の学習事項が,目標とするプログラムのなかでどのように利用できるかを いつも念頭におきながら勉強することで,頭に入りやすくなります.
また,教科書を全部勉強して理解してから 最終目標のプログラムをいきなり作りはじめる, というやりかたは往々にしてうまくいきません. 教科書を途中までを読んだところで,ここまでの知識で最終目標のプログラムの この部分だけは書けるなと思ったら,すぐに試してみましょう. これで,そこまでの学習内容が「使えるもの」になります.
プログラミングは自分で書いて動かして悩みながら身につけていくものです. 自由に使えるコンピュータを一台確保しましょう.
最初に勉強するプログラミング言語として第1章でお薦めしたもののうち Perl と RubyはもともとはUNIX系OSで動作するものが作られ, その後 Windows のいわゆるDOS窓へも移植されています. UNIX用とDOS窓用はほぼ同じように使えます.
Windowsをお使いの場合,DOS窓の使い方の知識は必須です. リンク集の,プログラミングの道具などのページの, WindowsのいわゆるDOS窓の使い方 のセクションに,関連情報へのリンクを集めてあります. バッチファイル,標準入出力,リダイレクト,パイプと言われて ピンとこない人は,ぜひ見てみてください.
UNIX系OSで,X Window system を動かしている場合, Perl や Rubyは kterm などの仮想端末で使うことになるでしょう. シェルの使い方の基礎の勉強が必要です.
処理系とは何かについては前の章で簡単に説明しました. 自分の使いたい言語の処理系を用意しましょう. ネット経由でもらってくる,書籍の付録のCD-ROM を利用する, 売り物の場合は買ってくる, などの方法があります. 最初は CD-ROM付きでインストールの仕方の解説もついている本を買ってくるのが 安心かもしれません. ネット経由で無料で入手できる Perl,Ruby, Python, C++, Delphi の処理系の 情報へのリンクは, リンク集:プログラミングの道具などのページの, フリー開発環境 のセクションに集めてあります.
※「フリーのソフトウェア」の簡単な説明が Vectorの フリーソフト・シェアウエアの基礎知識 にあります.
エディターとは,文字飾りだの書式情報だのなしのテキストファイルを編集する ソフトです.いわば簡単ワープロのようなものです. プログラムのソースコードは,ふつうエディターで書きます.
Windowsならメモ帳というエディターがついてます. UNIXなら vi というエディターがほぼ必ず入ってますし, emacs系の高機能エディターもあります. エディターがなくても,ワープロで書いてテキストファイルとして 保存するという手もあります. ただし,作業効率は,プログラミングを支援する機能を持ったエディターを 使うのが一番です.
エディターにもフリーのものやシェアウエアがいろいろあります. エディターの情報は, リンク集の エディターなど のセクションをご覧ください. 「プログラミングを支援する機能」とはなにかついて書かれたページもあります.
開発ツール一式装備の処理系の場合は,専用エディターもついてるのが普通です.
ネット上にもいろいろ情報はありますが, まずは本で勉強をはじめるのが常道でしょう. よく使われているプログラミング言語の解説本はたくさん出版されていて, どれを買ったらよいのか迷ってしまいます. 本屋で見比べたり,ネット上で情報を漁ったり,人に聞いたりして よさそうなものを探しましょう (> 私見で選んだ 参考書・参考ページのリスト .ご参考まで).
ところで,同じ言語の本でも一冊一冊書き方も違えば載っている情報も違います. 一冊選んで勉強を始めたあとでも,書店で他の本をパラパラ見て, 手持ちの本にないが役に立ちそうな情報があるとか, もっと分かりやすく説明されてると思ったら買ってしまいましょう. 少なくとも数冊は揃えるつもりでいましょう.
プログラムの学習には時間がかかります. それなりの時間をとる心づもりをしておきましょう. 本屋に並ぶ「3日で分かる○○」とか「一週間でマスター:△△」といった 書名を真に受けないように(>参考: プログラミングを独習するには10年かかる ).
ではどのぐらいかかるのか. 大学院の学生で学位論文というタイムリミットがある,といった場合には 切実な問題ですね.最後にモデルを作って全体をまとめるという構想をたてて, プログラミングの習得が間に合わなかったら大変です.
人によって学習速度は様々で一概には言えないのですが, ある程度の論理性と凝り性的性質があり, 推理と実験を厭わず,創意工夫を楽しむ心があれば いくらがんばってもダメということはまずありません. まったくゼロからのスタートでも,集中して勉強すれば1,2週間で 数十行程度の小さなプログラムを自分で書けるようになり, 1ヶ月もがんばれば数百行ぐらいのプログラムに到達します (ただし,いろいろな意味で改善の余地があるプログラムであることがふつうですが).
勉強するときはある程度まとまった時間をとりましょう. 週に1日か2日ずつではなかなか身につかなず,なるべく毎日勉強したほうが よいのは外国語学習と共通です. でも,外国語と違って,毎日15分づつの勉強ではなかなか進みません. 悩んで,試行錯誤して,やっと分かるというサイクルを繰り返しながら 理解は深まります.悩んだり試行錯誤したりするのに15分では短すぎます.