ブックマーク / nowokay.hatenablog.com (8)

  • 建築では多重下請けでやれてるのに業務システムでだめなのはなぜ? - きしだのHatena

    建築では多重下請けでやれてるのに業務システムでだめなのはなぜ?という質問がブコメであって、似たような話もいくつか見かけたのですが、建築などの施工図面に相当するのはソースコードで、建築現場で多重下請けでやってる作業は、ソフトウェアだと(でも?)ビルドです。なのでソフトウェアでは自動化されています。 もしも業務システムの納品物が、バベッジの階差機関のような歯車を組み合わせた機械式の計算機で、ビル一棟分に歯車をつめこんで組み立てて納品するというようなことになれば、多重下請けで分業してビルドするのが最もよい方法ということになると思います。 追記 「継続的デリバリーのソフトウェア工学」では、「ソフトウェア開発を選んだ私たちがバカでない限り、私たちにとっての製造とは、ビルドボタンのクリックです」とあります。橋梁建設を例に、物理的な製造・生産との違いが説明されています。 継続的デリバリーのソフトウェア工

    建築では多重下請けでやれてるのに業務システムでだめなのはなぜ? - きしだのHatena
    toro-chan
    toro-chan 2024/07/17
    建築との違いはソフトウエアに物理的形状がないことだろう。進捗を見ようとしても見えない。ネットワーク/ホスト構成さえオンプレやk8s、AWSではそれぞれ意味が異なり役割分担が変わる。
  • 多重下請けでは構造的にいいソフトウェアが作れない - きしだのHatena

    多重下請けではエンジニアが育たないという話を前回のブログで引用していたのですが、そもそも多重下請けではまともなソフトウェアは開発できないんではないかという気持ちになりました。 多重下請けでは、上位受け会社の「SE」が「設計」を行い、下位受け会社の「PG」が実装を行うという役割分担があります。というか、今回の話はそういう役割分担がある多重下請けを前提とします。 そうすると、設計というのは会社間をまたがった契約文書であり、発注のための作業指示書であるということになります。ソフトウェア開発で質的に必要な文書というよりは、ビジネス構造によって必要になったビジネス文書です。ちなみに派遣ではなく業務委託のはずなので詳細な作業指示になってはいけないのもポイントです。 ※余談ですが「設計は必要である」という人の話をきいてみると、必要なのは実装のための設計ではなく保守のためのドキュメントということがほとん

    多重下請けでは構造的にいいソフトウェアが作れない - きしだのHatena
    toro-chan
    toro-chan 2024/07/17
    設計とは、か。規模によるが、PGができないのは要件定義。逆に要件定義が「詳細」にあれば設計はいらない。ソースコードが設計書。ソースコードがわからないのは単に無能に過ぎない。まぁ設計書がないと外注は無理
  • 時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena

    この文章みてください。 オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかはオブジェクト指向に基づいて作られているようだから、そういうツールとかを作る人には必要なものなのかもしれない。しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。どうもこの業界、オブジェクト指向でなければダメ、というような風潮がまかりとおっているけどな、オブジェクト指向なんか当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、カプセル化とかポリ何とかとか、どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな…… 「またお前、オブジェクト指向の話をしてるのか」と思ったかもしれませんが、2010年

    時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena
    toro-chan
    toro-chan 2024/02/09
    staticおじさんが批判されてたのは、staticの是非じゃなくて、自分が勉強する気もないのに根拠なくオブジェクト指向を批判していたから。よって時代が追いついてなどいない。ITに勉強が不要というなら別だが。
  • シンギュラリティは来ない - きしだのHatena

    ChatGPTが思いがけずいろいろなことを人間より賢くやっているのを見てシンギュラリティという言葉を使う人が増えたように思いますが、逆に、シンギュラリティは来ないのではという思いを強くしています。 まず、この文章でのシンギュラリティがなにかという話ですが、レイ・カーツワイルが「シンギュラリティは近い」の1章の終わりで「さあ、これが特異点だ」といっている特異点、そのシンギュラリティです。 シンギュラリティは近い―人類が生命を超越するとき 作者:レイ・カーツワイルNHK出版Amazon この特異点は単にAIが人間より賢くなるというだけではありません。人間より賢くなるだけだと、便利な道具が増えるだけなので、大騒ぎするほどの変化は起きません。人の仕事を奪うといっても、蒸気機関ほどでもないですね。印刷機などと並んで、人の生活を変える転換点にすぎず、ただひとつの点をあらわすシンギュラリティには なりま

    シンギュラリティは来ない - きしだのHatena
    toro-chan
    toro-chan 2023/04/19
    私は逆にシンギュラリティは来るかもと思ってる派。もちろんChatGPTそのものではない。データセットが巨大なら人間を超えられる可能性を示した時点でいい感じだと思ってる。人間が思うより特異点は遠くない
  • オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena

    「オブジェクト指向するとプログラムが読めなくなるから禁止」のような話は昔からあって、新しい技術についてこれない人を揶揄するようなニュアンスで使われていましたが、実際にはこれはオブジェクト指向迷路にうんざりした現場での率直な意見だと思います。 オブジェクト指向は、まじめにやるほどプログラムを読みにくくするという性質をもっています。 ※ 使い方次第というコメントついてますが、だからこそちゃんと性質をしっておく必要があると思います。 オブジェクト指向の代表的な指針を3つあげると次のようなものがあります。 オブジェクト同士の連携としてプログラムを組む 単一責務の原則 インタフェースと実装の分離 まず、オブジェクト同士の連携でプログラムを組むと、コードが飛びまくって追いにくくなります。そして単一責務の原則により、小さいクラスが大量に生成されて、追いにくさがさらにあがっていきます。 ダイクストラ先生が

    オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena
    toro-chan
    toro-chan 2023/02/25
    DDDもレイヤーで完全分離すると、どこが何を呼び出してるのか分からなくて複雑で読みにくい。システムが複雑なのだからどうやっても複雑で読みにくくなるのだろうと思ってる。その「複雑」をどうするかは難しい。
  • なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena

    1990年代にオブジェクト指向分析・設計の方法論がめちゃ流行ったことがあります。 ただ、そのブームが終わって、後続となるような方法論が流行ることはありませんでした。 で、なぜなのか考えていたのですけど、オブジェクト指向方法論のウリは分析段階で出てきたオブジェクト(といいつつクラス)がコードにそのまま引き継がれるというものでした。ようするにオブジェクト指向方法論というのはコードのスケッチを書いて詳細化していくというものだったのです。 しかしながらこれは、スケッチとして書いた分析・設計が間違っていればコードも間違うわけで、強くウォーターフォールの性質をもつものでした。 結局のところスケッチの妥当性というのはコードを書かないと検証ができません。分析・設計段階で見出されたクラスが妥当かというのは、コード書かなければわからなかったのです。逆に、コードを書けば妥当かどうかわかります。であれば、最初から

    なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena
    toro-chan
    toro-chan 2022/08/05
    それ以外方法論がないということは、結局構造分析して関数分けしているだけになるが、それでいいのだろうか。if elseの嵐や、700行ある関数があっても、関数で分けてれば問題ない感じになるけど。。
  • オブジェクト指向はすでに粒度が時代にあっていない - きしだのHatena

    定期的にオブジェクト指向disを書いてしまってるのだけど。 とりあえずオブジェクト指向の話をすると定義が人によって違いすぎるので、改めてここでの定義を書いておくと 、基的にはOMTの「データ構造と振る舞いが一体となったオブジェクトの集まりとしてソフトウェアを組織化すること」 に従うのですが 「1990年に流行りソフトウェア開発のすべてを飲み込み、いまとなっては人それぞれ定義が違って技術的議論に使えなくなった、主にオブジェクトを基単位としてプログラムを整理するやりかたを指すマーケティング用語」 という感じです。 ほとんどの場合で人によってオブジェクト指向の指す範囲が違いすぎて、技術的知見の共有には使えなくなっています。でも、いずれの定義にしろオブジェクトを基単位にするというのは重要ではないかと。 ソフトウェアの組織化の単位としてオブジェクトを使うというのが大事で、データの搬送に構造体代

    オブジェクト指向はすでに粒度が時代にあっていない - きしだのHatena
    toro-chan
    toro-chan 2021/09/25
    オブジェクト指向と再利用が全く関係ないものであることが明らかになってきたと思う。機能分割しても、なんであっても、再利用できるのは出来るし、出来ないものは出来ない。
  • オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena

    某所でオブジェクト指向についていろいろ書いたのでまとめておく。 問題意識としては初学者がなにかというと「オブジェクト指向できるようになりたい」のようなことを言うけどそこまでの優先順位でがんばるものではないんでは、というところです。 まず前提として、オブジェクト指向は1980-2000年くらいに流行って発達したものの、それ以降は時代にあわせた進歩はしていない20年以上前の技術ってのがあります。 そのころは今だとCPUのキャッシュにも満たないようなメモリをやりくりしてプログラムを書く必要があったので、オブジェクト指向はメモリ上のデータをコピーすることなくうまく使いまわせるようなプログラム技術になっています。 そしてオブジェクト指向にはそこから目だった更新はなく、タイトルに書いたように、カメラがやっとついたくらいのガラケーのような古い技術という感じがします。 オブジェクト指向について、アプリケー

    オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena
    toro-chan
    toro-chan 2021/01/21
    関数型が新しいって言われると、苦笑いしかない。とっても古くからあるのに。。Lispさんの立場。。
  • 1