今回はいつもの自動化ネタやIoTネタではなく、適当に思いついたことを書きます。プログラムを作り続けて30年以上経つといろいろあります。ここ最近感じたのがジェネレーションギャップ(世代間格差)です。まあ20年くらい前から、自分の作るプログラムのコードが古いというのは実感してました。
20年前というと1996年で、インターネットが急速に普及し始めたときです。ブラウザはNetscape Navigatorで、JavaScriptが初めて動くようになった年です。当時はJavaScriptに注目する人もほとんどおらず、Java言語の方がトレンドでした。
今ではブラウザだけでなく、IchigoLatteのような小型コンピュータでもJavaScriptが動く時代になりました。
・IchigoLatte
http://ichigolatte.shizentai.jp/
先月、大学生と会話した時のことです。IchigoLatteで動作するJavaScriptの話になりました。IchigoLatteのJavaScriptは機能が少なく、20年前のブラウザで動いていたような感じです。そこで、私はJavaScriptの機能の説明をする時にこう言いました。
「まあ、IchigoLatteのJavaScriptの機能は20年前と同じようなものですよ」
すると大学生の一人が言いました。
「僕たち、まだ生まれてません……。だから20年前と言われてもわかりません」
確かにそうです、彼らは20年前には存在していませんでした……。20年は長い時間というのを感じた瞬間でした。
先週、本の打ち合わせで、作成するサンプルゲームの話になりました。編集者50代、開発者30代、DTPオペレーター20代。そこで何かゲームを作ろうということになりました。
私「SEGAのアフターバーナーやスペースハリアーとかどうでしょう?」
編集者「あ〜なるほど」
開発者「名前は聞いたことはあるけど、どんなゲームですか?」
DTP「知りません……」
私「じゃあ他のを」
開発者「任天堂のペンキ塗るヤツ」
私「スプラトゥーンですか?」
開発者「そうそう、遊んだことないですけど」
編集者「?」
DTP「(??)」
私「あ〜」
世代によってプレイしたゲームが違うので、いくらメジャーなゲームでもプレイした人とそうでない人がいるわけです。最近ヒットしたゲームであっても、世代によってはまったくプレイしていないこともあります。
私も最近のゲームは名前は知っていても、プレイしていないものはたくさんあります。いつかプレイしようと思いつつ、結局遊ばずに終わるという流れです。
数年前にも20代のプログラマーが書いたコードに、ジェネレーションギャップを感じたことがあります。以下のようなコードです。
<script src="https://code.jquery.com/jquery-2.2.4.min.js
"></script>
インターネットが当たり前にあり、問題なく接続できる環境で育った世代には、どこでジェネレーションギャップを感じるのか、分からないかもしれません。20年前のネット環境は常時接続ではなく、サーバーも止まることも多々ありました。
なので、上記のような他のサーバー上にあるライブラリファイルを、直接読み込むということは考えられない書き方でした。読み込むサーバーが止まったら、プログラムが動かないからです。必ず自分のサーバーに、ライブラリファイルを置いて読み込ませていました。
今ではCDN(コンテンツデリバリーネットワーク)を使うのは珍しくありません(その方がキャッシュされたり高速だったりする)。
あと10年もすると、さらにジェネレーションギャップを感じるプログラムに遭遇しそうです。
【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/
世代を超えて遊べる、知っているポケモンのようなゲームは、やはり凄いですねぇ。
・みんなのIchigoJam入門 BASICで楽しむゲーム作りと電子工作
http://www.amazon.co.jp/dp/4865940332/
・Premiere Pro & Media Encoder自動化サンプル集
http://www.amazon.co.jp/dp/4802090471/
・JavaScriptによるデータビジュアライゼーション入門
http://www.amazon.co.jp/dp/4873117461/
・Photoshop自動化基本編
http://www.amazon.co.jp/dp/B00W952JQW/
・Illustrator自動化基本編
http://www.amazon.co.jp/dp/B00R5MZ1PA/
・Adobe JavaScriptリファレンス
http://www.amazon.co.jp/dp/B00FZEK6J6/
・4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/
・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/