「オブジェクト指向」を含む日記 RSS

はてなキーワード: オブジェクト指向とは

2021-12-22

anond:20211222220725

個人的Tcl/Tkの今の立ち位置は、これはこれでありというか、

例えば、何か新しい言語ができると、まずTkバインディングしてGUIも作れます!するとかなんだけど、

最近Tcl/Tkは次を考えてるのかよく分からんのよね

Tclオブジェクト指向なの作ってたけど、頓挫してしまったというか、

ちょっとだけそっち方向でお手伝いしてたこともあったけど、

まあ、MacPortsTclだったか所詮シェルスクリプトの延長なので、

Tclはこれはこれでこのままでもいい気もする

問題Tkだろうか

TkとかFltkとか、GUI周りは動作するOSとか環境に振り回されがちだし、

独自レンダリングとかlook and feelを貫き通してもいいんだけど、

それもまた夢がないというか、古臭いイメージが漂いすぎてしまうんで、

Tkナウでヤングな若者ウケるようにしようぜ、って動きが20年近く前にあって、

こっちもほんのちょっとだけ手伝ってたんだけど、

最近ネット彷徨ってたら昔懐かしい次世代Tcl/Tkの話を読んだんだけど、

Kivyとかimguiとか最近はあるんだし、

なんかTcl/Tkも盛り上げたらええんかね?と思ったけど、

まあ、Pythonだよね!

猫も杓子もPython

蛇が嫌いなおいらはどうすればいいの?と思ったけど、

Pythonがあれば反重力も瞬で可能になるからね!

というわけで、Tcl存在価値は死んでるのかも…

2021-12-11

自分よりできる人までlog4j脆弱性の経緯の理解が間違ってる気がしてもにょる

log4j自体問題なのは当然だけど、

ブコメ分散オブジェクト指向と書いてる人がいたけど、

その辺の指摘が正しいのではないかと思うんだけど

そもそもJava分散オブジェクト指向流行したのが問題歴史的な発端だと思ってる

まりRMI(いわゆるRPC)とかCORBA(それは紛れもなくヤツさではないです)とかHORB(産総研だっけ?)とか、

ネットワーク透過だのRPCスケルトンだの、そういう話が発端な気がする

から、なんでそんな変なことわざわざやるの?という話は、

そういう分散オブジェクト指向だのネットワーク透過だの、

まりインターネット上ではマシンは当然ネットワークで繋がってはいるけど、

別々のマシンであって、マシンAとマシンBは分断されている

でも、クラスタリングとかされたネットワークの中で、

マシンAのJavaプロセスマシンB上のJavaクラスを読み込んで実行できたり、

マシンBに肩代わりさせても、それを意識しないように書けると便利だよね、

という話であって、

ぶっちゃけ、今になっても、

例えば異なる言語プロセス通信するためにRPCはあるし、

世の中的に、今はJavaよりイケてると思われてる言語にも、この手のネットワーク透過にする機能とか、

よー知らんけど、クラウドコンピューティング()だなんだの機能としてあっても不思議ではない気がする

昔で言うなら、ソニーのTelescriptとかよー知らんけど、

エージェントだのエージェント指向だのが流行したけど、

ネットワーク上の複数マシン渡り歩くプロセスというかプログラムみたいなのが実現できるのって、

今になって考えてみると脆弱性の温床でしかない気がするし、理解はできる

理解はできるが、じゃあ、まったくメリットがないのかというとそうでもなくて、

しかし、Javaのかつての流行放置されたままになってるとか、そういう問題はあるわけで、

その辺がセブン&アイだったかの、Struts2のOGNLインジェクションもそんな感じで、

ぶっちゃけマシンAからHTTPマシンBのJavaクラスとか実行できたら便利だよね、みたいな話で、

でも、それはマシンAとマシンBが信頼関係があり、

マシンAとマシンBが外のネットワークと敷居があるという前提があるから問題がないのであって、

CGIでもよくあったけど、サーバー側の任意コマンドを実行できるというのは、

サーバー状態監視するとかには便利だけど、当たり前だけど危険だよね、という話であって

眠くてまとまらない…

おやすみ

あ、言い忘れるところだった

知らんけど

2021-11-29

anond:20211129160826

オブジェクト指向警察です。

あれこれいろんな理由で、なんとなく何かが違います

来週またここに来てください。

本当のオブジェクト指向をお見せしますよ。

半年くらいかけてオブジェクト指向入門 原則・コンセプトを大体読み終わったけどさあ

今読むと部分的には時代遅れな感は否めないね契約のところとか。

2021-11-04

多様性とか偉そうに言ってる企業が嫌い

就活時の適性検査って優劣じゃない名目の奴でも実質的足切りラインみたいなのが設けられているところは結構あって、

これって実質的発達障害フィルターになってるんだよね。

IT系とかの場合、実績とかはそこそこある人間でもこの辺りで足切りされてそもそもアピールする場所にすら立てないみたいなことが結構あって、

自分学生時代で開発系のコンテストで結果残したり作ったアプリニュースサイトに取り上げられたりそこそこの規模のWebサービス運営してたりってまあまあ強みはあったと思うんだけど、

就活時この辺りですっっっげーーーー苦労した。

MVCオブジェクト指向意味がわからないどころかプログラミングすらやったことない同期が次々内定取る中で俺だけが最後まで取り残されてった。


今は転職何回かした後に独立してまあまあやってけてるけど、

この手の企業が「弊社は多様性尊重します」「どんな人種ジェンダー性的指向の人でも働きやす環境を!」とか偉そうなお題目を並べてるとつい白い目で見ちゃう

「ああ、この人達の言う多様性という言葉の中に俺みたいな人間はどこにも含まれてないんだろうな」

ちゃんと(今話題になっているポリコレ属性リストに書かれている範囲内の)多様性尊重しますって書いとけよ」

そんなことをつい考えてしまう。

2021-11-01

anond:20211101171948

なんだかんだCでオブジェクト指向っぽく書く感じなのかな…

Pythonオブジェクト指向はなぜ出来が悪いのか……

2021-10-21

プログラミングよりオブジェクト指向の方が難しい

python自体はクソ簡単

クソコードでいいなら3分で作りたいものは作れる

個人的に各プログラミング言語文法よりオブジェクト指向実装が難しい

原理はわかるし簡単な例(よくある車の例とか)はわかるけど、実際に自分が描いてるプログラムをどうオブジェクトに分けるべきなのかがさっぱりわからん

そういうのを勉強できるところない?

2021-09-26

オブジェクト指向流行り始めた頃

手続き型が主流でひたすら頭からだらっと書いてあって、せいぜい「サブルーチン」に処理が分けてあったくらい。 Web だと .cgi に全部書いてある。

そういう世界では、こういうまともな書き方もあるんですよ、という紹介ができる良いものだった。今はどんなに酷くても当時よりまともなだけ。

現代オブジェクト指向話題になるたびにもやもやする。もう語らなくていいんだよ。いいんでしょう…?

触れてはいけないIT用語一覧

Twitterブログで触れても何の得にもならない単語を並べる

2021-09-25

オブジェクト指向はすでに粒度時代にあっていない」を読んで

記事

@kis (id:nowokay) さんの以下の記事についてです。

https://nowokay.hatenablog.com/entry/2021/09/25/042831

ブコメにもあるようにちょっと内容が雑というかわかりにくいせいで賛否両論になってしまっていて、もしかしたら近いうちにアンサー記事が出るかもしれませんが、自分自身理解を助けるためにも言わんとしていることを推測しつつ、自分認識もまとめておこうと思い書くことにしました。明らかに誤読してそうな箇所があれば、指摘してください。

前提

まずは前提を書いておかないと論点がぼやけると思うのでいちおう。

自分バックグラウンドは以下:

その他の前提:


本文およびブコメを読んで思ったこ

2000年代に入って関数型プログラミングが脚光を浴び始めたのは、コンピュータ資源が潤沢になりパフォーマンスをそれほど気にしなくってよくなったことが大きな理由ではないか、という認識があります

関数型プログラミング言語の内部実装を読んだことがないので推測ですが、データを不変にするということはその都度メモリ領域を新たに割り当てることになり、そのオーバーヘッドプログラムパフォーマンスに影響を与えるので、パフォーマンス要件がをシビア場合、どうしてもメモリ割り当てや計算効率を考えるとミュータブルにせざるをえないと思います。が、ウェブアプリケーションに限っていえば、データベースアクセスネットワークアクセスレイテンシが大きいので、そうした相対的に細かいオーバーヘッド無視しても(大抵の場合は)問題にならなくなった、というのが「時代」の流れなんだという認識です。

いっぽうで別の観点もあって、REST API や FaaS が一般化して、関数単位で処理を分割し、アプリケーション外部に配置することが当たり前になってきた現状があり、マイクロサービスのようにアプリケーション自体モジュールの一単位として考えると、アプリケーション内部のモジュール同士でも関数ベースでやりとりする形になっても不自然ではないと考えられます

記事にもありますが、RPC派生実装?)として生まれJava の CORBA や MicrosoftDCOM みたいな振る舞い付きのオブジェクトコンポーネント)を共有しようという世界観は廃れ、REST API のような単一の振る舞い(エンドポイント)とそれにひもづく JSON のようなデータ構造のみを受け渡すやり方が一般的になったアプリケーション通信の潮流と、計算資源が潤沢になって再度脚光を浴びた関数型プログラミングが、レイヤーの違いを飛び越えてひとつになろうとしているのではないか、と。

まり、元記事に書かれている「時代に合ってない」というのは、「データ構造と振る舞いが一体となったオブジェクト」のような「なにか」は、そうした背景があるために、どこにも存在する必要がなくなってきているのではないか、と解釈しました。

なので、以下のコメントちょっと論点がずれてると思いました。

はあ?「再利用する方法としてはWeb APIが主流」って、その中身をオブジェクト指向設計することは、全く矛盾しません。 部品化の単位は、慣習や柵などで大きく変わりますオブジェクト指向とはほぼ無関係です。

https://b.hatena.ne.jp/entry/4708813645995359202/comment/suikyojin

なんでサービスとして外とやり取りする話とサービスの内部設計の話をごっちゃにしてんだ。なんか理解度が怪しくない

https://b.hatena.ne.jp/entry/4708813645995359202/comment/ssssschang

しかに、アプリケーション単位アプリケーション内部のモジュール単位とでその表現形式を合わせる必要はないんですが、元記事の言わんとしていることはこの一文に端的に表れていると思います

ソフトウェア記述をまとめるという視点では主にステートレス関数を分類できれば充分で、データと振る舞いをまとめたオブジェクトというのは大きすぎる、システムを分割して管理やすくするという視点ではオブジェクトというのはライフサイクルリソース管理視点が足りず小さすぎる、ということで、オブジェクト指向粒度でのソフトウェア管理は出番がなくなっているのではないか、と思います

個人的にわからなかったのは以下の部分です。

オブジェクト指向でなぜつくるのか」という本がありますが、「え、いまどきオブジェクト指向でつくらなくない?」っていつも思います。内容的には、もうほとんどはオブジェクト指向関係ないソフトウェア工学の紹介になっていますね。

当該書籍は読んだので後半はまぁわかるんですが、前半は「え、いまでもオブジェクト指向でつくるのが主流じゃないの?」って思ってしまますオブジェクト指向定義が「データ構造と振る舞いが一体となったオブジェクトの集まりとしてソフトウェア組織化すること」なのであれば)。

おわりに

Joe Armstrong が "Why OO Sucks" を書いたのが2000年とのことなのですが、そろそろこうした議論収束に向かってほしいと個人的には思います(とっくに収束していると感じている方もいらっしゃるでしょうけど)。

https://gist.github.com/posaunehm/4087971

もはや学ぶ必要の無いWeb技術

なんかあるかな

話題になっているオブジェクト指向は昔みたいにOOP最高みたいな時代ではないにせよ、さすがに無価値にはならないよね。

jQueryは使いどころあるし、COBOLもまだ現役だし、適材適所と考えると完全に無駄技術はなかなか見つからない。

となると完全に上位の規格や製品が出てきた場合くらい?

GitがあるからSubversionはもう不要だったりIE対応のためのハックとかそんなのは要らなそう。

何か他にあるかなぁ。

2021-09-19

anond:20210421172633

ITの非専門家に向ける必要ある?

専門家だけどオブジェクト指向挫折してる人向けに、具体的なコード説明して欲しいのよ。

たとえば「それぞれ似てるけど、ほんのちょっとだけ違うfunctionがいくつかある」。これをオブジェクト指向効率的に書くにはどうしたらいいの?

2021-08-14

もういい加減オブジェクト指向勉強Carクラス使うの止めようぜ

誰もが車に興味があるわけではないのやで

2021-07-12

オブジェクト指向支配されるプロダクト開発

オブジェクト指向は素晴らしい。

言葉の壁も肌の色も超えて、保守可能にする。

だが、オブジェクト指向だけではプロダクトは完成しない。

『どんなものを誰のために作るのか』

『そのプロダクトは機能的に進化しているか?』

良いコードを書くことだけがプロダクト開発ではない。

決してオブジェクト指向のためのプロダクトではないのだ。

それでは良い機能開発を。

2021-06-30

anond:20210630164528

アラン・ケイらによってAlto上で開発された世界初GUIベースオペレーティングシステム (OS) 的存在であるSmalltalkは、パーソナルコンピューティング方向性エンドユーザーに示すだけでなく、オブジェクト指向概念を本格的に取り入れた設計開発者にもアピールし、このときオブジェクト指向によるOSAPIフレームワーク設計は、現在最先端と言われるOSにも今なお色濃い影響を与え続けている。

1970年代半ばにはすでに、ウインドウシステムメニュー操作アイコン付きパレットWYSIWYGエディタなど、現在パソコン匹敵する特徴も備えていた。出資受容の条件に要求してこれを見た、Apple Computerスティーブ・ジョブズに大きな影響を与え、LisaMacintoshを開発させるきっかけとなった。

2021-06-23

新たな変異株「デルタプラス」の将来を既存事例から占う

NewsWeek日本版によると、インド新型コロナウイルスの新たな変異株「デルタプラス」が「懸念される変異株」に指定されたそうだ。

https://www.newsweekjapan.jp/stories/world/2021/06/post-96559.php

かつてインド株と呼称されていた変異株がデルタであることは把握している方も多いであろうが、デルタプラス株とは何かNewsWeek記事では説明されていない。

調べてみると、インドで2番目に発行部数が多いという地元英字新聞のザ・ヒンドゥーには既に3日前にデルタプラス株の解説記事が出ていたようだ。

https://www.thehindu.com/sci-tech/health/explained-what-is-the-delta-plus-variant/article34861284.ece

ザ・ヒンドゥーによれば、デルタプラスはAY.1またはB.1.617.2.1と呼ばれていたもので、デルタ株(B.1.617.2)の変異株だそうで、これまでに143のゲノムがAY.1としてラベル付けされ、インド以外にもネパールポルトガルスイスポーランド日本ロシアトルコイギリスフランスアメリカカナダからも報告されているそうだ。

まりネーミングから察せられた通り、デルタプラス株はデルタ株の変種であり、既に日本を含む多くの国で確認されていることになる。

(ここまで普通の内容)今後の状況推移が気がかりであるが、既存事例を参考に占ってみよう。(以降、大喜利)

●事例1「ラブプラス

ラブプラス」は恋愛ゲームとして異例の20万本を超えるヒット作となり、その後各種シリーズ製作された。

最新作となる「ラブプラス EVERY」は当初は2017年冬の配信を予定していたがクオリティアップを理由に遅延を重ね、2019年10月31日配信開始された直後、不具合により一か月以上のサービス停止が発生したようだ。そして、配信開始から1年も持たずに、20208月5日サービス終了となった。

この事例に則れば、デルタプラス20万以上の患者数が発生する可能性がある一方で、1年以内に収束する希望が持てると言えるかもしれない。

●事例2「C++

C言語の発展形としてオブジェクト指向が導入されたプログラム言語である

ベースとなったC言語のものも含め、多くの場面で現在も利用されている。さらC#のような発展形も存在する一方で、JavaPythonなども広く利用されており、開発言語として支配的な立場を維持し続けているわけではない。

この事例に則れば、デルタ株もデルタプラス株も長期にわたって相当数の患者を生むことになるだろう。加えて、デルタシャープのようなさらなる変種が一定の猛威を振るうリスクにも備える必要があるだろう。

●事例3「ラプラス

多くの理系学問の基礎理論を支えるラプラス変換やラプラス方程式の人気はいまいちであるが、ラプラスの悪魔はシュレディンガーの猫と並び中二病患者に人気である

このような背景を踏まえると、理系出身者は一定程度の抵抗力を有する可能性、または逆に親和性が高い可能性のいずれも否定できない。中二病患者罹患した場合重症リスク不明である

それでも四輪プラスは開催するんだって

2021-06-15

汎化と再利用性は全く目的が別だと何度も説明してるのに全く理解してもらえないのは俺のせいか

俺のせいということにしておきます

ただ、意思疎通ができないのもお互い心苦しいので代わりと言ってはなんですが時間をかけてもらって構いませんので Clean Codeとバートランドメイヤーオブジェクト指向入門原則・コンセプト編をちゃんと読んで咀嚼して自分なりの解釈をしてからたこの話の続きをしましょう。

2021-05-13

anond:20210506152834

違います

オブジェクト指向の(オブジェクト指向に限らずあらゆるプログラミングパラダイムの)目的は「関心の分離」です

すなわち、

と言うことです

インスタンス化や継承はその手段ひとつであり、ポリモーフィズムはその結果生じるものです

まあしかし、メンバ変数オブジェクトインスタンスごとにスコープを持つことは、保守性に大きく寄与することは事実です

2021-05-09

俺が人間オブジェクト指向実装するとしたら肉体と精神疎結合になるような設計にするので外見と内部は設計上可換になる

とはいえ精神を内部状態として持たせるビジネス要求普通だと思うのでクライアントアクセスできるようにはしないはずだからやっぱ今の人間仕様に落ち着きそうではある

2021-05-06

anond:20210421172633

オブジェクト指向言葉意味については、昔からよく調べていますが、しかし、いまだによくわかっていないのですが、今回の記事を読んでみても、あまり理解ができません。オブジェクト指向言葉意味理解することは、とても難しいということがわかりました。

ログイン ユーザー登録
ようこそ ゲスト さん