余白

https://blog.lacolaco.net/ に移転しました

フレームワークへの過大評価

「このフレームワークでは○○ができない」、そういった評価は(ソフトウェアの)フレームワークという概念一般に対する「過大な」評価である。

フレームワークが使用されるとき、その使用者に何事かを禁じうるということは、そのフレームワークによってのみ何事かが可能になるのと同じ程度に、おおよそありえない。なぜならば、あるソフトウェアが何を実行しうるのか(Capability)を決定しているのはそのソフトウェアを実行する環境(ランタイム)であり、ソフトウェアはその品目の中から必要なものを機能として選び取っているにすぎないからである。

フレームワークとは、この「選び取る」という実装者の行為に対する(友好的な)制約ではあるが、フレームワーク自身もまた同じランタイムで実行されるソフトウェアの一部となる以上は、その他の部分に対する支配的なものとなることはできない。せいぜいその制約による難易の勾配が、「選ぶべきもの」を選びやすくし、同時に「選ばざるべきもの」を選びにくくするだけのことである。

フレームワークがそのように何事かを不可能にすると考える人びとにとっては、ランタイムがソフトウェアに最初から与えていた機能でさえも、フレームワークによって可能になったものだと考えるだろう。だがこれは、可能と不可能のあいだにあるもの、難易のグラデーションを知らないというだけの話ではないだろうか。

昨日よりいいコードを書こう

いわゆる「技術的負債」、あるいは単純に「古いコード」は悪者にされやすい。特に、それを書いたのが現在の開発者とは別人であるなら。(すでに会社にいないなら尚更に)

確かに、古いコードはソフトウェアの品質を上げにくくする。だがそれはコードが古いことが原因ではない。コードの質が悪いからだ。そのコードの可読性が低く、テストが不十分で、変更容易でない、そんな状態のまま古くなったからだ。

一度書いたコードの質があとからよくなることはない。どんな一片のコードでも、書き直される以外に質が上がることはない。(当然下がることもある)

常にいいコードを書けるように励もう。どんなコードも時間とともに老化する。老いに対抗できるのは、絶えずよりよいコードに書き換えていく新陳代謝だけだ。

今日は昨日よりいいコードを書こう。

It Takes Two が面白かった

www.ea.com

store.steampowered.com

昨年のゲーム・オブ・ザ・イヤー大賞を受賞した『It Takes Two』は全編Co-opのみという斬新なアドベンチャーゲーム

jp.ign.com

夫婦で14時間強プレイしてクリアしたが、全編通してあまりにもクオリティが高く、ゲームデザインはあっぱれお見事、100点満点中50000点くらいのゲームだった。 基本はプラットフォームアクションだが、あるときはレースゲームに変わり、またあるときはシューティングゲームに変わり、そうかと思えばいつのまにか音ゲーに変わり、ありとあらゆるゲームジャンルをまぜこぜにしながらも、何故か全体としてはまとまっている不思議な作品だ。 ヒューマンフォールフラットみも少し感じる。ああいう感じのCo-opを楽しめるならぴったり合うはず(相手のミスを楽しめないと無限に険悪になる)

こんなゲームが4000円ちょいで遊べちゃう令和のゲーム業界しんどそうすぎる。ダイパリメイクはあれで7000円だぞ、わかってるのか。

個人事業主活動の近況と言語化支援の断念について

前回からの続き

lacolaco.hatenablog.com

近況

おかげさまでAngularやWebフロントエンド開発についてのアドバイザリーをさせていただいてる会社もじわじわ増えつつあり、副業用に空けている可処分時間が減ってきました。 そのため現在は新規の受付を停止しています。最新の状態は https://lacolaco.biz/ に掲載しています。

言語化支援の断念

前回の記事で言語化支援をはじめようとしている話を書きましたが、ありがたいことに実験台になってくれた方のおかげで大きな収穫が得られました。 結論から書くと、言語化支援だけをスポットで引き受けるのは簡単ではないし、やりたい事とも違っていそうでした。よって、一旦個人事業主のラインナップからは取り下げることにしました。

抽象的な脳内のイメージや思考を対話を通じて言語化していくプロセスには、当然そもそもの対話の場のコンディションが重要です。ありていにいえば心理的安全性のある関係性が必要条件であり、またその題材・テーマについてある程度の基礎知識・理解を互いに備えていることも重要でした。つまり、初めて話す人と初めての話題でいきなり成果が出せるほど言語化支援というのは単純ではないし、仮に話が盛り上がったように思えて何かしらのアウトプットが出たように見えても、それは両者にとって納得の行くクオリティにならないだろう、というのがわかってきました。

裏を返せば、そういった信頼関係を構築しつつコンテキストについても理解を深めた上であれば、他者から視点と認識を提供しながら思考を組み上げていく言語化支援という価値は十分に可能であろうという見立ても得ることができました。 したがって当面は、技術アドバイザリーのような継続的な関係性の中で、そうした需要があれば1on1やワークショップなどを通じての言語化支援を引き受けていこうと考えています。

あらためて、実験に協力してくださった方々、ありがとうございました!

それではまた、暖かくなった頃に

知識の引力

知識には質量がある。そして万有引力をそなえている。

一箇所に集まった知識がある重さまで達すると、万有引力によって自然に周囲の知識を引き寄せるようになる。 T型の人材というのは、実は重力による歪んだ空間の形をしている。

国立科学博物館-宇宙の質問箱-宇宙論編より

ある特定の事物についての知識や技術を深めようとすると、おのずと周辺にある事物からの関連知識も増える。つまり、積極的に周辺領域へ知識を広げなくとも、重力が強ければ周りのほうから"落ちて"くるようになる。

したがって、T型を目指そうという者がまず形成すべきものは空間を歪ませるほどに重い知識の核である。そこがなければ、知識同士の引力に期待できないため苦労する。

このような学びの広げ方は、流れに任せた無軌道なものという見方もできる。また、知識が大きく偏ったものになる可能性もある。 そうだとしても新たな方向性として重心となる核を、意識的に新しく作り出すことはできる。複数の核がある程度重くなればそれらもまた引き寄せ合い、融合すれば一つの大きな知識体系となる。