タグ オブジェクト指向言語
人気順 5 users 50 users 100 users 500 users 1000 usersJavaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基... 続きを読む
Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル
あまり知られていない関数型言語のおもしろ概念として、Opticsというものがある。 Opticsとは、オブジェクト指向言語で言うところのSetter/Getterを一種の関数として捉え、いくつかの便利な特性を付与したものの総称だ。この便利な特性によって、Setter/Getter以上のことをパワフルにこなせる。 最も有名なOpticsはLens... 続きを読む
Rustでの 抽象化 3パターンについて
※この記事は全然入門記事ではないです。Javaなどのオブジェクト指向言語とRustをある程度理解している前提での記事です。あと、メモ程度に雑に書いています。 オブジェクト指向言語の設計に慣れていると、Rustで設計するときにどうしたらいいかわからないことがあります。なぜならRustには継承がないからです。 では、早... 続きを読む
Pythonのオブジェクト指向プログラミングを完全理解 - Qiita
1. オブジェクト指向の起源 2003年チューリング賞の受賞者アラン・ケイさんはよくオブジェクト指向プログラミングの父と称されます。ご本人も憚ることなく、幾度、公の場で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は「Simula 67... 続きを読む
マウスやGUI、イーサネットなどを発明してきたゼロックスが、富士フイルムホールディングス傘下に - Publickey
米ゼロックス(Xerox)といえば一般には普通紙複写機、すなわち多くのオフィスで使われているコピー機を開発したことで知られています。 しかしコンピュータマニアにとってのゼロックス、あるいはゼロックスのパロアルト研究所(PARC:Palo Alto Research Center)は、1970年代にマウス、GUI、イーサネット、そしてオブジェクト指向言語のSmalltalkなど、現在のコンピュータに... 続きを読む
thisを書く派?書かない派? - Qiita
あすかです。 プログラミングしてる時、たまに気になる話を雑めに書いてみます。 (´・ω・`) C#、VBやJavaなど、クラスベースのオブジェクト指向言語を前提にした話ですが、this(Me)を書いているプログラム、そうでないプログラムをよく見かけます。 例えば、thisを書くのは このような場面ではthisを書きます。文法上の制約ですから当たり前です。 今回は、このようなものではなく、thisを... 続きを読む
Clojureの世界観 - 紙箱
ブログを書くのは久々です。 京都で小さな会社をやっていて、自社開発で Clojure とClojureScriptを使用し続けて、概ね3年くらい使い続けています。その過程で、 Clojure 自体にも小さいながらソースレベルの貢献ができたりして、 オープンソース プロジェクトとしても面白かったのですが、もともと オブジェクト指向言語 ばかりやってきたところから、 Clojure という、まったく ... 続きを読む
オブジェクト指向言語としてGolangをやろうとするとハマること - Qiita
埋め込み(embedded)に要注意というお話です。あるいは、GolangもC++のようなゼロオーバーヘッドを目指していると考えれば腑に落ちるよね、的な。 Goはオブジェクト指向言語っぽく使うことができます。次のような機能を提供しています。 interfaceを使ったコーディング 埋め込み(embedded)を使った実装継承 インタフェースは次のような感じです。 // ポニーは歩ける type P... 続きを読む
Pythonで学ぶ 基礎からのプログラミング入門 (18) 【番外編コラム】関数型プログラミングとPython | マイナビニュース
記事の内容に一区切りついたので、演習に加えて本コラムを挟むこととしました。今まではPythonを、順番に命令を並べて制御する「手続き型言語」として使ってきましたが、以後は「オブジェクト指向言語」として使いはじめます。 オブジェクト指向型言語とはなんぞやという話は次回以降に譲り、今回は手続き型言語、オブジェクト型指向言語に並んでよく使われる「関数型言語」について取り扱いたいと思います。 Python... 続きを読む
【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)(10742)|teratail
私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも本当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行っ... 続きを読む
Rubyとは
Rubyは、手軽なオブジェクト指向プログラミングを実現するための種々の機能を持つオブジェクト指向スクリプト言語です。本格的なオブジェクト指向言語であるSmalltalk、EiffelやC++などでは大げさに思われるような領域でのオブジェクト指向プログラミングを支援することを目的としています。もちろん通常の手続き型のプログラミングも可能です。 Rubyはテキスト処理関係の能力などに優れ、Perlと同... 続きを読む
一生涯プログラマ : オブジェクト指向プログラミングデザインルール
2014年04月01日00:00 カテゴリProgramming オブジェクト指向プログラミングデザインルール プロのプログラマとはただ仕様通りに動くプログラムを作ればいいという物ではない。 保守性や拡張性を考慮し、変更に強くバグの混在しにくいプログラムを効率よく作る必要がある。 その為に、プログラミングする上で心に留めておかなくてはならない事がある。 今回はその中でも、オブジェクト指向言語におい... 続きを読む
Goはオブジェクト指向言語だろうか? | プログラミング | POSTD
Go言語では、'オブジェクト'という名前のコンセプトは存在しませんし、継承もできません。しかし、Go言語では代わりにコンポジションや匿名フィールドといった概念を利用して、擬似的に部分型(Subtyping)を実装できます。そしてそれは、これまでよりも良い方法のようです。“オブジェクト指向”の意味を本当に理解するには、この概念の始まりを振り返ることが必要です。最初のオブジェクト指向言語はSimula... 続きを読む
初心者でもほぼ無料でScalaを勉強できるコンテンツ9選 - paiza開発日誌
2015-05-07 初心者でもほぼ無料でScalaを勉強できるコンテンツ9選 Photo by gisela gerson lohman-braunこんにちは。谷口がお送りします。プログラミングをこれから学ぼうとしている方や、これから研修や実務に入る新人ITエンジニアの皆さんの中には「Scalaを学習したい」という方も多くいらっしゃるかと思います。Scalaはオブジェクト指向言語と関数型言語の特... 続きを読む
JavaScriptをプロトタイプベースのオブジェクト指向言語と言うべきではない - id:anatooのブログ
2015-05-05 JavaScriptをプロトタイプベースのオブジェクト指向言語と言うべきではない 勘違いしている方も結構多いと思ったので、これの解説。JSをプロトタイプベースのオブジェクト指向言語って言うの誤解しか産まない気がしてきた— anatoo (@anatoo) 2015, 5月 3ウェブ上の記事を眺めていると、JavaScriptをプロトタイプベースのオブジェクト指向言語(以下OO... 続きを読む
JavaScriptの少し独特なオブジェクト指向についてまとめてみた - Rails Webook
2015-03-11 JavaScriptの少し独特なオブジェクト指向についてまとめてみた Javascript まとめ Photo by Flickr: slworking2's Photostream既にJavaやPHPなどオブジェクト指向言語を生業としてやっているが、その感覚でJavaScriptを少し扱っているて、いまいちJavaScript分からないという方を対象に、それらのプログラム言... 続きを読む
Haskellによるオブジェクト指向
Haskellでの合成可能なオブジェクトの構成とその応用 木下郁章, 山本和彦, 2015 Haskellで状態を管理する際は、 一般的に代数データ型や型クラスが用いられるが、 データが拡張できないか、動的な性質を持たない。 そのためHaskellは、 複雑な状態を扱う問題領域には適していないと考えられてきた。 一方で、一般的なオブジェクト指向言語では、 オブジェクトを提供することでこの問題領域で... 続きを読む
2014年、オブジェクト指向vs関数型プログラミングの壮絶な宗教戦争は終結 OO陣営最後の牙城DOMというWeb標準のUIを破壊した巨砲Facebook-React - Qiita
戦況報告 Java8 2006年ごろ、Javaコミュニティ内部で多くの関数型言語に実装されている「クロージャ」という仕組みを取り入れるかどうかをめぐり、オブジェクト指向vs関数型プログラミングの壮絶な宗教戦争が勃発しました。 Javaはオブジェクト指向言語なので、「そんなの必要ない!」ということで結局、関数型陣営の敗北となり、提案は却下されました。 しかし、またJavaを関数型言語化しようとする「... 続きを読む
インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) | mah365
Rubyといったオブジェクト指向言語を学ぶと、メソッドの定義方法としてインスタンスメソッドとクラスメソッドという2通りの定義方法があることを学ぶと思います。しかし、言語自体のガイドブックには「定義方法にインスタンスメソッドとクラスメソッドがある」と書いてあるだけで、大抵その使い分けについては書かれていません。 そういう訳で、このエントリではその使い分けについて少し考えてみたいと思います。理論的に厳... 続きを読む
Goのメソッドは構造体以外にでも定義できるしそれが便利なこともよくある - Qiita
Goのメソッドは構造体以外にでも定義できるしそれが便利なこともよくあるGo(541)ruiuが2014/09/15に投稿(2014/09/15に編集)編集履歴(4)編集リクエストを作成する いわゆる主流のオブジェクト指向言語しか知らない人からみると、クラスに相当するものはGoでは構造体で、メソッドに相当するのは構造体の型に対して定義されたメソッド、というように見えると思う。Goでコードを書いている... 続きを読む
ココが違う!ActionScript3とObjective-Cのクラス定義 - Objective-C NOTE
オブジェクト指向言語であるActionScript3を使いこなせる人ならば、Objective-Cの学習は早いと思います。しかし、ActionScript3の知識が邪魔してObjective-Cで迷ってしまうという部分も少なからずあります。ActionScript3を使える人がObjective-Cを習得するための近道として、ActionScript3とObjective-Cとを比較してみましょう... 続きを読む
まつもとゆきひろ直伝 組込Ruby「mruby」のすべて 総集編【委託】 - 達人出版会
「組込向け」との触れ込みで登場したmruby。Ruby設計者であり、mrubyの主要開発者である、まつもとゆきひろ氏が自らそのすべてを解説します(日経Linux2012年10月号から2013年3月号までの連載を最新情報に修正して掲載)。 関連サイト出版社による関連ページが公開されています。日経Linux内容紹介日本発のオブジェクト指向言語「Ruby」。近年、Webアプリケーションを開発する言語とし... 続きを読む
私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記
この記事では、私がオブジェクト指向のどこを愛しどこを素晴らしいと感じていて、そのうえでなぜオブジェクト指向を使うことを避けているのかを書き留めておきます。関数型言語使いの方で、「オブジェクト指向の何がいいのかわからない」「オブジェクト指向難しすぎ・複雑すぎ」とおっしゃる方にぜひ読んでいただきたいと思っています。また、「オブジェクト指向言語完璧に理解したわ」と思っている方にも読んでいただきたく思いま... 続きを読む
JSXのチュートリアルを訳してみる | Junkyard Blog
2012年5月31日にDeNAからJSXという言語が発表されました。開発元がDeNAなので日本語のドキュメントがありそうなもんですが、今のところこのプレゼンしか見つけられませんでした。ということで、英語のチュートリアルを訳してみました。訳がおかしい部分はコメントで優しく突っ込んでくれると助かります。 JSXは静的型付けのオブジェクト指向言語でコンパイルされるとスタンドアロンのJavaScriptに... 続きを読む
Javaのクラスとオブジェクトについて再度解説を試みる - 達人プログラマーを目指して
オブジェクト指向, Java, プログラミングの勉強オブジェクト指向プログラミングの考え方については、今までこのブログでも今まで何度か取り上げてきました。[オブジェクト指向] - 達人プログラマーを目指してオブジェクト指向プログラミングはプログラミング技法のすべてではないとはいえ、Javaのようなオブジェクト指向言語で本格的なプログラムを作るには理解を避けて通ることができませんし、また、関数型言語... 続きを読む