Programming as Communication
概要
コンピュータが人々の生活にも仕事にも溶け込み、プログラミングはこれまで以上に身近で、複雑な事象を扱うようになった。そこで、プログラミングの方法を根本的に改善する必要がある。既存研究は多くの場合、特定の技術的背景を持った人々(プログラマ, エンドユーザ, データサイエンティストなど)にとってのプログラミング体験を向上することで問題の解決を図ってきた。
一方、本研究はプログラミングを、多様な技術的背景を持った人々を伴った、よりインクルーシブで協調的な行為にすることを目指す。「プログラミング環境」は必ずしも「プログラマ」のためだけの環境である必要はない。本研究はそうした環境を、多様な人々を受け止められるように設計することを目指す。
そうしたインクルーシブな環境において、人々はプログラミングを通してコミュニケーションを取り、全ての人々がプログラミングの便益を享受でき、ひいてはエンパワーメントを高められると考えている。
発表資料
技術的環境設計

以下のプロジェクトは多様な人々の協調を支援するインタラクションデザインの設計を通して「Programming as Communication」を実現した例です。

UGVは、アプリケーションに対する機能要望を変数宣言のかたちに制限することで、ユーザからの要望が明確になり、プログラマも実装の可否を判断しやすくなるインタラクションデザインです。
2017PX '17

Live Tuningは、Live Programmingから定数値をインタラクティブに変更できるインタラクションデザインだけを抜き出したものです。プログラマでなくともプログラムの振る舞いをカスタマイズできるようにする技術です。
2016LIVE '16
発表文献
引用するならコレ!2020Convivial Computing Salon '20
Rethinking Programming "Environment": Technical and Social Environment Design toward Convivial Computing
更新履歴
5/15/2020
論文のプレプリントを追加しました。
5/9/2020
プレゼンテーションの録画とスライド資料を追加しました。
4/1/2020
初版をアップロードしました。
OTON GLASSプロジェクトでは、プログラミング環境を、ハードウェア部品とソフトウェアAPIからなるツールキットのような人工物だけでなく、ツールキットの利用を手助けしてくれる有機的存在──エヴァンジェリストの存在を前提に設計しています。
関連リンク