><https://twitter.com/orange_in_spacehttps://pawoo.net/@orange_in_space
もっと初歩の「配列ってなに?」とか、「再帰ってなに?」とか、そういうの><BASICでは困難だけど無理矢理みたいな物は無かった気がする><(スコープが無かったのはマズかったと思うけど)
それってつまり実際には「低級言語であるがゆえの特有な困難」に対処する必要があったということでは?
設計もそうで、小学校低学年の子が日常的に実用的な設計する場面って、他に何かある?><マインクラフトとかで遊べば代用になるかもだけど><
少なくともBASICでプログラミング独学が当たり前だった頃の小学生は、小学生だけど多次元配列は頭のなかに概念として持ってた>< ゲーム作るのに必要だから><;多次元配列をいま学ぶとしたら、どのくらいの年齢で学べる?><プログラミングを先に独学で学べる環境にはそういう強さがあるよ><
説明難しいけど、当時のBASICのコードは今どきのLLなコードみたいなものでは無いし(超説明難しい><;)、ものすごく図を多用してどういうモデルで物事を考えるのかを教える形態のが多かったかも><数ページでひとつの実用的な題材なソフトウェアのコードが書かれていて、どうしてそういう風にするのか? を解説してる感じ><
モデルがあったとして、それを適切な (意図した、あるいは目的に合致した) 抽象レベルで表現できるというところが特に初学者向けの道具として良し悪しを決める性質だと思っていて、 BASIC はその性質がなさすぎる
むしろ「少ないプリミティブな道具であらゆる概念を表現しようと試みる」というのは難読言語や極端な低レイヤーのアクロバット的なやり方であって、プログラミング初学者が注目すべき範囲かは大いに疑問です
だから、それって小学校低学年の子が独学で学べる事が一般的であるほどの事なの?>< 低学年の子が独学でBASICでプログラミングは、少なくとも漢字まともに読めない子向けの入門書が山ほど存在した程度には一般的な事だったんだよ?><
たとえばλ計算とかを考えてほしいんですが、あれってプログラムというより算術式の拡張なんですよ。 BASIC やその他言語みたいな手続き型プログラミングを一切知らずとも、さんすう・中高数学の自然な拡張として (チューリング完全な) プログラムという概念を生やすことができる。正直言語のチョイスなんてどうでもよくて、現実や情報に規則やモデルを見出して、それを表現したくなって、プログラミングという手段を獲得する、そこまでの思考過程を自分の中に得られるかというところが一番重要
型システムも、不十分とはいえ「文字列と数は違うものなんだよ! 文字列は名前の後ろに$がついてる物に入れようね!!!」という極々極々初歩の「たしかに文字と数は別々の扱われ方されないとまずいね><」って点だけはBASICの子供向けの入門書でも教えてた><
行列を学ぶ前でも当たり前のように多次元配列を使ってプログラミングしてたし、むしろ「行列ってなに? 配列変数の事?」みたいな感じかも><
BASICでゲーム作れても平仮名習得程度はその通りだけど、BASICで独学でプログラミングするのが当たり前だった頃は、抽象化して物事を考えることとか『ほんとは数学だけどそんなこと知らないけど必要なのでいま作ってる身につけるプログラミング特化の数学的概念』を独学するのはなにも珍しい事じゃなかったかも><教えてくれる人なんていなかったし><
文脈を戻すと、「十分な自然言語の能力も持たぬ子供に抽象化や記号的思考を教えるのはあまりに無謀だし、そこを誤魔化しても得るものがあまりなさそう」という話でした
BASIC が理解できて当然の水準のその上に、めくるめく抽象化の世界が待っているわけで。たとえばハーバードアーキテクチャのサブセットみたいな仮想機械の動作を追えるだけでプログラミング教育と称するくらいなら、数学と科学に力入れた方が1024倍マシ
もっと別の言い方をするなら、 BASIC なんて平仮名が書けるレベルの知識であって、それは「日本語で考える」とか「日本語を理解できる」には到底及ばないレベルの基礎の基礎でしかない。平仮名と数字だけが読める小学生がいたとして、契約書や論文を平仮名で書き下されたからといって理解できるわけではないようなもので。
もう打ち上げライブ全然見てない><
ものすごくあちこちの打ち上げライブ見まくったオレンジ的にはJAXAの打ち上げライブってFMラジオ番組かよって感じで酷い上に、英語圏へも映像と音声を一部提供する国際映像の面もあるのに、それでも日本語でお手紙紹介とかするから酷いイメージ><アリアンスペースを見習うべき><アリアンは、ちゃんと情報を伝えることをとても重視してるし、紹介ビデオを流す時でもテレメトリ等を出し続けるとか、そういう工夫をしてるし、フランス語と英語バラバラのチャンネルで流してる><
JAXAの中継のチャット欄、ちょっと荒れてるけど、JAXAは初心者向け、NASAは中級者以上向けって感じかな。
「こうのとり」9号機/H-IIBロケット9号機打上げライブ中継 https://youtu.be/3lBZVNwK6ao
寝ないといけないんだけど寝れないのでこれ見てる。
今さら行番号付きBASICを使えとは言っていない><;入門書がよくないし、対象の言語の選定もPythonやらRubyやらを選択するのは間違いなのではって気がしてる><(子供向けのRubyの入門書を実際には読んでいないのでフェアではない意見かもだけど(なので"気がしてる"><;))
思考の /dev/null