><
はあ〜くそ
[板崎 裕@リアルソフト代表取締役 | Make Everyone HappyさんはTwitterを使っています 「社内チャットにおいて、 部下:直帰します! 上司:了解。 のような上司の返信の最後の「。」は部下を不安にするらしい。 「了解」の裏になにか意図を感じてしまうそうだ。 なるほどなーと、社内Slackの私の発言を読み返してみたらほとんど「。」で終わっていた。 明日から「!」や「〜」をつけようw」 / Twitter]( https://twitter.com/itasaki/status/1262733623356059650 )
Michigan floods: Evacuations after Edenville and Sanford dams breached - BBC News https://www.bbc.com/news/world-us-canada-52735170
あらまあ
米ダム決壊で数千人避難 新型コロナ感染懸念 車中で過ごす人も | NHKニュース
https://www3.nhk.or.jp/news/html/20200521/k10012438791000.html
ていうか、Spotifyの曲、全く売れて無い人のドマイナーな曲でもたまに消えるの謎><(消えてるの発見した><;)
愛のコリーダの原曲がSpotifyから削除されてる!!!!><;
(全部の曲取り下げじゃないし、もしかしてクインシージョーンズ版の関係者が無学にも著作権関連のクレーム出したとかかも?><;)
オーシャンゼリゼの原曲がいつの間にSpotifyに来てたの発見したのでみんな聞いてね><
https://open.spotify.com/track/23XYhgcYq4znU3sr3MpuTH?si=LGAyp06NRSqSdpboBoiMEg
もともとはイギリスの曲だよ><(原曲なのに再生数少ないよ><;)
人間以上に汎用に柔軟に対処出来るAI()が現れれば、シンギュラなんとかがあれだろうけど、少なくとも現在の見通しでは、AIはフレーム問題にうまく対処できず、フレーム問題が無いかのようにうまく手抜きしてごまかせる人間(一般化フレーム問題?)を超えることは、ほぼ不可能かも><
さっきの記事の指摘のように、特化形のものと汎用のものは根本的に異なるし、特化形のもので乗り越えるソリューションであれば、AI()が人間を越えるまで待たなくても既に機械は十分に人間より賢い><
ていうか、人間は低コストでより複雑な事態に対処するための柔軟な存在であって、柔軟に対応する必要がない場面では、人間、言い換えるとヒューマンファクターは、ヒューマンエラーを引き起こす危険な存在としてのみ存在することになる><
複雑な状況に柔軟に対処するように人間を使わないのであれば『無人化すべき』だし、人間を使うのであれば、そういう役割として活用するようにデザインすれば、人間により安全が実現できる><
(元ネタはFAAの研究に出てくる文章><)
このアカウントは、notestockで公開設定になっていません。
オレンジの脳内データモデルは、「世の中はすべて『機能』と『状態』の集合で出来ている><」なので、オブジェクト指向とかそっち方面に近い><(近いであって、純粋なアラン・ケイ流のとはかなり違う><)
話が飛びまくって、潜水艦は泳げるか?って言葉残した人って誰だったっけ?><; って、なってぐぐっておもしろそうな記事みつけた><
機能と手段:潜水艦は泳げるのか - シンギュラリティ教徒への論駁の書 https://skeptics.hatenadiary.jp/entry/2017/10/07/233814
Rust、オレンジが世の中を捉えてる脳内データモデルと一致しない点と、「これAdaの分野(ペンタゴン方面)も奪われそう?><;」(既にMISRA Cとかに奪われてます!)という点が、心理的に微妙><
正確には
「ホーホホッホー」って連続で鳴いてて
「ホーホホッホー ホーホホッホー ホーホホッホー ・・・・」
らしい・・・><
10 CLS
20 PRINT "FUGA"
ってBASICのコードに
「やっぱFUGAの前にHOGEを表示しよう><」ってなったとして
15 PRINT "HOGE"
って入力して
LIST
ってすると
10 CLS
15 PRINT "HOGE"
20 PRINT "FUGA"
コード表示されて、これだとキモいので
RENUM
って打つと、行番号を自動的に付け直してくれて、
LIST
でまた表示すると
10 CLS
20 PRINT "HOGE"
30 PRINT "FUGA"
になってる><
ていうか行番号の役割がそうだったという事自体が常識じゃないという事にいまさら気づいて時の流れの残酷さ・・・><
このアカウントは、notestockで公開設定になっていません。
(BASIC の行番号、結局あれはスクリーンエディタ的挙動ができないことに対する妥協の一種だったのではという気がしてきた、実際そうっぽそうな気がするけど)
こんな時間にピーチクパーチク鳴いてんじゃねえよ鳥ィ!!!
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
でもオレンジ的に今でもKiBは大きな単位だしMiBは大容量って感覚があるし、100MB近くメモリ使うと「メモリ使いすぎかな?><;」って感覚になる><
ていうか「ハードウェアリソースがカツカツな環境から学べ」だと「ハンドアセンブル!!!」とか、「百歩譲ってFortran77でも許してやる」みたいな事になっちゃうけど、そうはいってない><;
これはオレンジもそう考えてるし、ワンライナーとかも嫌ってるし、Cを嫌ってて微妙に巨大な「Adaすばらしい!><」って言ってる点でもあれだけど、それはそれとして必要最小限を見積もれる能力は、設計には必要な能力かも><
私は割と最近の人間なので、 (限度があるだろとは思うけど) 保守性の向上を極限パフォーマンスよりも優先するというのは基本的には望ましいことだと認識している
ある程度ガバガバでもいいのはあれだけど、日常生活でもお料理とかでの必要な食材の量とか、なんかお掃除とかの洗剤とかの量とか、一応そういう想定みたいなのに必要なスキルかもって思うかも><
これは工業的には必要なことだと思うけど、最適化は少なくとも起訴の抽象化ができた後の段階でやればいいじゃんという感想ですね
ちょうど両方の話にまたがるけど、物事を抽象化して考えて、必要なリソースを見積もりながら、設計する、見たいな事が学べるし、それは現実的に必要な事かもって思う><
必要なリソースを見積もれないのって、設計する上でかなりウィークポイントになるし、そういう意味では「ほんとにこれいるの? こんなにメモリ必要?」みたいに考えられなくなってしまうのは、悪い事かはわかんないけど「いい事」では無い気がする><
まあ、組み込み分野が「必要に迫られて」か「趣味で」しか手を出すものでなくなったというのはそうでしょうね。
少なくとも何かをしたいときのデフォの選択肢ではなくなった。
私はそれを悪いことではないと思っているけど
まあ遊びや簡易な説明としてやる分には使えるというのは否定しないけど。
ここで言う簡易な説明とはプログラミングについてのことではなく、簡単な抽象機械の動作を説明するときにアセンブリ言語として使えるという話
https://mstdn.nere9.help/@orange_in_space/104202171516752004
「小学生でもできるレベルのことは実は誰からも必要とされていなかった (が、当時それしかなかったので仕方なかった)」という現実が浮き彫りになっただけではという感想です
(cf. https://mastodon.cardina1.red/@lo48576/104202144587241954 )
いまだと、ハードウェア全部自分の下にあるような場面って、とても小さなマイコンのプログラミングの時だけだろうから、「やりたいこと」に対して必要なハードウェアリソースを見積もっていく体験自体が滅多に無くなった?><
行番号付きなクラシカルなBASIC最高とか言いたいんじゃ全くなく、少なくとも当時それで小学生ですら概念を色々学べていたのにいまそういうの(入門書等の周辺環境を含めた意味で)無いね><(PythonとかRubyとか微妙だよね)
って言いたい><
あのコードにのみに限って言うと、たとえば「処理する文字列に必ず判別用の文字列を頭につける(※1)」とかの安全策をしてないので動いていても直さなきゃいけない危険なコードの類いかも?><;
※1ってようは型システムの再発明だけど><
(とりあえず、あのコードの文字列でエラー返してる謎コードをなおすのやってみるべきだと思う気がしなくもなくもない><(エアリプ))
マインクラフトで小さい子が設計を学ぶの、不可能ではないし、例えば赤石回路使う装置を紹介するyoutuberの方々の動画とか見まくって自分でオリジナルの作るのとかは想定できるけど、
一方で、大人でもマルチで遊んでて家建てて飽きてネザーにすら行かず去ってく人が大半なの見ると、かなり難しそう><
(それ言ったらプログラミングしたくてMSX買ってもらったけど挫折してゲーム機にしちゃった1980年代の小学生みたいなものじゃんだし、あれだ・・・><)
もっと初歩の「配列ってなに?」とか、「再帰ってなに?」とか、そういうの><
BASICでは困難だけど無理矢理みたいな物は無かった気がする><
(スコープが無かったのはマズかったと思うけど)
それってつまり実際には「低級言語であるがゆえの特有な困難」に対処する必要があったということでは?
設計もそうで、小学校低学年の子が日常的に実用的な設計する場面って、他に何かある?><
マインクラフトとかで遊べば代用になるかもだけど><
少なくともBASICでプログラミング独学が当たり前だった頃の小学生は、小学生だけど多次元配列は頭のなかに概念として持ってた>< ゲーム作るのに必要だから><;
多次元配列をいま学ぶとしたら、どのくらいの年齢で学べる?><
プログラミングを先に独学で学べる環境にはそういう強さがあるよ><
説明難しいけど、当時のBASICのコードは今どきのLLなコードみたいなものでは無いし(超説明難しい><;)、ものすごく図を多用してどういうモデルで物事を考えるのかを教える形態のが多かったかも><
数ページでひとつの実用的な題材なソフトウェアのコードが書かれていて、どうしてそういう風にするのか? を解説してる感じ><
モデルがあったとして、それを適切な (意図した、あるいは目的に合致した) 抽象レベルで表現できるというところが特に初学者向けの道具として良し悪しを決める性質だと思っていて、 BASIC はその性質がなさすぎる
むしろ「少ないプリミティブな道具であらゆる概念を表現しようと試みる」というのは難読言語や極端な低レイヤーのアクロバット的なやり方であって、プログラミング初学者が注目すべき範囲かは大いに疑問です
だから、それって小学校低学年の子が独学で学べる事が一般的であるほどの事なの?>< 低学年の子が独学でBASICでプログラミングは、少なくとも漢字まともに読めない子向けの入門書が山ほど存在した程度には一般的な事だったんだよ?><
たとえばλ計算とかを考えてほしいんですが、あれってプログラムというより算術式の拡張なんですよ。 BASIC やその他言語みたいな手続き型プログラミングを一切知らずとも、さんすう・中高数学の自然な拡張として (チューリング完全な) プログラムという概念を生やすことができる。
正直言語のチョイスなんてどうでもよくて、現実や情報に規則やモデルを見出して、それを表現したくなって、プログラミングという手段を獲得する、そこまでの思考過程を自分の中に得られるかというところが一番重要
型システムも、不十分とはいえ「文字列と数は違うものなんだよ! 文字列は名前の後ろに$がついてる物に入れようね!!!」という極々極々初歩の「たしかに文字と数は別々の扱われ方されないとまずいね><」って点だけはBASICの子供向けの入門書でも教えてた><
行列を学ぶ前でも当たり前のように多次元配列を使ってプログラミングしてたし、むしろ「行列ってなに? 配列変数の事?」みたいな感じかも><
BASICでゲーム作れても平仮名習得程度はその通りだけど、BASICで独学でプログラミングするのが当たり前だった頃は、抽象化して物事を考えることとか『ほんとは数学だけどそんなこと知らないけど必要なのでいま作ってる身につけるプログラミング特化の数学的概念』を独学するのはなにも珍しい事じゃなかったかも><
教えてくれる人なんていなかったし><
文脈を戻すと、「十分な自然言語の能力も持たぬ子供に抽象化や記号的思考を教えるのはあまりに無謀だし、そこを誤魔化しても得るものがあまりなさそう」という話でした
BASIC が理解できて当然の水準のその上に、めくるめく抽象化の世界が待っているわけで。
たとえばハーバードアーキテクチャのサブセットみたいな仮想機械の動作を追えるだけでプログラミング教育と称するくらいなら、数学と科学に力入れた方が1024倍マシ
もっと別の言い方をするなら、 BASIC なんて平仮名が書けるレベルの知識であって、それは「日本語で考える」とか「日本語を理解できる」には到底及ばないレベルの基礎の基礎でしかない。
平仮名と数字だけが読める小学生がいたとして、契約書や論文を平仮名で書き下されたからといって理解できるわけではないようなもので。
ものすごくあちこちの打ち上げライブ見まくったオレンジ的にはJAXAの打ち上げライブってFMラジオ番組かよって感じで酷い上に、英語圏へも映像と音声を一部提供する国際映像の面もあるのに、それでも日本語でお手紙紹介とかするから酷いイメージ><
アリアンスペースを見習うべき><
アリアンは、ちゃんと情報を伝えることをとても重視してるし、紹介ビデオを流す時でもテレメトリ等を出し続けるとか、そういう工夫をしてるし、フランス語と英語バラバラのチャンネルで流してる><
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
今さら行番号付きBASICを使えとは言っていない><;
入門書がよくないし、対象の言語の選定もPythonやらRubyやらを選択するのは間違いなのではって気がしてる><(子供向けのRubyの入門書を実際には読んでいないのでフェアではない意見かもだけど(なので"気がしてる"><;))
BASIC は石炭みたいなもので、文明をブートストラップするには有用かもしれないけどいつまでも使うべきものではないし、いつまでも使って良いと勘違いさせるようなこともすべきでない
チューリング完全でさえあれば BASIC でどのようなプログラムも書けるというのは真実だし、同時に「BASIC 程度では大抵『良質な』プログラムは書けない」こともまた事実なので、我々は「子供にでもできるショボいおもちゃ」と「相応の基礎が必要だが良質な道具」のどちらかを選ぶ必要がある
その点『のみ』で見ると、1990年代以降に登場したいわゆるLLな言語は、1980年代の行番号つきBASICにすら劣ると言えるかも><
なぜならば古い行番号付きBASICは、数学を学ぶ前の子供に独学でプログラミングを習得させる事だけは成功していたから><
そこらのLLな言語のソースコード、小学校低学年の子が読みとけるんだろうか?><(簡潔さを重視しすぎて省略しすぎな言語仕様にしたら初学者が読みとけるわけ無いだろって言いたい><)
環境自体が変わってしまったからアレだけど、1990年代初頭くらいまでは『プログラミングは小学校低学年でも独学で習得できるもの』であったし、そこから30年くらい経った今、教える側の先生が「プログラミングなんてやったこと無い」って、『昔は小学生ですら出来たことが出来なくなった』という退化だよね><
若いやつは馬鹿って事じゃなく、1990年代半ばから、低年齢向けのプログラミング入門環境が疎かにされて「数学を学ばせてからじゃなきゃプログラミングを教えるなんて無理」という『『誤解』』(断言)までがついに広がってしまったって事かも><
日本語の方(つまり小学校の国語)の知識がプログラミングに必要かの方はわかんない><
でも、世の中がWindows95ブームでPCがそういう感じで普及する前夜までは、漢字読めない子でも独学でBASICでプログラミングするのはなにも珍しく無かったので「義務教育の国語も無くても一応プログラミング出来るんじゃないの?><」って気がしなくもない><
1980年代~1990年代初頭辺りのベーマガ世代のお兄さんお姉さん方は、まともに数学を学ぶ前に、難しい漢字が使われてなくてフリガナいっぱいの入門書読んでゲーム作ったりして雑誌投稿とかまでしてたわけで、少なくとも「プログラミングを学ぶのに数学の知識が必要」と言うのは、違うと思う><(プログラミングを学びながら算数をそのなかで学べてたかも><)
端的に言ってしまえば「おまえも子供たちもみんなそんなに頭良くないから、先に土台を整えろ」というだけの話なんだけど……
べつに最初から記号的な記述を理解する能力があるのであればそれ以上の自然言語は不要かもしれないけど (ちょうどある言語がわかっている人が似たような別の言語を簡単に習得できることがあるように)、最初の一歩で自然言語なしに行こうというのはまず無理でしょ
プログラミングは原則的に、現象や目標を観察・分析して規則を見出すことと、見出した規則・概念・制約を事前に定められたルールに基いて strict に概念や現象を記述するということから成っているんだけど。
どちらも言うまでもなく (特に前者は) 理科・数学的な思考ではあるんだけど、じゃあ「ルールに基いて記述する」のに必要なルールを日本語の十分な能力なしにどうやって理解するんですかと
というか日本語できないやつにプログラム教えてもなぁという…… >プログラミング教育
このアカウントは、notestockで公開設定になっていません。