Scratch
アカウントを持ってる
言語としてみればかなり制限がある
Scratchへの不満を書いていく
オブジェクト指向ではない
パラダイム...イベント駆動なのかな
配列(リスト)
1次元のみ、200000項目まで
数値、文字列が入る
変数とは別の名前空間だが、名前がかぶると色々不都合がある
変数
数値、文字列が入る
型が非常に曖昧
真偽値はtrue,falseの文字列として入る
グローバル変数、スプライト内のみの変数
関数内のみの変数などは作れない
ブロック定義(関数)
値を返すことはできない
「スプライト」というグラフィックシステムがある
スクリプトはスプライトごとの別空間
クローンが作れる
「ペン」というものもある
描画を伴う命令は1秒間に30回までしか実行されない
タブレット向けでマウス操作だと画面効率が低い
キーボードで書けない
ブロックをマウスでドラッグすることで組み立てるのだがコピペが通用しないしテキストファイルに置けないので不便
Scratchの悪い点を解消してる
ScratchのブロックからRubyベースのコードに変換できる(もちろん逆も)
結合、何文字目(インデックスアクセス)、含まれるかどうか、長さ
pip,npm,gemのようなライブラリシステムがない
その代わりバックパックというスプライトを一時保存してほかプロジェクトに移動する機能がある
実行が遅い
ガチ文字列打ち込み系プログラミングの前段階として大変お世話になりました
ロジックを組む練習のための環境として見たらめっちゃ良かった
それ以外のことをあんま考えなくていいので
確かに、仕様にJavaScriptみを感じる
Scratchに触れてなかったらだいぶ人生変わっていたと思う
これは主観的体験に基づく個人的解釈:
Scratchの教育的価値の本質は「思い描いたものを自由に作り出せるという成功体験」だと思っている
プログラミングだけでなく、それをscratch.mit.eduにて発信したり、作品を通じて他人と関われることも含め
副作用として「プログラミングを学べる」とか「論理的思考が身に付く」みたいな価値もあるだろうが、比較的枝葉だと思っている