新しいものを表示

変数(と関数)、電卓渡して計算させるってやり方でも教えられそう?><
人間関数みたいなお遊び><

話広がってったけど、元々の「変数わからん」がどうわからんだったのかわからん><

「どっかの誰かが作った俺ルールだよ!><」はよく言うようにしてた><

orange さんがブースト

計算機科学の少なからぬ部分 (特にプログラミングそのもの) は自然科学ではなく人工科学なので、「ただあるものを観察し理解する」姿勢だけではなく「そのように定義された理由や都合を推察し理解する」というフェーズは結構大事だと思う (知らんけど)

orange さんがブースト

だから「○○なコードは『意味がないから』禁止されている」というのはナンセンスというか因果が逆で、「特定のプログラミング言語において○○なコードは『意味が割り当てられなかった』」という説明になるべきなのよね、本来は。
人間が言語を設計するときに「意味を割り当てなかった」理由として、不自然だからとかややこしいからとか、そういう人間サイドの思惑がある。

スレッドを表示

「一意か?」みたいなあれだよね><

orange さんがブースト

たとえば 0 + "12" が 12 になろうが "012" になろうが "12" になろうが "0" になろうが 1 になろうが、そこに一貫した理屈を与えることはできる。
問題の本質は「人々が直感で想像する結果が共通であるか」ではなく、「特定のコードについて特定の挙動が自動的に導けるか」であって、それこそがプログラミング言語がセマンティクスを必要とする理由なので

スレッドを表示
orange さんがブースト

初学者に教えるかはさておき、「セマンティクス」という概念がもっと明示的であるべきだとは常々思っています

ていうか、オレンジ方式だと「型推論はゴミ!><」という持論の押し付けも出来る><;

それもあるけど、教える場面で型推論使っちゃ駄目だと思う><;

orange さんがブースト

おぼえないから hoge = let 100 とか書き始めるよ

orange さんがブースト

let hoge = 100
Rustだとすごく簡単!!! みんなRust書け!!!!!!! んで苦労しろ。

ていうか、段ボール箱で変数説明して型システムがなんであるかの説明もするのも問い詰め方式だね><;

orange さんがブースト

不快な思いをしないのがいい授業なのです.彼らにとっては.

難しいことや覚えることがある授業は「クソ授業」なんです.

orange さんがブースト

たぶんうちの学生のばあい,問い詰めて教えてその場ではできるようになっても次の週には忘れているか,来なくなりますよ(白目)

あと、動的型付け環境のみで育っちゃった人って
mstdn.nere9.help/@orange_in_sp
これ理解してない人わりと多そう><

こういうのも一対一で教えるのであれば問い詰められるから楽だけど、一対多は大変そう><;

orange さんがブースト

プログラミングの授業が始まって1年後のペーパーテストでコレを出してみると2割くらいがまともに答えられない.

↓みたいな実にバラエティに富んだ答えばかりで涙が出ますよ.

int[] hoge = 100;
hoge int = 100;
hoge int = [100];
int (hoge = 100);
hoge = new int(100);

スレッドを表示
古いものを表示
:realtek:

思考の /dev/null