タグ

JavaとC++に関するmohnoのブックマーク (16)

  • 継承はなんでダメ? - まめめも

    「オブジェクト指向の継承を使うな」という主張が広まっているようです。なんでダメになったんでしょうか。 インターネットで見かけた「継承はダメ」という主張をいくつか眺めて、友人と議論しつつ、考えてみました。 「コードが読みにくくなる」 継承があると、メソッド呼び出しが実際にどのメソッド定義を呼び出すのか字面でわからない。 デバッガを使って、親クラスのメソッドに飛んだり、子クラスに飛んだりするのを追いかけないと行けない。 つらい。という主張。 めっちゃわかる。わかるんですが、これは「高度に共通化されたコードは読みにくい」という一般的な側面がかなり大きいような。 たとえば継承の代わりに高階関数を使うと、関数呼び出しがどのクロージャに飛ぶか字面でわからなくなる。 ひどいとコールバック地獄になって何が何やらになります。 継承がことさらにまずい理由を想像すると、すべてのメソッド呼び出しがポリモーフィック

    継承はなんでダメ? - まめめも
    mohno
    mohno 2024/02/10
    継承というかクラスは使い始めると逃げられなくなるので雑な作りだと全体の品質に影響するけど(だから安易に継承使うな)、よくできたクラスは役に立つし、みんなフレームワーク使ってるよね。
  • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

    オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

    Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
    mohno
    mohno 2023/11/25
    んー、J++は別にC++Builderを経由したわけじゃなく、Delphi(Object Pascal)から直接J++を作ったんだと思います。あと、「Anders Hejlsbergが会社を追い出されていた」←引き抜かれた、ですね。Bill Gatesから熱烈に誘われたそうで。
  • 人気プログラミング言語のランキング、かつて上位3つのひとつだったJavaが凋落傾向【やじうまWatch】

    人気プログラミング言語のランキング、かつて上位3つのひとつだったJavaが凋落傾向【やじうまWatch】
    mohno
    mohno 2023/10/22
    「「TIOBEインデックス」の10月版のランキングによるもので、1位がPython、2位がC、3位がC++、4位がJava」「5位のC#との差はわずか1.2%」/検索エンジンの結果みたいだから情報が残ってればランキングを維持できるのだろうけど
  • 開発言語の人気トップが交代、JavaやC/C++を抜き去ったのは

    出典:日経クロステック、2021年7月7日 (記事は執筆時の情報に基づいており、現在では異なる場合があります) DX(デジタルトランスフォーメーション)を推進するため、新規システムの開発が盛んだ。従来の会計や販売、生産管理といった基幹系システムだけでなく、データ分析AI人工知能)システムなどの開発に着手する企業が増えている。 こうした新規システムの開発を進めるには、従来の基幹系システムとは異なる開発体制が求められる。システムに合わせて開発チームを構成し、開発対象のシステムに合ったプログラミング言語を選ぶ必要がある。プログラミング言語によって向いているシステム、または向いていないシステムがあるからだ。 現在のITエンジニアは開発対象に応じて利用する言語を増やしたり、場合によっては切り替えたりすることが求められる。では今、ITエンジニアが利用するプログラミング言語や開発環境は何か。これを調

    開発言語の人気トップが交代、JavaやC/C++を抜き去ったのは
    mohno
    mohno 2021/09/09
    「現在使っているプログラミング言語を3つまで挙げてもらった。その結果、利用言語の第1位は「Python」」←2位がJavaScriptなのか。VB.NETもそれなりにいるなあ。
  • Visual C++ の勉強部屋

    理工系、特に電気情報系、の学生と技術者を対象としたVisual C++の解説を行います。ただし、初めてプログラムを学ぶ全くの初心者向けではありません。作成時期が異なるため、Visual C++のVersionが異なっていますが、質的に変わりはありません。 資料の一部のJava版が(株)翔泳社のウエブサイトCodeZineにありますので、こちらもご利用ください(Java版とある場所をクリックして下さい)。 (株)マイナビ出版より、「C#画像処理・数値プログラミング - Visual C# 2017対応 - (プレミアムブックス) 」が新たに発売されました。これは、2014年に同社より発売された「Visual C# 2013画像処理・数値プログラミング」を、最新のVisual Studio 2017で確認して書き直したものです。こので紹介しているものは、下記「マイナビ」欄に「C#」で記し

    mohno
    mohno 2020/01/26
    「私の高年齢化(88歳、米寿)もあり、ウェブサイトの「終活」を始めたいと思っています。そこで、この「Visual C++の勉強部屋」を、令和2年1月31日で閉じることにしました。」
  • "call by reference"ではない動作を「参照渡し」と言っている記事まとめ - Qiita

    C++、C#、PHP等には"call by reference"という機能があります。ですが、この"call by reference"ではない動作を「参照渡し」と言っている記事をまとめました。対象には表記揺れにすぎない「参照呼び」や「参照呼び出し」も含めています。 他にもある、とか、実は否定しているとかあればコメントや修正依頼をください。ただし、追記や脚注など目立たない形で「実はそうは言わない」などと補足があったり、コメント等でそのような指摘があっても、全ての読者がそこまで細かく見るとは限らないため、除外しません。つまり、厳密には違うとか、機能ではなく動作のことを言っているとか色々言い訳を付けていても、表面だけ読んでいると「『参照渡し』と言っても良い」と読み手が感じられそうであれば、対象としています。 "call by reference"な動作とは? 定義や詳しい動作の解説はここではし

    "call by reference"ではない動作を「参照渡し」と言っている記事まとめ - Qiita
    mohno
    mohno 2019/04/21
    おおっ、と思ったがC言語はなかった(市販書籍でも参照渡しと書いてる記事があるらしいんだが、勘弁してほしい)。↓C++に必要なのはコピーコンストラクタのためです。
  • 今後必要になるプログラム言語

    今後必要になるマスター言語 JAVA RUBY C++ PL/SQL JAVA JAVAアプレット JAVAサーブレット JAVAscript この3つのうちJAVAServletおよびJavaScriptは必須。 条件としてJavaBeansについて的確な知識があり、自分で設計取り回しができるレベル。 JavaBeansの設計とは、JAVA言語特有の空間的なソースやデータの配置を把握してることが条件なので、システムエンジニアへの質問もしくは仕様理解に努めること。 国内外問わずシステムのシェアはWINDOWS主体でありほぼJAVAで統一されている。 さらに動的HTMLなどについてもJAVAサーブレットの知識が流用される。 JavaScriptの知識については特に必要ないがBeansその他に直結するケースが多いので仕様確認。 RUBY この言語についてはJAVAのサブルーチンとしての位置づけ

    今後必要になるプログラム言語
    mohno
    mohno 2018/11/07
    冒頭で「Java」のくくりに「JavaScript」入れてるところで“盛り上がってる理由”がわかったけど、これ、一社限定の知見だよね。1974年生まれとして、こういう知識でやってこられた会社がどこか知りたいぞ:-p
  • Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ

    なんども繰り返される話でうんざりなんだけど、繰り返されるたびに反論するのもアレなので、URL貼れるように記事にしておく。 Goが頑なにジェネリクスいらないというだけ他の言語勢から失笑買ってるというのは自覚して— {{alert()}} (@mizchi) 2017年9月19日 頑なに要らないと言ってる人が具体的にどの発言のことを差してるのか分からないけど、コア開発者たちはツールチェインやランタイムの進化を優先していただけで頑なに拒否してたりはしません。今はツールチェインやランタイムが大分進化したから、Goの適用範囲を広げるためにジェネリクスを含めて機能追加も検討し始めようかっていうフェーズです。 あとどの言語にもちょっと公平的な見方ができなくなった痛いファンはいるもので、そういった人たちをいちいちあげつらってこういう言い方で失笑するのは、別に止めはしないけど自分の格を下げるだけだと思う。

    Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ
    mohno
    mohno 2017/09/20
    Go、ジェネリクスないんだw まあ、C++も最初からテンプレートがあったわけじゃないし、C#もジェネリクスは2.0からだし、もちろんJavaも後から追加された機能だけど。
  • 2017年、人気のプログラミング言語トップはPython。C、Javaが続く。検索、Google Trends、Twitter、GitHub、Stack Overflowなどの人気を総合

    2017年現在、もっとも人気のあるプログラミング言語は「Python」。2位は「C」、3位は「Java」だと、電気通信分野の標準化団体であるIEEE(アイトリプルイー)が発行するオンラインマガジン「IEEE Spectrum」が、記事「The 2017 Top Programming Languages」で発表しました。 Pythonは昨年から2つランクアップで1位へ 1位となったPythonは昨年3位だったのが2つランクをあげて1位に飛び込みました。ただし、2位のCとの差は0.3ポイント、3位のJavaとの差も0.5ポイントと、1位、2位、3位の差はほんのわずかなものでした。 ちなみに4位のC++は約3ポイント離れた97.1ポイント、5位のC#は10ポイント以上離れた87.7ポイントですので、いかに上位3位の人気が堅いものかが分ります。 ただ、Pythonはたしかに統計処理などの分野を得

    2017年、人気のプログラミング言語トップはPython。C、Javaが続く。検索、Google Trends、Twitter、GitHub、Stack Overflowなどの人気を総合
    mohno
    mohno 2017/07/23
    「ネットなどで情報交換が盛んな言語の方が有利」「GitHubで使われている300種類のプログラミング言語をリストアップ…Google検索にかけ、件数が多い48種類に…10種類の情報源から12種類のメトリクス…総合的にポイント化」
  • Pythonが2017年の覇権言語に - Rubyは12位に転落

    IEEE Spectrumは18日、独自の指標によって決定した人気プログラミング言語のランキング「The Top Programming Languages 2017」を発表しました(Neowin)。 上記画像がその結果で、スクリプト言語Pythonが1位に、C言語が2位に、Javaが3位になっていることがわかります。Pythonは2016年の3位から1位へのランクアップで、背景にはやはり近年注目を集めるAI機械学習分野のライブラリの充実があるのかもしれません。 2位のJava言語は最近何かと批判を集めがちですが、需要は根強く、特に「仕事」系のプログラミング言語としては相変わらずトップクラスの人気を誇っているようです。 その他、Go言語が9位に上昇した反面、Rubyが12位まで下降しています。 IEEE Spectrumのランキングは、GoogleGitHub、Stack Overfl

    Pythonが2017年の覇権言語に - Rubyは12位に転落
    mohno
    mohno 2017/07/23
    "Pythong"w しかし、まあ「C言語が2位」って、ホントに“人気”があるのかなあ:-p
  • 小ネタ 「deconstruct」という単語 | ++C++; // 未確認飛行 C ブログ

    今日も、小ネタなような、C#7思い出話なような。 C# 7で、分解という機能が入ったわけですが、英語だと deconstruction という単語になります。 分解という機能のおさらいですが、以下のような書き方でタプルなどの型のメンバーを抽出できる機能です。 var (x, y) = tuple; これ、他のプログラミング言語だと、destructuring とか呼ばれたりしています。 といっても、文法上正式に destructuring と呼ばれているわけではないんですが(大体の言語は文法上は単に「pattern」とか呼ばれる機能)… まあ、解説ページなんかでは destructuring と呼ばれます。 で、今日、何が言いたいかというと、 deconstruct : デコンストラクト destructuring: デストラクト 並べるとわかりますかね。 「con」の有無。 decons

    小ネタ 「deconstruct」という単語 | ++C++; // 未確認飛行 C ブログ
    mohno
    mohno 2016/12/17
    "destructor"の元は、C#の元になったC++。日本語では構築子/消滅子という訳語が不評でカタカナになったという経緯も。圧縮/解凍も言葉は色々だったし、結局誰かが“こう”と決めるしかないんだろうな。
  • 長文日記

    mohno
    mohno 2016/07/01
    「プログラミング言語の話はすぐに宗教論争に行く」だなあ。「プロのプログラマーなら、最低6言語、ふつう20言語くらいは一通り使えてるべき」←えぇぇw
  • 僕がIDEではなくテキストエディタでプログラミングする理由 | 非IT企業に勤める中年サラリーマンのIT日記

    一般的にプログラミングというのは総合開発環境(IDE)を使って開発するものです。JavaだったらEclipseとかNetBeans、C#だったらVisual Studio、AndroidだったらEclipseかAndroid Studioと、だいたい決まっています。 でも僕はどれも使いません。 何を使っているかというと、IDEじゃなくテキストエディタのみ。コンパイルはコマンドプロンプト上でコマンドを打つという原始的な方法をとっています(実際はバッチファイルを作ってそれを走らせる)。この話をするとたいてい不思議がられますね。何でそんな無駄なことするんだ、みたいな。 [ad#top-1] IDEを使うとプログラミングを覚えない まず第一の欠点はこれ。当然ながらIDEはプログラミングの補助をしてくれるので、自動で必要なコードを生成してくれる頭のいい奴です。でも、これって便利な一方で、プログラミン

    僕がIDEではなくテキストエディタでプログラミングする理由 | 非IT企業に勤める中年サラリーマンのIT日記
    mohno
    mohno 2016/07/01
    C++Builder 悪者かよw WPF に関してはデザイナー使わず XAML でゴリゴリ書くけど、それは余計なモノが付けず思い通りに動かすためで、プロパティとかメソッドの名前を覚えるのが学習じゃないというか。あと速いPC使え。
  • プログラミング言語の相関図を表したサイト「Programming Language Influence Network」 | ライフハッカー・ジャパン

    「玄関ドア」からはじめる防犯対策。「ドアを破られない」「鍵をかけ忘れない」の2軸が大事【今日のライフハックツール】

    プログラミング言語の相関図を表したサイト「Programming Language Influence Network」 | ライフハッカー・ジャパン
    mohno
    mohno 2016/03/12
    Delphi孤島になってるw (Object Pascalはリンクが張られている) C#のLINQとかdynamicとかasync/awaitはどこから来てるんだろう。
  • 2月言語ランキング、成長傾向のC++とPython

    TIOBE Softwareから、2016年2月のTIOBE Programming Community Index (PCI)が公開された。TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語がどれだけ話題になっているかをインデックス化したもの。2016年2月におけるインデックスは次のとおり。 順位 プログラミング言語 インデックス値 推移

    mohno
    mohno 2016/02/15
    「複数の検索エンジンの検索結果から、対象となるプログラミング言語がどれだけ話題になっているかをインデックス化したもの」←「C言語」が1位からランク落ちしてるが、そんなに話題になってるのか。
  • TechCrunch | Startup and Technology News

    The RAW Dating App aims to shake up the dating scheme by shedding the fake, TikTok-ified, heavily filtered photos and replacing them with a more genuine, unvarnished experience. The app…

    TechCrunch | Startup and Technology News
  • 1