Programming as Communication

2019-2020
Convivial Computing Salon '20

概要

コンピュータが人々の生活にも仕事にも溶け込み、プログラミングはこれまで以上に身近で、複雑な事象を扱うようになった。そこで、プログラミングの方法を根本的に改善する必要がある。既存研究は多くの場合、特定の技術的背景を持った人々(プログラマ, エンドユーザ, データサイエンティストなど)にとってのプログラミング体験を向上することで問題の解決を図ってきた。

一方、本研究はプログラミングを、多様な技術的背景を持った人々を伴った、よりインクルーシブで協調的な行為にすることを目指す。「プログラミング環境」は必ずしも「プログラマ」のためだけの環境である必要はない。本研究はそうした環境を、多様な人々を受け止められるように設計することを目指す。

そうしたインクルーシブな環境において、人々はプログラミングを通してコミュニケーションを取り、全ての人々がプログラミングの便益を享受でき、ひいてはエンパワーメントを高められると考えている。

発表資料

CCS 講演動画

CCS 発表スライド

YouTube版は音量が調整され、字幕もついています。Vimeo版は加藤の発表に続いてPhilip Tchernavskij氏によるクリティークとQ&Aセッションの録画がついています。
Convivial Computing Salon 2020についてはサロンの公式サイトをご覧ください。
論文はページ下部発表文献からダウンロードできます。

技術的環境設計

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

User-Generated Variables
UGVは、アプリケーションに対する機能要望を変数宣言のかたちに制限することで、ユーザからの要望が明確になり、プログラマも実装の可否を判断しやすくなるインタラクションデザインです。
Live Tuning
Live Tuningは、Live Programmingから定数値をインタラクティブに変更できるインタラクションデザインだけを抜き出したものです。プログラマでなくともプログラムの振る舞いをカスタマイズできるようにする技術です。
2016LIVE '16Communication Live IDE

社会的環境設計

OTON GLASSプロジェクトでは、プログラミング環境を、ハードウェア部品とソフトウェアAPIからなるツールキットのような人工物だけでなく、ツールキットの利用を手助けしてくれる有機的存在──エヴァンジェリストの存在を前提に設計しています。

関連リンク

発表文献

引用するならコレ!2020Convivial Computing Salon '20

Rethinking Programming "Environment": Technical and Social Environment Design toward Convivial Computing (to appear)

Jun Kato, Keisuke Shimakage
Companion Proceedings of the 4th International Conference on the Art, Science, and Engineering of Programming, pp.95-103
クリップボードにコピー

更新履歴

5/15/2020
論文のプレプリントを追加しました。
5/9/2020
プレゼンテーションの録画とスライド資料を追加しました。
4/1/2020
初版をアップロードしました。