質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.93%

サンプルコードは解説を読んでから書くか、書いてから解説を読むか

解決済

回答 6

投稿

  • 評価
  • クリップ 1
  • VIEW 1,496

hello_world0

score 28

本によってやり方が違うので困っています。
サンプルコードを先に書いて実行結果をみてから解説というやり方と、解説をしてからサンプルコードを書いて実行結果をみるやり方があって、どっちのほうが効率いいのかわかりません。その本に合わせたほうがいいのか、それともどちらかのやり方で統一したほうがいいのか教えてください。また、統一したほうがいい場合はどちらがオススメでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 6

checkベストアンサー

+5

どっちのほうが効率いいのかわかりません。

まず、効率よく学習するには、単純に単位時間当たりの作業量を増やせばよいです。
たとえば、速読術とまではいいませんが、できるだけ速く読めばよいです。
また、タイピング→コード実行する速度を上げればよいです。
これらを行えば、どっちを先にしても効率は上がります。

次に、効率よく理解する方法ですが、これについては万人に効く一般的な答えは多分ありません。
ただ、あえて挙げるとすれば学習中に「いま理解したことを人に説明できるか?」と自問してください。
もし説明できないならそれは理解できていないので、復習します。
またさらに実際に、得た知識でteratailや知恵袋などで回答してみてください。
もし間違った答えをすれば容赦なく突っ込まれますが、経験上、失敗や痛い思いをするとよく覚えます
(まれにそうじゃない人もいるようですが)

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+5

サンプルコードは解説だけでは具体性に欠けるのを補うためのものです。
解説はサンプルコードだけでは応用が利かないのを補うためのものです。
同時に読んでください。

ちなみに、同時に読めと言うのは、全ての文字を同時に視界に入れて瞬時に処理することではありません。
全体を要約しながらざっと見渡し、重点箇所には時間をかけ、続きがあるなら続きを読みつつ、わからないところは戻って……ええい!本読んだことないのか!それともN88BASICなのか!

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

どちらがよいということはないです。

例えば、C言語で有名なhello world。これくらい単純なコードであれば「さぁ、XX言語の雰囲気を見てみましょう。手始めに次のコードを見てください」という感じでhello worldがきます。
文法とかわからない状態でこれをみても「なんとなく雰囲気がわかればよい」という感じですね。詳しい説明はその後でも構わないのです。

一方、複雑なサンプルだと、いきなりコードを見てもチンプンカンプンだったりするでしょう。なので多少なりとも頭に入ってくるように「導入部」あるいはそのプログラミングで必要となる概念を「前提知識」として先に提示しておいたほうがいいと書き手は考えるわけです。それらの仕込みを終えてから初めてサンプルを見始めるわけです。

どっちがいいかをそう堅苦しく考える必要はありません。本にhello world的に提示されているものだって、先に解説を読んでもいいですし、前置きが長いものをすっとばして先のページにあるサンプルコードをちょこっと覗いてみたってかまわないのです。前者はより知識が少ない状況では有効かも知れません。後者は「本に何が書いてあるかおおまかに推測できるぐらいの知識をもった人」向けの方法です。

あなたがそれまで身に着けた知識・経験などによってどうアプローチすれば一番早くわかるかは変化します。それに応じて本の読みかたも変えてよいです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

どっちでもいいんじゃね?
ページタイトルだけ面白そうだから、先にサンプル実行してみよっ、て時もあるでしょうし、なんだか難しそうだから先に解説を読んでみよう、というときもあるでしょうし。
やり方に縛られないで、もう少し柔軟な頭じゃないとプログラミングはできませんよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

人それぞれです。少なくともその本とやらを書いた人は
そちらの順序の方がいいと思って書いています。

現実で、あなたを見ていて、人となりを知っていれば
いい、アドバイスができるかもしれませんが。
お答えできるのはここまでです。

しかし、Rubyという言語に関して言えば
パッと書いてさっと動かして使って見て、
直しながら走ることも可能な言語です。

書いてみて動かしておおーってなるのがいいのではないでしょうか

こんなことをいっては怒られるかもしれませんが
IBMの技術者がひたすらメモリの呼び出し位置を合わせていた時代と違い
現在プログラミングは道具です、手段であって目的ではない。
(就職目的なら選ぶ言語を再考して見ては)

hello_world0様の前の質問にもございましたが、作りたいものがあって。
それを作るために試行錯誤していくことが、一番の上達の早道でしょう

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

私はサンプルコードを先に用意する派ですね。

解説見ながら理解を深めるために、コードの一部を変更してみて挙動を確認したくなることがよくあります。
写経が終わってないと、その衝動をしばらく先に延ばさなければならないので、モチベーション維持の面で効率的でありません。

ステップ実行できる環境で、写経を済ませ、解説をよみながら動かしてみるのがオススメです。

あと、写経って書きましたが、正直手を動かさなくてもイイんじゃね?派でもあります。サンプルコードが媒体や Web 上で入手できるのであれば、そちらを使用してしまいます。
挙動を見て、変化を楽しむのが目的なので、私としては「今は」このやり方が1番合ってます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.93%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る