アプリ版:「スタンプのみでお礼する」機能のリリースについて

プログラミング言語を勉強し始めました。

基本文法を覚える段階ならば、紙のノートにソースを丸写しする方が覚えるでしょうか?

A 回答 (3件)

んー、個人的には紙のノートにソース丸写しとかやっても意味が無いと思います。


もちろん #1 氏の言う通り、「人に依る」でしょうけどねぇ。

ただ、「本を見てるだけ」ではやっぱダメで、例えばC/C++とかだったらエディタ開いて本に書かれてるコードを打ち込んで、ガンガンコンパイルして動作見てかなきゃダメでしょうねぇ。
プログラミングは「本眺めてても(めったに)身につかない」ってのだけは事実じゃないでしょうか。
(中にはそういう人もいるみたいですが・笑)
これはC/C++に限らず大体そうだと思います。

あと、文法・・・文法つったって大雑把なんですが、基本的に大まかには、プログラミング言語には3種類の「構文」しかないんですよ。

1. 逐次実行
2. 条件分岐
3. 繰り返し処理

の3つだけ、です。
んで、プログラミングある程度慣れてくると1番目の「逐次実行」ってのは全員了解している。
逐次実行ってのはクソ難しい言い方ですが(笑)、要するに、

文A;
文B;
...

って並んでた場合、プログラミング言語上では基本的に、この順番通り、つまり、A->B->....の順序で実行されます。決してこの並びでBがAより先に実行される、とか、あるいはAとBが「同時に」実行される事はありません。
特に、昨今のコンピュータだと、「ブラウザ見ながら同時に動画再生する」とか、「ゲームやりながらメールチェックする」とか当たり前に出来ちゃうんで、初心者的な勘違いで、

「プログラミング言語でも"同時に"色々な事が起きるんじゃないか?」

って直感的に思ってるケースがあるんですが、そんな事はないんです。
この辺、感覚的には若い世代だと特に勘違いする確率が割りに高いんですね。
しかし、プログラミング言語では基本的には「逐次実行」が原則です。
この辺はホント、ある程度プログラミング慣れしてる人は皆了解してます。

そうすると、プログラミング慣れしてる・・・例えば普段は言語Aを使ってるんだけど、たまたま言語Bを使わないとならなくなった、とか言った場合、大体チェックするのが

☆ 文の区切りはどうなのか

です。C言語みたいな「文末にセミコロン(;)が必要なのか」とか、ですね。
まずそのへんチェックして、次に2と3を合わせた

☆「制御構文」はどんなものがあるのか

をチェックするんじゃないでしょうか。
大体プログラミング言語を使う際に、一番使う事になるのは当然「条件分岐」とか「繰り返し」なんで、そのへんを押さえる。Cだとif〜else if〜elseとかswitch文なんかの構文、あと、繰り返しだとwhileとかforとかdo while、とかですよね。
その辺どういうのを使うか把握する。
んで、そのへん分かれば、あとは「使えるデータ型を調べる」とかそんなカンジじゃないですか。構造体は使えるのか、他にもっと便利なデータ型は提供されてないのか、とかですか。
でもこの辺は実は「文法」じゃないですよね。

実際は他の機能(例えばCで言うと、印字するのにはprintfを使う、とか)は実は「文法」ではないんです。そのプログラミング言語でどういう「関数」とか「手続き」が用意されてるのか、って事なんで、ある意味それらは「構文」と言う意味では重要ではないのです(笑)。
(もちろんそれらは実用上は重要ですけどね)

まあ、いずれにせよ、皆参考資料見ながら「実際に動かしてみてどうなるか見てみる」ってのが一番多いんじゃないですか?
あんまノートだけ取ってプログラミング出来るようになるってのは・・・・多分殆ど無いんじゃないでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせて頂きます。

お礼日時:2016/07/28 18:50

なにも考えずただ「丸写し」するだけだったら時間の無駄だと思う.



「どうしてそのような書き方をするのか」「そのように書くとどのように動作するのか」を意識しながらなら「丸写し」でもいける... かもしれない.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせて頂きます。

お礼日時:2016/07/28 18:50

本人にとって覚えやすい方法や好みは違うので、各人次第。


・紙のノートにソースを丸写し
・PCにソースをタイプ入力
・ソースからフローチャートを作成
・ソースリストに解析した内容をコメント追加
基本文法を覚える段階なら、長いプログラムではなく、短い
サンプルプログラムの方が効果的。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせて頂きます。

お礼日時:2016/07/27 22:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!