Upgrade to Pro — share decks privately, control downloads, hide ads and more …

抽象について #TechLunch

抽象について #TechLunch

抽象について
2013/03/06 (水) 12:00-13:00 @ Livesense TechLunch
発表者:松坂 高嗣

E60aa4f80303f3f386898546ddb3686a?s=128

Livesense Inc.
PRO

April 21, 2014
Tweet

More Decks by Livesense Inc.

Other Decks in Technology

Transcript

  1. 抽象について あれこれ考えた 松坂 高嗣 @ma2saka

  2. みんな抽象大好き 「あなたの話は抽象的だ」と言われてふられた経 験、男なら誰しもあるものです と、冒頭でふっておいて。

  3. 実は先日 人に話をしている時 自分が使っている「抽象度が」「抽象化レイヤーが」 などという言葉がふとよくわからなくなったのです ということで、抽象度って言葉を調べてみた

  4. None
  5. 「抽象度をあげろ」は有名らしい この業界とは関係なく、視野の高い低いと関連して 認知科学の人が提唱しているようです。 抽象度高く、意識高く行こうぜ! http://ja.wikipedia.org/wiki/苫米地英 人

  6. 抽象とはなんぞ 所与としての実在の世界においては分離されておらず,また場 合によっては分離することが不可能な諸特性をことさらに分離 して,それだけを思考の対象とする知性の働きをいう。具体に 対する。みずからをかこむ環境世界の中からある一群の特性を 捨象して,残りの特性を選別するという働きは,広い意味でいえ ば,最下等なものを含めた生物一般に,生存のための不可欠 の能力として見られるものであり,そのかぎりでは人間に特有 なものではないが,とりわけ高度に発達した分節言語を持つ人 間においては,抽象の能力は他の動物とは比較にならないほ

    ど精緻かつ複雑なものになっている。
  7. つまり 概念上の特定をいろいろ選んで分離して、 対象とする精神の働き こと。

  8. そこから、普段使いの抽象まで

  9. 考えてみた • 抽象度という尺度 • 抽象化という操作 • 抽象化レイヤー

  10. 抽象度という尺度

  11. 抽象度とは度合いの違いのこと 「リンゴ」と「草」 「コンバージョン率」と「成功」 「走る」と「移動」 「バグ」と「障害」 「最後の文字」と「コレクションの末尾要素」 どれも抽象度が違う

  12. 抽象度という尺度は人工的・精神的 抽象という概念自体が もともと「精神の働き」なわけです どれだけの具体的な側面を切り落としたかという 「抽象度」なるものは、直感ではとらえる事はできま せん

  13. 測定できないが感覚的に比較はできる 測定できないのは原器がないからか? 軸を決めればどっちが抽象度が高いか比較はでき る 定量化できないのに「度」とはこれいかに

  14. 抽象度には価値判断は含まれない 当たり前のことだけど 高い方がいいわけではない

  15. 軸/切り口大事 • ザリガニ • JR 並べられている言葉をどういう概念でとらえるかで 抽象度は変わってくる。 生物-ザリガニ / 企業-JR

    同等? 群れ - ザリガニ / JR - 人間 JRの方が抽象?
  16. 抽象化という操作

  17. 抽象化は「操作」 この業界ではみんなパンを食べるように抽象化し ます 「一般化」とか「モデル化」とか呼ぶ 枝葉末節を切り落とし、独立した概念を抽出する 操作

  18. 計算機科学では 抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象 化は動作の抽象化であり、データ抽象化はデータ構造の抽象 化である。例えば、構造化プログラミングでの制御抽象化とは、 サブプログラムや定式化された制御フローの使用を意味する。 データ抽象化とは、本来ビット列であるデータを意味のある方法 で扱うことを意味する。例えば、データ型の背景にある動機は 抽象化である。オブジェクト指向プログラミングはデータとコード を同時に抽象化する試みと見ることもできる。

  19. 抽象化は新しい概念を作ったりする 「新しい概念」を作り出すという意味では創造的な 行い たとえば、マーケッターのやる「100万人の人々」と 100万の「人」との間に、10万人ずつのカテゴリ分 けを行うような操作は、まさに新しい概念を創出し ているのだと思う

  20. 抽象化はあんまり意識せずに行われる ファイル名つけるとか 文章の見出しつけるとか インターフェイス設計するとか

  21. 抽象化/具体化も価値判断は含まない 無条件にやったほうがいいわけではない 変更の頻繁な箇所は具体的で、粗結合に。 安定な箇所は抽象的で、密結合で。 そんな原則ありましたね。

  22. 抽象化レイヤーについて少しだけ

  23. よく「抽象化レイヤー」と言いますが 理解しやすい /利用しやすいように抽象度をそろえ たインターフェイスを提供して、詳細を隠蔽する、 「層」。もしくは幕。 • DSL • API •

    カプセル化
  24. 網羅的な抽象化レイヤーがなくて詳細が 思い切り露出する例 • 法律

  25. ということで、結論

  26. おわり ご清聴ありがとうございました

  27. 抽象とうまくつきあう 普段、意識しないで抽象化操作をして、抽象度をそ ろえた抽象化レイヤーを作って、そこで設計作業し ていたりすると思います サーバ構成検討のタスクとか けっこう身近な「抽象」という考え方に、 意識的になってみませんか?

  28. 余談

  29. 考えてる最中に出てきた面白い例 「よい英語ビジネス文書を書く能力」 を抽象化する 「よい英語を書く能力」 「英語のビジネスコミュニケーション能力」

  30. 次回予告 そろそろ Scala について