タグ

オブジェクト指向に関するigrepのブックマーク (28)

  • オブジェクト指向は禁止するべき - きしだのHatena


     JavaJava  HogeHogeImplnewcreate
    オブジェクト指向は禁止するべき - きしだのHatena
  • 私なりのオブジェクト指向プログラミングの定義 - kmizuの日記

    きしださんの以下のツイート オブジェクト指向はこの20年だれも再定義せずみんな自分の思うオブジェクト指向を暗黙に仮定して適当に話してるだけなので、技術的な共通認識のもとの議論はほとんどできないんですよ。という話を「オブジェクト指向をきちんと使いたいあなたへ」の記事に書いたのだけど、そろそろ公開するか— きしだൠ(K8S(Kishidades)) (@kis) July 29, 2019 を読んで、そういえば、私が思うオブジェクト指向の定義、についてツイッター以外ではあまり語ったことがなかったなと思い返し、ちょっと記事にしてみることにしました。まず、結論からいうと、私はオブジェクト指向プログラミングとは サブタイピングを活用したプログラミング手法の総称 と考えています。ここで、クラス継承とかインタフェース継承とかダックタイピングとかではなく、単にサブタイピングであるのがポイントです。なお、型

    私なりのオブジェクト指向プログラミングの定義 - kmizuの日記
    igrep
    igrep 2019/07/29
    その理屈だと広い意味でClojureとかも含まれそう(だからおかしい、という意味ではない。ClojureはClojureなりにオブジェクト指向プログラミングを別に定義して批判しているし)
  • Open Recursion in scala もしくは関数型もオブジェクト指向も仲良くしようよぉのお話 - ろじかるんるんものがたり


     comfrk vol3    scala  object-oriented  class Fib { def fib(n : Int) : Int = if (n <= 1) 1 else fib(n - 1) + fib(n - 2) } Fib  class FibMemo extends Fib { import collection.mutable.Map private val table : Map[Int, Int] = Map() override def fib(n
    Open Recursion in scala もしくは関数型もオブジェクト指向も仲良くしようよぉのお話 - ろじかるんるんものがたり
    igrep
    igrep 2019/06/24
    同じ内容を論文で読んだはずなんだけど、どれだったかなぁ。
  • Codata in action, or how to connect Functional Programming and Object Oriented Programming

    igrep
    igrep 2019/05/31
    あまりOOP vs FPって区別するの好きじゃないけど、筋は通ってる。でもこれ、実際はObject vs ADTといった方がしっくりくるけどな…
  • オブジェクト指向とは何ですか?

    回答 (8件中の1件目) 英語では「object-oriented」で「OO」と略され、1960~1980年代のプログラミング手法(OOP)から始まり、その応用としてソフトウエアの設計・分析の手法(OOD/OOA)、近年はユーザーインターフェース・エクスペリエンスのデザイン(OOUI/OOUX)、オブジェクト指向存在論(OOO)なる哲学分野にまで、広く使われる用語です。ここではOOPについて説明を試みます。 オブジェクト指向の「オブジェクト」は、1967年に発表されたSimula 67 [1] というプログラミング言語に組み込まれた当時としては新しい同名の言語機能(あるいはそれに準ずる...

    オブジェクト指向とは何ですか?
    igrep
    igrep 2019/02/17
    そういえば確かに... "①は可能な限りの遅延結合、②は比較的早期の結合を是とする点で相容れないので、そこはあまり突き詰めない立ち位置"
  • オブジェクト指向が0.05%も理解できない記事


        C++JavaC# SimulaSmalltalkRuby JavaScriptPythonGo辿 ErlangElixir
    オブジェクト指向が0.05%も理解できない記事
    igrep
    igrep 2018/10/04
    この辺の話聞く度に、どちらの流儀であれやっぱり「インターフェース指向」と呼んだ方が適切だったんじゃないかって思うんだよなぁ。
  • Elixir から Elm の流れで、いよいよオブジェクト指向に対する懐疑心が無視できないレベルに達した2017年冬。 – ゆびてく

    Elixir から Elm の流れで、いよいよオブジェクト指向に対する懐疑心が無視できないレベルに達した2017年冬。 – ゆびてく
  • 『「実はオブジェクト指向ってしっくりこないんです!」から7年』


    7   使
    『「実はオブジェクト指向ってしっくりこないんです!」から7年』
  • Haskell vs OOP - あどけない話

    「Why Haskell matters?」(なぜ Haskell は重要か?)には、Haskell とオブジェクト指向プログラミングを比較した章があります。日語訳が見当たらなかったので、必要な部分を訳してみます。 オブジェクト指向プログラミングの優れた利点は、データとそれに作用する関数を一つのオブジェクトにまとめられることではない。優れた利点、それは、(実装からインターフェイスを切り離せる)データのカプセル化と、(型の一群の振る舞いを同じようにする)多相性だ。しかしながら、データのカプセル化と多相性は、OOP の専売特許ではない! いやぁ、心洗われる文章です。:-) データのカプセル化 Haskell でのデータのカプセル化は、それぞれのデータ型をそれぞれのモジュールで宣言し、そのモジュールからインターフェイスだけを公開することで実現できる。モジュール内部には、内部データに触れる関数群

    Haskell vs OOP - あどけない話
    igrep
    igrep 2016/09/21
    古い記事だけどブクマしてなかった
  • プログラミング。好きだけど、さようなら。


    (2015 5/20)  --- 1 (php)60 C#C# C#使
    プログラミング。好きだけど、さようなら。
    igrep
    igrep 2016/04/24
    たった一年でそこまで経験するとはすごい。ところで http://el.jibun.atmarkit.co.jp/rails/2013/01/post-6025.html みたいな話?
  • 僕にとってMaybe / Nullable / Optional が、どうしてもしっくりこないわけ。 - 亀岡的プログラマ日記


      Null50 null10 |   Maybe / Nullable / Optional   Null Null Null Null NullNull 
    僕にとってMaybe / Nullable / Optional が、どうしてもしっくりこないわけ。 - 亀岡的プログラマ日記
    igrep
    igrep 2015/11/24
    flatMapとかを使えばいいって話ではないのかなぁ。
  • http://kwatch.houkagoteatime.net/blog/2015/09/05/please-be-fair/

    igrep
    igrep 2015/10/28
    「おわりに」だけ読んで概ね同意なので頑張って改善せねば。ホントなんでこんなややこしいことになっちゃったんだろうね。
  • 抽象クラスはなぜ必要か?


    Java    使     2   2使 使
    抽象クラスはなぜ必要か?
    igrep
    igrep 2015/09/29
    “『概念』をより正確に定義しコードを分かりやすくするための概念です。 ... アノテーションで共有する概念を宣言したり、DIコンテナ等で共通する処理を注入するなど、別の手段が”
  • オブジェクト指向でゲームを作るのをやめよう - Qiita


      調         
    オブジェクト指向でゲームを作るのをやめよう - Qiita
    igrep
    igrep 2015/08/11
    オブジェクト指向というより継承の問題では...。インターフェイスじゃダメなんですかね?
  • Haskellの型クラスを活用する - モナドとわたしとコモナド

    Haskellの型クラスは、うまく使えば高いパフォーマンスと抽象度を両立できる、優れた仕組みである。その使い方のコツは、決して理解の難しいものではない。 小さな性質、大きな恩恵 プログラマは大きなものを小さく見せがちだ。オブジェクト指向プログラミングに慣れている人がやりがちなアンチパターンとして、欲しい機能と、それを分割する基準が現実に寄りすぎていて、一つ一つが巨大というものがある。 普通のプログラミングではありえない例かもしれないが、たとえば家を作りたいことを考える。「ベッド」「箪笥」「台所」「冷蔵庫」「トイレ」「風呂」のように設備ごとに分けた抽象化をしたいと考えるだろう。確かにこれは理に適っているように見える。だが、これらの設備を型クラスでまとめるのは悪手だ。 風呂やトイレには水を利用できるという性質が、冷蔵庫には電気が必要だ。部屋と部屋は壁で仕切られ、場合によっては扉があるかもしれな

    Haskellの型クラスを活用する - モナドとわたしとコモナド
    igrep
    igrep 2015/06/23
    “型クラスは「複雑な処理をまとめる」というよりは「特定の性質を持つ処理を最適な形で具体化する」ものと見ることができる”
  • Haskellでいかに多態を表すか - モナドとわたしとコモナド

    オブジェクト指向を行使する心 ではオブジェクト指向の必要性と仕組みについて議論した。 インスタンスは言語によって様々な実装方法があるが、大きく分けて「クラス(処理)のインデックス」か「処理そのもの」のどちらかがインスタンスの内部に隠れている。 と述べたが、Haskellの場合、クラスのインデックスに基づいた表現では、インターフェイスは型クラス、クラスはインスタンス、インスタンスは存在量化された型の値に対応する。…といってもややこしいことこの上ないので、実装例を考えてみよう。 まず、問題となっている愚直な実装は、Haskellではこんな感じだ。 data World = World { … } data SceneId = Menu | Map | Battle draw :: SceneId -> World -> IO World draw Menu = … draw Map = … d

    Haskellでいかに多態を表すか - モナドとわたしとコモナド
    igrep
    igrep 2015/04/07
    関連する話題の良きまとめ。
  • オブジェクト指向を行使する心 - モナドとわたしとコモナド


      pic.twitter.com/7W09sb9DFa () (@tacosufestival) 2015, 44    case
    オブジェクト指向を行使する心 - モナドとわたしとコモナド
  • Haskellでの合成可能なオブジェクトの構成とその応用

    Haskellでの合成可能なオブジェクトの構成とその応用
    igrep
    igrep 2015/03/07
    うーむ、理解できず。
  • オブジェクト指向関連の不満な点 - モナドとわたしとコモナド


     Advent Calendar11 調  ABBAABTwitter使  
    オブジェクト指向関連の不満な点 - モナドとわたしとコモナド
    igrep
    igrep 2014/12/13
     使  


     
  • 状態、手続き、OOP - モナドとわたしとコモナド

    これはオブジェクト指向 Advent Calendar 2014の7日目の記事です。 入力によって変化する状態をうまく扱うことはプログラミングにおいて重要である。この記事では、状態や手続きを扱うさまざまなアプローチを紹介、比較する。 手続き型プログラミング 命令の列である手続きを「定義」「呼び出し」する記述力を提供する。命令の結果として得られた値に依存して、次に行う手続きを決定するという性質が肝である。 コルーチン 手続きに区切りを設けることで、「途中まで実行された手続き」を値として扱う。手続きが持つ潜在的な状態を閉じ込めることができるため、柔軟性が高い。 第一級手続き型プログラミング 手続きをデータ構造の一つとして表現し、呼び出すだけではなく、手続きそのものに対する操作も可能にする。「手続きの結果として得られた値に依存して、次に行う手続きを決定する」性質に対応するものとしてモナドがある。

    状態、手続き、OOP - モナドとわたしとコモナド
    igrep
    igrep 2014/12/11
    第一級オブジェクト指向... 多分この間の http://fumieval.hatenablog.com/entry/2014/07/26/160433 なんだろうけど、ちょっとまだピンと来ないな...。