++C++; // 未確認飛行 C ブログ

http://ufcpp.net/

IDE を使ったプログラミング学習

with 2 comments

C#のすすめ(まとめ編)を発端として twitter 上で起きたやり取り、まとめといた方がよさそうなんで発言をいくつか拾って残しとく。

学習効率に関して

まず、IDE 使って苦労せずに学習するってことの学習効率はいかがなものかという話題。

いや、あれほど完璧な学習ツールないですよ<インテリセンス。ゲームのチュートリアルみたいなもんですよ。マニュアルとか教科書なんてみんな見ないから。

Word の話でも書きましたが、マニュアルとか教科書とか読まないと使えないってのはその時点ですでにダメなんで。触りながら覚えられるってのは素晴らしいことです。

言語の学習って、まずは量だと思うので、苦労して鈍足で量を消化するよりも、IDEにおんぶに抱っこで高速道路を駆け抜けた方が効率良いと思います。IDEで書いてるうちに自然に暗記されますよ。

IDE 補助を受けながら自然に暗記。高速道路って表現いいなぁ。一時期、将棋で話題になってた単語ですけども。

苦労は買ってでもしろ

IDE を使うなんて、そんな楽をしていいの?みたいな話題もよく出ますよねぇ。でも、時代の進歩というのも考えて苦労を買わなきゃいけない。

昔と今とじゃそもそも注力すべきポイント違うんですよ。昔苦労した部分は今はさらっと流さなきゃいけない。その上で別の苦労をしなきゃいけない。

逆にインテリセンスが必要なくらいにライブラリーが充実しちゃっている言語の場合は無いと辛いですよね。逆に、そうでない言語なら入力しますけど、結局コンパイラに弾かれますし

今はもう、やらなきゃいけないことが高度な上に多くて、言語を覚えること自体に苦労してていい時代じゃない。IDE を使って楽するのが前提でも、その上でさらに多くの苦労が待ってる。「高速道路を走り切った先での大渋滞」ってやつですね。

だいたい、技術がどんどん進歩してるのに対して、人間って種には限界がありますからねぇ。

もっともっと学習効率あげてかなきゃいけないんですよ。人間って生き物の全盛期な年齢帯が変わるわけじゃないんで、より高度になれば、それを今と同じ期間で叩き込まなきゃいけない。

てか、数学でいうと、今もう教育課程の充実で、昔だったら超一流の数学者しか触れれなかったようなことを高校のたった3年で全部覚えちゃえるわけじゃないですか。が、逆に言うと、そのペースで学ばないと最先端の研究ができない。プログラミングもそういう状況だと思いますよ。

すでに結構苦しいレベルまで来てると思いますけどね。最先端の成果にたどり着くまでに、性欲的な意味でかなり減退してしまう30歳近い年齢までかかってしまうとか、もう生物学的に見て限界だと思う。

もっとも、効率をあげるだけじゃなくて、分業な方向で補っていく方向性もあるわけですけど。

既にそうですが一人ができる範囲、見られる範囲には限界があって、仕事自体がどんどん細分化して、レイヤリングされていくので、理解しなければならない範囲も狭くなっていくはず

IDE が必要というのがそもそも障壁

いまどき、「ダウンロードしてインストールしてください」って言われるとその時点で9割方の人が帰っちゃうわけで、IDE が必要ってのが一番の障壁なんですよね。ここだけは確かに C# はつらい。けども・・・

IDE自体が学習のためのツールでもありますからねぇ。IDEなしのプログラミング学習なんて絶対ありえないと思います。インストール自体が最大の障壁な問題はなんとかしないといけないものの…

IDE インストールするのって面倒くさい。でも、C# を覚えるためには必要。なら、覚えたいと言う動機付けをどうするか?、って考え方だったりします

対話的プログラミング環境

まあ、プレーンなテキストエディターで編集して直接コンパイラーたたくとかって選択肢は論外でいいと思うんですけど、ワンライナーで対話的にいろいろ結果が見えるタイプの言語と比べるとどうかなぁという話も。

ちょっと試して、すぐにレスポンスが帰ってくるような環境でないと楽しくないし、つらい。かつてのROMベーシックのように

今だと気軽に始める、変な話puts ‘Hello World’リターンですぐに結果が帰ってくる点で動的言語の対話環境っていいなって思ってます。small basicでもいいし

けども、そういいことずくめでもないと思うんですよね、ワンライナー環境。

対話型ウィンドウ内でインテリセンス効きまくるならそれでいいとおもうんですけどね。すぐに結果が帰ってくることよりも、タブなりCtrl+SpaceなりCtrl+.なり、何か押したときに次に何を打てばいいのか出ることの方が重要だと思います。

僕も最初、N88 BASIC触ってたんですけど、行番号にげんなりした記憶しかないんですよねぇ… 行ベースの対話的実行環境は、プログラムが5行超えたあたりから苦行な気が。

初心者のうちに変な癖をつけないってのも大事だと思うんで、テンプレも重要。何もないところから1行打つって操作がそもそもやってほしくない行動だったりするんですが。

昔は、単にディスプレイに好きなメッセージが表示できることで維持ができたのでしょうけど、最近のユーザーって、文字列が表示される程度のレスポンスでモチベーションが維持できない気がしますね

オンライン IDE

インストールが障壁なんだったら、オンラインでプログラミングできればいいじゃない。できるといいなぁ、という話。

http://www.coderun.com のようにWebアプリのIDEなら、学習者はIDEのインストールいらないでいきなりコード書けると思う。

coderunの応答性の悪さだと、まだまだダメですねぇ。Visual StudioのUIがSilverlight化でもしないと…。インテリセンスのためにはブラウザ内でC# コンパイラが走らないとダメですし…

(それを作るには)C# のコンパイラがネイティブな限り、そもそも無理。.NET 5で、インテリセンスコントロールみたいなの標準で入ってくれないですかねぇ…

ちなみに、「.NET 5 で」というのにはちゃんと理由があって、.NET 4 の次は 「C# コンパイラーを C# 自身使って書き直します」「Compiler as a Service を目指します」と PDC などのイベントで Microsoft が公式に言っていることなので。

Written by ufcpp

2010年3月25日 @ 09:36

カテゴリー: 未分類

コメント / トラックバック2件

Subscribe to comments with RSS.

  1. はじめまして。ロピタルの定理のトコから流れ着いた者です^^;初心者なのにIDEを使ってるって事にある種の罪悪感を抱いていたのですが、目から鱗でした。これからは堂々とIDEで学習することにしようと思います!

    卵白

    2010年3月26日 at 05:08

  2. IDE を使うことに罪悪感を感じる人がいるって時点で何かおかしいと思うんですけどね。ここで書いたような話、もっとアピールしていかないといけないのかもしれません。

    信之

    2010年3月28日 at 00:03


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。