Weitere ähnliche Inhalte
Ähnlich wie opensource and accessibility (Dec2000) Part 2
Ähnlich wie opensource and accessibility (Dec2000) Part 2 (20)
Mehr von Takuya Nishimoto
Mehr von Takuya Nishimoto (20)
Kürzlich hochgeladen (10)
opensource and accessibility (Dec2000) Part 2
- 1. プログラマの三大美徳について
西本卓也
京都工芸繊維大学 工芸学部 電子情報工学科 助手
http://www-vox.dj.kit.ac.jp/nishi/
nishi@vox.dj.kit.ac.jp
2000-12-01 京都研究会 1
- 3. 美徳1 「無精」
• 手抜きをせずに楽をするためには?
– 仕事の質は落とさないで、時間や労力を短縮する
• 問題を解くのではなく、問題を解くための道具を作る
– プログラムを書きたくなる動機
• 問題そのものを解くのではなく、
より一般化された問題を解く
• 解法=ソリューションを再利用する
• 誰かのソリューションを再利用する=オープンソース
2000-12-01 京都研究会 3
- 5. 技術者の「ブラックジャック」モデル
• 手塚治虫「ブラックジャック」の行動パターン
– 技術的にチャレンジングであれば、タダでも手術する
– つまらない外科手術には法外な値段をふっかける
– 類似例:「750ライダー」
• 知的快楽のない仕事を減らす生き方
• そもそも仕事とは楽しいものなのか?
• 利益にならなくてもやりたい仕事があるのか?
– 条件によっては Yes!!
– ではその条件は?
2000-12-01 京都研究会 5
- 6. 「楽しさ」の認知的モデル
• チクセントミハイのフロー理論
• 「フロー体験 喜びの現象学」
M.チクセントミハイ (今村浩明 訳) 世界思想社 1996
• カイヨワの遊びの理論を発展させ、
独自の方法によって「楽しさ」を定義した
• 楽しさ=自己目的的な行為
• 流れているような感じ=フロー体験
• 心理的エントロピーを減らす→最適体験
2000-12-01 京都研究会 6
- 7. フロー体験モデル
• 挑戦と技能が均衡した状態 → 楽しさ
– 技能が低いと不安
– 技能が高いと退屈 high
– 能力を必要とする
挑戦的活動が必要
• フローをもたらす体験 挑 不安 フロー
– チェス,山登り,ダンス 戦
– 仕事:外科手術
– ネットサーフィン
無感動 退屈
– BBS・チャット参加
– 音声認識
技能 high
2000-12-01 京都研究会 7
- 8. フロー体験の構成要素
• 課題を達成できる見通し
• 行為への意識の集中
• 明確な目標
• 直接的なフィードバックの感覚
• 深い没入状態
• 自分の行為を統制しているという感覚
• 自己と対象の融合(自己意識の消失)
• 時間経過の感覚の変化
2000-12-01 京都研究会 8
- 11. 無精さが育てたUNIX文化
• テキストファイルは万能である
– あらゆる情報が、すべて、使い慣れた1種類の
スクリーンエディタによって編集/閲覧できる
• テキストファイルを加工する豊富なフィルター
– 過去に作られた「一般性のある解法」
• 「車輪を再発明しない」
• グルー(糊)になるソフトウェアの存在 (Perlなど)
• 唯一の欠点:データ構造が階層化すると破綻する
→ 階層構造を持つテキストファイル= XML
2000-12-01 京都研究会 11
- 13. テキストファイルの差分
古いファイル 新しいファイル
差分(diff)
古いファイル 差分ファイル
マージ(patch)
新しいファイル
2000-12-01 京都研究会 13
- 14. CVS=並行バージョンシステム
1.1 1.1
1.1
1.1+変更B 1.1+変更A
1.2
1.2
1.2+変更B
1.3
1.3 1.3
作業ファイル リポジトリ=貯蔵庫 作業ファイル
2000-12-01 京都研究会 14
- 15. インターネット、無精でいいのに。
• データ:二度と作り直したくない。使いまわしたい。
– テキスト情報・電子情報:いくらでも再利用できる
– Shockwave とか凝った画像とか、いらん。でしょ?
• プログラム:二度と書き直したくない
– Java なら「一度書けばどこでも動く」?
ウソ。Java VM が変わればデバッグはやり直し。
– サーバでロジックを書いて、ブラウザはHTMLだけ。
デバッグも1回ですむ → EJB / JSP
2000-12-01 京都研究会 15
- 16. 美徳2 「短気」
• 大切だと感じたものはすぐに手に入れるか経験しないと、
一晩か二晩で平凡なものに変質してしまう。
– 村上龍「ラブ&ポップ」
• プログラマは短気でなくてはいけない
– いますぐ作りはじめること。でなきゃいつやるの?
– 誰かにやらせないこと。自分以外に誰がやるの?
– 勤務時間だけ仕事するのはアホである
– 休日に休むより仕事をやっつける方が安心する
– プログラマは金を使う暇がないのが当たり前
2000-12-01 京都研究会 16
- 17. 「短気」を支える開発環境
• ターンアラウンドタイムが短いこと
• 記述が簡潔であること
– Perl, Ruby, Java, Delphi, …
• 開発環境を買わなくても、すぐ手に入ること
– フリーの開発環境はたくさんある。しかも高機能
– 使い方やノウハウもインターネットで見つかる
• あなたがプログラマになれないのは、
「XXXXを買っていないから」「XXXXを読んでないから」
ではなく、やる気がないからです。(語学と同じ)
2000-12-01 京都研究会 17
- 18. オープンソースとは?フリーソフトとは?
• 作者に修正を依頼するのが待てない
– さっさと自分で直したい
– ソースファイル公開や配布の許諾を得るのが面倒
– お金を払う手続きが面倒
• プログラマの「短気」を本当に満たすためには?
→ GNU Public Licence こそが偉大なソフトウェア
• フリーソフトの本質は「自由なソフト」
• 自分一人で使えない/直せない奴は金を払え
• 技術のある人間がとことん安く速く活動できる世界
2000-12-01 京都研究会
アクセシビリティ 18
- 19. 美徳3 「傲慢」
• とりあえず公開しよう = オープンマインド
• 大切な情報を保管する最良の方法は、
あまねく広く配布することである
– 不完全だからといって隠さないこと
– かっこいい名前をつけること
• 自分が作ったもの、自分がほれ込んだものを売り込む
– ウェブでは、無精で短気な人も、傲慢になれる
• 「完璧にしよう」と思うな 自分で100%解いてはいけない
• ただし、バグフィックスにおいては「短気」であるべし!!
2000-12-01 京都研究会 19
- 20. 何のために働くか?
• 食うためではなく、
地位と名誉と快楽のために仕事をすること
• 「労働」 それをしなければいけないからやること。
「仕事」 それをしたいと思ってすること。
• と思っている人が食えるようなビジネスモデルに期待
2000-12-01 京都研究会 20