タグ

OOPに関するNyohoのブックマーク (28)

  • 西暦2023年、オブジェクト指向に興味を持った入門者にお勧めする日本語書籍を考える

    先日某所で「最近プログラミングを始めた入門者(だったかな?)に勧められるオブジェクト指向のを教えてほしい」みたいな質問をいただいたのですが(うろ覚えなのでちょっと違っているかも)、その場で即答できず考え込んでしまいました。ですが、遅ればせながら選書してみたので、その内容をここに書いておきます。 とはいえ、改めて考えてみても、2023年に入門者向けのオブジェクト指向のを探すのはなかなか難しいですよね…。もちろんオブジェクト指向じゃなければ簡単かと言われるとそういう訳でもないですが。とりわけオブジェクト指向に関する書籍の場合、海外のよく知られている書籍は少し前に翻訳されたものが多くて、最近はこれというのがなかなか思いつきません。また日でも良書がばんばん出てるわけでもなさそうです。 この辺りは、オブジェクト指向に関する技術はもはや当たり前のものとなってしまっていて、今さら旬のトピックでもな

    西暦2023年、オブジェクト指向に興味を持った入門者にお勧めする日本語書籍を考える
    Nyoho
    Nyoho 2023/09/23
  • WEB+DB PRESS Vol.132

    2022年12月24日紙版発売 2022年12月24日電子版発売 B5判/176ページ 定価1,628円(体1,480円+税10%) ISBN 978-4-297-13245-3 ただいま弊社在庫はございません。 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com Fujisan(定期購読のみ) 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など 特集1 古い常識を捨て適切に使う オブジェクト指向神話からの脱却 抽象データ型,ステートマシン,レイヤ構造 オブジェクト指向は1990年代を中心に大流行し開発技術を発展させ,プログラミングにおいて不可欠な技術になりました。その後コンピュータの発展とともにそのままでは適用が難しくなり定義があ

    WEB+DB PRESS Vol.132
    Nyoho
    Nyoho 2023/03/27
    オブジェクト指向神話からの脱却 抽象データ型,ステートマシン,レイヤ構造
  • 「オブジェクト指向神話からの脱却」という特集をWEB+DB PRESSで書きました - きしだのHatena

    「オブジェクト指向神話からの脱却」というあおり気味タイトルの特集をWEB+DB PRESS vol.132で書きました。 12/24発売!クリスマスプレゼントです WEB+DB PRESS Vol.132 作者:きしだ なおき,加藤 尋樹,斉藤 洸紀,牟田 裕太郎,吉澤 政洋,朝日 リナ,鈴木 僚太(うひょ),川島 義隆,五十嵐 進士,末永 恭正,佐藤 雄太,吉井 健文,牧 大輔,西山 和広,吉田 花春,古川 雅大,岡林 大,池澤 春菜,和田卓人,日高 正博,はまちや2,竹原技術評論社Amazon 大まかには、「オブジェクト」でソフトウェアをぜんぶ考えるということに無理があったので、パーツそれぞれ適したやりかたでやっていこうぜ!という内容です。 ソフトウェアを切り出したときのパーツとしてのオブジェクトの特性が同質であるという暗黙の前提があって、だから「オブジェクトの話をすればソフトウェア開

    「オブジェクト指向神話からの脱却」という特集をWEB+DB PRESSで書きました - きしだのHatena
  • Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社

    こんにちは。yoshiです。夏のTechrachoフェア2022ということで、夏とは何の関係もない記事を書いていこうと思います。 業務ではC++をやっていながら前回、前々回にTechrachoで書いた記事に引き続きRustをやっていく訳ですが、定期的に炎上しがち(?)なオブジェクト指向の話です。みなさん、オブジェクト指向は好きですか? オブジェクト指向って何だろう? A. なんもわからん なんて言ってしまったら話が終わってしまうのですが。 歴史的な話をするとオブジェクトという用語はSimulaが初出で、オブジェクト指向はアラン・ケイがSmalltalkで導入したもの、という話になりますが、一方でビャーネ・ストロヴストルップがC++に導入した「カプセル化・継承・ポリモーフィズム」の組み合わせのことを指すことが多く、SmalltalkのそれとC++のそれにも違いがあるので定義が定まらない概念で

    Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社
    Nyoho
    Nyoho 2022/08/29
  • 90年代のオブジェクト指向開発諸手法

    2021/11/24の『オブジェクト指向LT会 vol.3』というイベントで発表したスライドです。

    90年代のオブジェクト指向開発諸手法
    Nyoho
    Nyoho 2022/04/20
  • 《子供の科学 深ボリ講座》プログラミングの理解を深めよう「オブジェクト指向ってなんだ?」

    《子供の科学 深ボリ講座》プログラミングの理解を深めよう「オブジェクト指向ってなんだ?」 2022-03-11 「子供の科学」深ボリ講座 中高生の科学「コカデミア」 阿部和広, プログラミング, 2022年4月号, ジブン専用パソコン 「ジブン専用パソコン4」がついに発売! 「子供の科学」4月号では、「マインクラフトパイリボーン」の遊び方を紹介しました。そして、今回の「深ボリ講座」は、この春からますますプログラミングの修練に励むであろうみなさんに向けてお届け。テーマは「オブジェクト指向プログラミング」。みなさんはこの用語にどれくらい馴染みがあるでしょうか? 例えば、PythonJava、連載でもおなじみのScratchなどは、すべてオブジェクト指向型プログラミング言語です。誌の連載でもおなじみ阿部和広先生に、その大まかな枠組みについて解説していただきました! コンピューターを理解するた

  • フロントエンドとオブジェクト指向

    フロントエンドの実装にオブジェクト指向をどのように取り入れるかを考えます。 動機 近年のフロントエンドは、Reactなどのフレームワークを使ったコンポーネントベースの設計が主流だと思います。コンポーネントは、HTMLによるマークアップ、CSSによるスタイリング、JavaScriptによる振る舞いがひとまとめにされた、再利用可能な部品です。 コンポーネントの設計を考えていると、次のような疑問が生じます。 何を基準にコンポーネントで分割すればよいか。 コンポーネントの粒度はどれくらいが適切なのか。 どのタイミングで抽象化すれば開発コストが無駄にならないか。 分業した際にコンポーネントの分割や粒度の基準をどのように統一するべきか。 そこで、いろいろ調べたり試したりしたところ、フロントエンドの設計にオブジェクト指向を取り入れることが、これらの答えの一つになるのではないかと考えました。 この記事では

    フロントエンドとオブジェクト指向
    Nyoho
    Nyoho 2021/03/26
    「ユーザ自身で使い方をデザインできる「道具」」なるほどEmacsはまさにそんな道具だな。(そっちかよっ
  • 15分でわかる かんたんオブジェクト指向 - Qiita

    最近、オブジェクト指向プログラミング1について説明する機会が多く、これからもっと多くなりそうなので、文章にまとめることにしました。 オブジェクト指向とは何かという説明はたくさんありますが、 何のためにオブジェクト指向プログラミングがあり、どのように使うのか を、具体例を交えて説明した文章がなかなか見つからなかったので自分で書いてみました。個人差はあると思いますが、目安として 15分程度で読了 2できる分量を想定しました。 投稿は継続的にアップデートして改良していきたいと考えています。わかりづらい点やおかしな点などあれば、コメントか @koher までツイートいただけるとうれしいです。 対象 オブジェクト指向の考え方がよくわからない人 プログラミングの初歩(条件分岐、ループ、配列、関数など)はわかっている人 作りたいものを自分で考えてある程度作れる人 一人のデータ プログラムで会員や顧客、

    15分でわかる かんたんオブジェクト指向 - Qiita
    Nyoho
    Nyoho 2020/08/12
    速習で(・∀・)イイ!!
  • オブジェクト指向プログラミングを学ぶための推薦図書 - ソフトウェア設計を考える

    オブジェクト指向プログラミングを学ぶ オブジェクト指向プログラミングという言葉は、広い意味で使われている。 オブジェクト指向プログラミングをキーワードにすべての情報をかき集めて理解するというアプローチは現実には無理。 目に付いた重要そうなところを見繕って集めてみても、たぶん混乱するだけ。 この記事では、オブジェクト指向プログラミングのいろいろなアプローチの中で、 クラスを使って独自の「型」を定義するプログラミングスタイル 関連するデータとロジックをまとめて、小さな入れ物に格納する「カプセル化」を重視するプログラミングスタイル を学ぶための参考図書を紹介したい。 型とカプセル化に重点を置く設計スタイルがわかってくると、それとは異なるスタイル、異なる力点を置くアプローチとの違いが具体的にわかるようになってくる。*1 *2 まずは、オブジェクト指向プログラミングの中で、型・クラス・カプセル化に力

    オブジェクト指向プログラミングを学ぶための推薦図書 - ソフトウェア設計を考える
    Nyoho
    Nyoho 2019/09/07
  • オブジェクト指向とは何ですか?

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

    オブジェクト指向とは何ですか?
  • オブジェクト指向が0.05%も理解できない記事

    尽く書を信ずれば即ち書無きに如かず 《孟子『尽心下』より》 イントロダクション 「最も理想的なオブジェクト指向を実現しているプログラミング言語は何か?」と問われたとき、君は何と答えるだろうか? C++Java、C#。君がそうだと思っているのは表面だけで、たぶん何もわかっていないのだろう。無知であることを知っているのであれば、無知のまま過ごした方が幸せなときもある。 Simula、Smalltalk、Ruby。君は質をいくらか知っているようだから、引き返すなら今のうちだろう。深淵を覗けば、君もまた怪物にならざるを得ない。 JavaScriptPythonGo。君が真剣にそう答えるなら、私とは異なる真理に辿り着けたのだろう。君と私のどちらかが正しいのではない、どちらも常に正しく、どちらも常に間違っている。 Erlang、Elixir。君は既に答えを知っているようだから、この記事は全く以

    オブジェクト指向が0.05%も理解できない記事
    Nyoho
    Nyoho 2018/10/10
  • オブジェクト指向が5000%理解できる記事

    前書き 結論から。 オブジェクト指向とは、現実世界を正しく捉えることです。 オブジェクト指向、全然むずかしくないんですけど、悩んでる人多いですね。この記事を読めば絶対に分かるようになるので、ゆっくり読んでみてください。 想定読者は今まさにオブジェクト指向に苦戦している人たちです。 オブジェクト指向ができた背景とかオブジェクト指向のメリットとかそういうのはググればいくらでも出てくるので、この記事ではオブジェクト指向の質的なコンセプトにのみ焦点を当てています。 あたまでっかちな説明ばかりで分かりにくかったオブジェクト指向が、5分でサクッと理解できる内容になっています。お楽しみに! 目次 理論編 オブジェクト クラス プロパティ メソッド メッセージング 実践編 まとめ おまけ 継承 ポリモフィズム コンストラクタ カプセル化 理論編 むずかしく考えないでくださいね。オブジェクトとは、物です。

    オブジェクト指向が5000%理解できる記事
    Nyoho
    Nyoho 2018/10/04
    コメント欄面白い。
  • オブジェクト指向が5000%理解できる記事(実践編) - Qiita

    最近、こんな問題がTwitterで話題になってました。 というわけで、この問題をオブジェクト指向でコーディングするとどんな感じになるのか。やってみたいと思います。 理論編から読みたいかたはコチラ。 (1)オブジェクトを洗い出す 問題文を見ると、「人(プレイヤーと呼びましょう)」と「カード」が登場していますね。これが今回のオブジェクトたちです。

    オブジェクト指向が5000%理解できる記事(実践編) - Qiita
    Nyoho
    Nyoho 2018/10/04
    コメント欄面白い。
  • JavaScriptのオブジェクト指向は、逆の順番で学んだほうが理解しやすいと思うので…

    ※この投稿は 2011/03/10 に こちら に投稿した記事の転載です。 これを書いた経緯 事の発端というか、きっかけは、id:perlcodesampleさんとid:gfxさんの下のポストを見て、 JavaScriptで一番簡単にオブジェクト指向プログラミングを行う方法 (id:perlcodesampleさん) JavaScriptにおけるオブジェクトの定義 (id:gfxさん) new とか prototype を使うのが推奨されてないとか、直接代入するほうが楽とかじゃなくて、挙動が違うんだよなぁ、と思ったこと。 挙動が違うんだから、もちろん使いどころも違うんですよね。 でも実際、JavaScriptのオブジェクト指向は混乱しやすいと思います。 自分もご多分にもれず、さんざん混乱させられたクチですしね。 わかってしまえば、どってことなくて、とってもシンプルなんですけどね。 せっかく

    JavaScriptのオブジェクト指向は、逆の順番で学んだほうが理解しやすいと思うので…
  • Tell, Don't Ask | The Pragmatic Bookshelf

    This website uses cookies for account and order processing. By using this site you understand and agree to our use of cookies, our Terms Of Use, and Privacy Policy Alec Sharp, in the recent book Smalltalk by Example [SHARP], points up a very valuable lesson in few words: Procedural code gets information then makes decisions. Object-oriented code tells objects to do things. — Alec Sharp That is, yo

    Nyoho
    Nyoho 2018/06/24
    これめちゃんこいいね。
  • もっと早くオブジェクト指向設計実践ガイド読んどけばよかった - razokulover publog

    @joker1007さんが激推ししてたのでオブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方を読んだ。 なんかすんませんw Sandi Metzはここ数年でトップクラスに良いだったのでオススメです。 #railsdm— ジョーカー (onkさんに返済完了) (@joker1007) 2017年12月9日 内容としては、オブジェクト指向設計の核となるものを初めての人でもわかりやすく理解できるように書かれたという感じ。 この手のは静的型付け言語でかかれたものが多いがRubyで書かれてるのでゆるふわなwebエンジニアにも読みやすそう。 流行りのDDDをやるにもまずオブジェクト指向がしっかり理解できてないと厳しいし、まずはしっかり土台を固めようぜみたいな。 オブジェクト指向を理解した気になっている人とか、新卒で入社してきたwebエンジニア諸氏に

    もっと早くオブジェクト指向設計実践ガイド読んどけばよかった - razokulover publog
    Nyoho
    Nyoho 2017/12/21
  • 『オブジェクト指向設計実践ガイド』を読んで - Feedforce Developer Blog

    kano-e です。 今年の夏に『オブジェクト指向設計実践ガイド』の読書会を行なっていました。 毎回1章ずつ、ゆるゆると集まってその章に出てきた話で気になったことなどを話し合う感じの読書会でした。 の内容や設計について話せたのも有意義でしたし、そのまま「今やっているこの実装はどうするのが良いのか」みたいな話になったり、他のプロダクトではこうやってるなどの話を聞いたりもして、とても実りの多い会だったと思っています。 社内で開催した『オブジェクト指向設計実践ガイド』の読書会終わり!今回読むのは2回目。画像の通り、だいぶがっつり読むことが出来たし、業務や個人のコードも良くなって満足。 pic.twitter.com/XUin6wBWpA— Takashi Masuda (@masutaka) 2017年8月24日 以下の文章は『オブジェクト指向設計実践ガイド』を読んでのふんわりとしたエモい感想

    『オブジェクト指向設計実践ガイド』を読んで - Feedforce Developer Blog
    Nyoho
    Nyoho 2017/10/29
  • オブジェクト指向と10年戦ってわかったこと - Qiita

    この記事の内容 オブジェクト指向は難しい!わかった気になって実践すると詰みます... ウギャー この記事は10年以上オブジェクト指向と戦った筆者が、通常とは異なるアプローチでオブジェクト指向を解説したものです。 筆者はJavaを使って格的なシステム開発をしたことがありませんが、オブジェクト指向言語として最もポピュラーなJavaをベースにオブジェクト指向について解説させていただきました。 また、この記事の続編にあたります「なぜオブジェクト指向は難しいのか」を更に2年の時を経て執筆させて頂きました!是非こちらも一読していただけると嬉しいです。 オブジェクト指向三大要素の謎 オブジェクト指向三大要素ってありますよね。オブジェクト指向は「カプセル化」「継承」「ポリモーフィズム」の3つの要素で成り立つと言われています。最近では、この三大要素が語られる傾向は薄いようですが、一度は耳にしたことがある

    オブジェクト指向と10年戦ってわかったこと - Qiita
    Nyoho
    Nyoho 2017/04/12
  • デザインパターン[モデリング] -TECHSCORE-

    オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX

  • Haskellでの合成可能なオブジェクトの構成とその応用

    Haskellでの合成可能なオブジェクトの構成とその応用 木下郁章, 山和彦, 2015 Haskellで状態を管理する際は、 一般的に代数データ型や型クラスが用いられるが、 データが拡張できないか、動的な性質を持たない。 そのためHaskellは、 複雑な状態を扱う問題領域には適していないと考えられてきた。 一方で、一般的なオブジェクト指向言語では、 オブジェクトを提供することでこの問題領域で成功を収めている。 論文では、Haskellの言語仕様を変更することなしに、 オブジェクト指向言語から着想を得たオブジェクトを実現する。 論文で提案するオブジェクトは圏を構成し、合成を用いて継承を表現できる。 また、終了する運命にあるオブジェクトやストリーミングなどに応用でき、 複雑な状態を扱うゲームの実装にも使われている。 論文をダウンロード(PDF) PPL 2015 発表スライド ここに

    Nyoho
    Nyoho 2015/02/23
    このところよくふみさんが山本さんとやりとりされていた成果が論文になったんだ! 面白そう。