読者です 読者をやめる 読者になる 読者になる

許せるウソと許せないウソ

C++

ってのがあると思うんですよ。
弟の授業のプリントを見て、それはないんじゃないか?と思った点がいくつかあったんですけど、その度合いは個人によりかなり異なると思うんで、あくまで参考意見ということで。

C++とOOPLの説明

C++言語
プログラミング言語
C言語から派生した言語, オブジェクト指向プログラミングをサポート
オブジェクト指向
プログラミング技法
共同作業や再利用が容易なため, 大規模なソフトウェア開発では主流の考え方

C++については許せるレベルだけど*1オブジェクト指向が・・・
オブジェクト指向プログラミングだけしか言及していないのがまず許せない。
あと、オブジェクト指向じゃなけりゃ共同作業や再利用は容易じゃないってのは間違いでしょう。
むしろ似非オブジェクト指向されると再利用性なんてすさまじいことになりますよ。
共同作業のしやすさは環境により決まるし、再利用が容易な部品*2についてはもう作る必要がないくらいになってると思う。

文、コメント

文(statement)
プログラムの処理の単位, 最後に;(セミコロン)をつける
インデント(indent)
コード中で字下げを行うこと, コードを読みやすくする
コメント(comment)
// ここからその行の終わりまでをコメントとする
/* … */ かこまれた部分がコメントになる

コメントが説明になってねー!
いや、多分口頭では説明したんでしょうけどね・・・多分。


それより、文の説明はやばい。
forやifは文じゃないんですか?いや、こうしろと言う事か。

for (int i = 0; i < 10; i++) {
};

おぉ、これでdo-whileの説明が楽になりますね!
・・・いや、絶対違うけど。

文字型 char 1バイト
整数型 int 4バイト
浮動小数点数 double 8バイト

・・・
C++ですよね?ここはきちんと教える必要があるのでは?
あと、宣言と代入は教えているけど、初期化に関する記述がないのもどうかと思う。

式と演算子

演算子 演算するもの 式「1+2」の演算子は「+」
オペランド 演算の対象 式「1+2」のオペランドは「1」と「2」
評価 式の値 式「1+2」は評価されて値「3」になる

名詞と動詞が混ざってるのはまぁ置いといて、演算子ってそれ自体が演算するものなのか?なんかよくわからん。

代入演算子

a += b;     a = a+b; と同じ処理

それは複合代入演算子です。

演算子の優先順位

優先順位が同じ場合「左から順に」計算する(左結合), 代入は右結合

これは許せる。他にも右結合の演算子がある、と口頭で説明してること前提で。



そうそう、条件演算子を条件演算子として教えていたのは評価できる。
あと、条件演算子の優先順位はとても低いことを教えていたら完璧。

// エラー
std::cout << a < b ? a : b << std::endl;

*1:Simula完全無視とか、OOPだけ言及してるってのは許せる

*2:あくまで部品レベルの話