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

http://ufcpp.net/

Hello, Worldの次は何書く?

leave a comment »

こんなの見かけた → http://d.hatena.ne.jp/mzp/20090114/snd

自分だったら何を勧めるかなぁ。

まあ、プログラミング自体が初心者の人の場合と、プログラミングできる人が新しい言語に手を出すときとで事情は変わると思いますが。とりあえず前者の想定でいくとして。

++C++; の C# 入門の場合には、「まず、変数とは・・・」って辺りからものすごい細かく順を経て書いてる都合上、ユーザーからの入力のオウム返しとか四則演算が最初ですけども。もうちょっと一足とびに教える場合には何にしよう。

とりあえずリンク先の記事に挙がってるものだと・・・

  • 再帰: これはないよなぁ。SchemaとかCamlを始めるのでもなければ。
  • クラス: これはありだとは思うんですけど、あんまり一足とびにできるものでもないんですよねぇ。まずデータの構造化を教えて、実装の隠蔽(カプセル化)を教えて、継承を教えて、抽象化を教えて・・・。
    • 自分としては、++C++; で使ってる複素数、図形(四角、三角、円、etc.)、人(年齢答えさせて、正直ものとか嘘つきとかで多態性)辺りは結構気に入ってるんですけども。
    • ただ、複素数は文系の人からはかなり不評。
  • パズル: これはかなりいいと思う。パズルは解いてて楽しいですよ。
    • SEND+MORE=MONEYは総当たりだと簡単なんですけどね。それでも十分ではあるんですけども、確かなんたら計画法の類で最適な解放があった気が・・・とか考え出してしまったり。
    • 数独はHello, Worldの次にするにはちょっとレベル高すぎるんでは。パズル好きな人にとっては楽しいテーマではあると思いますけども。
  • アルゴリズム: アルゴリズムは立ち位置難しいなぁ。プログラミング言語の種類によらず、基礎中の基礎ではあるんですが。それゆえに、アルゴリズムはアルゴリズムで別にしっかり勉強してほしいというか。
  • GUI: まずGUIでHello Worldじゃなくて?
    • 空ウィンドウ表示はVisual Studio使ったらプロジェクト作った時点ですでに完成してるんですが・・・。
  • コンパイラ: これもないなぁ。最初からコンパイラに興味がある人はどうぞ。
  • 書かないよ派
    • ++C++; の奴はこれかな。最初の課題がHi, #{name}だし。
    • 何か興味のある面白いテーマがあるなら、最初から本番でいいんですけどね。初心者でも書けて、かつ、面白いテーマがあるなら。

文字列処理とかも挙がっててよさそうだけど、ないですね。

あと、経験ある人が密に指導できる状態なら、ゲームとかもいいんじゃないかと。ちょっと前に、プログラミングの勉強中の人に「クローリアンのクローン作ろうぜ」とか「Silverlightで○キサイトバイク作ろうぜ」とかネタ振ってみたら、意外といいペースで勉強進んでました。まあ、割と頻繁に様子をうかがってあげないと流石に無理そうでしたけど。

そういや、自分がプログラミング始めた時は何書いたかなぁというのをちょっと思い出してみる。確か、最初の方に書いたのは・・・

  • ラインアート
  • リサージュ曲線を出す
  • 球体の衝突(弾性衝突とか、逆二乗引力で引きあうとか)
  • 波の干渉縞を出す

ラインアート、PC98でDOSでQuick Cでしたよ。ラインアートはWindows FormsでもWPFでも書きましたね。新しいGUIライブラリを試してみるときとかにはいまだにやります。

後ろの2個は、プログラミング始めたのが高2の時ですもんねぇ。物理習いたて。リサージュ曲線も、まあ、三角関数とか媒介変数表示とか習いたての頃。多分、大学からプログラミング始めてたら、フーリエ級数の収束の様子を可視化したりとか、ローラン展開使った関数の近似値計算とかやってたと思います。

Written by ufcpp

2009年5月5日 @ 09:38

カテゴリー: 未分類

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中

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