hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

ユーザースクリプトが書きにくくなると初学者が自由に練習できる場が減っていきそう

DTMをどうやって始めるかというと、テレビとかで流れてる曲を耳コピで打ち込んで匿名掲示板に放流する、するとボコボコに叩かれる、それを糧に成長していくかただちに脱落していく、そういう流れがあったのだけど、近年はJASRACが手作りMIDIに対する集金を始めたそうで、雑MIDIを公開すると著作権料を徴収されてしまう、これでは初学者が耳コピからDTMを始めるルートが閉ざされてしまっているのでは、という話が20年前くらいにはあった。
Greasemonkeyとかユーザースクリプトとかも同様な雰囲気があると思って、おおらかな時代は乱雑なコードを書いて好きに動かしていた。
blog.sushi.money
blog.sushi.money


現代のChromeは.user.jsをブラウザにドロップしてもすんなり動かしてくれなくて、雑なJSを書いて動かしたい、という衝動をかなえるための参入障壁が上がっているのではないかと思う。
blog.chromium.org


ひさしぶりに雑JSを書こうと思ったらこういう拡張を入れることになったのだけど、背景が黒くてアングラっぽい雰囲気が醸し出されていて、なかなか人におすすめしづらいと思う。
これをインストールしてもらうくらいなら、ユーザースクリプトじゃなくてChrome拡張の形にちゃんと作り込んだほうが良さそう、と思って、やりたいことに対して、完成までの道が遠くなる。
chrome.google.com


自分がデバッグ能力をどうやって身につけたか考えると、人様の作ったサイトに自分の書いたコードを勝手に差し込んで動かす上で、こういうことをやるとこういう壊れ方をするのだな…とかわかってきたところがあると思う。
書いたコードが思ったとおりに動かない、と思ったら、勝手な要素をさしこんでいる親要素ごと入れ替わっていたりして、それをさらに上書きするために工夫したりとか、どうやってサイト側のコードをねじふせて自分の書いたコードを勝手に動かすか、という能力だけ進化していく。
人の書いたコードを改造する体験を経ずに、自作のウェブアプリケーション上でのみ動くコードだけ書いていると、そういう荒野を駆け巡るみたいな体験をしづらくなっていく気がする。


そういえばScrapboxにはUserScript機能が搭載されていてありがたい。自分用に書き始めるところから、人に使ってもらうために配布に至るまでの流れがすべてScrapbox内で完結していて体験が良いので、身の回りではこれで遊んでいる人が多い。
scrapbox.io