タグ

開発ときしだに関するmohnoのブックマーク (9)

  • 日本のSIerの技術力の低さの要因から考えるアメリカソフトウェアの強さ - きしだのHatena

    この連休はなんだかSIerについて考えることが多かったのですが、そういうことを考えると、なぜアメリカのソフトウェアが強いのかがわかってきた気がします。 まず、もちろんSIer技術力が低いといっても技術力が高いSIerもいるわけで、とくにこのブログを見てる人だと技術力の高い側にいる人が多いと思います。 けれども、DX白書2023によればSIerIT人材というのは75万人いて、技術力の高い人はその一部で、多くは技術力の低い側にいるんじゃないでしょうか。 https://www.ipa.go.jp/publish/wp-dx/gmcbt8000000botk-att/000108046.pdf 2014年、ちょうど10年前に、プログラマはSIerと自社サービスで2分化するんではないかというブログを書いていますが、そのまま現実になった形です。 プログラマ業界の二分化 - きしだのHatena

    日本のSIerの技術力の低さの要因から考えるアメリカソフトウェアの強さ - きしだのHatena
    mohno
    mohno 2024/07/16
    日本の技術力の平均が低いのはメンバーシップ型雇用だから情報系の教育を受けてない人でも入社後に研修を受けてエンジニアになる、というレベルの人が多いからで、SIerという業態も含め、今さら変えられないでしょ。
  • 時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena

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

    時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena
    mohno
    mohno 2024/02/08
    「オブジェクト指向」←なんつーか、フィボナッチ数列には要らんだろうけど(むしろ再帰すら使わん)、業務アプリの開発には必要というか、普通にフレームワーク使うよね。
  • きれいなコードは互いに似通っているが、クソコードはどこもその趣が異なっている - きしだのHatena

    先日のJJUG CCC 2023 Fallの懇親会でクソコードを研究しているという学生がいたのだけど、クソコードの研究は難しいという話をした。 人工的にクソコードを再現しても、あの野生のクソコードのクソさには全く足りないわけで。 トルストイが言うように「すべてきれいなコードは互いに似通っているが、クソコードはそれぞれにクソの趣を異にしているものである」なので、なかなか「これがクソコード」のように類型化するのも難しい。 典型的なクソコードを書いてみても、なんだかきれいなクソコードができてしまう。 クソコードはネットに出回らないので、資料の収集もまた難しい。ネットにないということは、ネットの情報に基づいている「AI」もホンモノのクソコードには触れていないことになる。 クソコード収集サイトをつくっても、実際のクソコードは業務固有処理も含まれるので、掲載できる形に整理していくと来のクソさが薄れて

    きれいなコードは互いに似通っているが、クソコードはどこもその趣が異なっている - きしだのHatena
    mohno
    mohno 2023/11/17
    「なぜそれが書けてqsortが呼び出せないんだ!」←覚えはいくらでもあるな、そういうこと。今なら「この手の処理は絶対誰かが書いてるだろ」と思って参考情報を検索するけど、昔はそういう手段もなかったし。
  • Java 20, 21, オブジェクト指向からデータ指向へ / Java20, 21, Object Oriented to Data Oriented

    2023/5/10(水)に開催されたTechFeed Experts Night#18での登壇資料です。 https://techfeed.io/events/techfeed-experts-night-18

    Java 20, 21, オブジェクト指向からデータ指向へ / Java20, 21, Object Oriented to Data Oriented
    mohno
    mohno 2023/05/12
    “オブジェクト指向からデータ指向”←意味が分からなかったが "Java 20" の話らしく、Oracle がそういう表現をしているのかな。/なんか C# で見たような拡張が。/ってか、Javaも積極的に拡張するようになったんだなあ。
  • オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena

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

    オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena
    mohno
    mohno 2023/02/25
    “オブジェクト指向を禁止”っていう人、それでどうしろっていうの? 関数ライブラリにしろと言ってるの?/技量もないくせにクラスライブラリを書くな、という話なら分からんでもないが。
  • ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena

    ChatGPTのヤバいところは、論理処理が必要だと思っていたことが、じつは多数のデータを学習させた確率処理で解決可能だと示したことだと思います。 たとえば、このように正規表現にマッチする文字列を生成するには、特別に専用の論理処理が必要だと思っていました。 前のブログのときには特殊処理が必要だと考えてましたね。 ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena けど、123_45678world.mdはマッチするのにマッチしないと言っているので、そのような誤りが入ることを考えると、どうも確率処理だけでやっているようです。 考えてみると、3層以上のニューラルネットであれば論理素子を再現できるので、ディープラーニングで論理処理を模倣することは可能なんですよね。 バックプロパゲーションでニューラルネットの学習 - きしだのHatena そもそも論理は、多数の

    ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena
    mohno
    mohno 2023/01/11
    テストは書けるんかな。「あとは論理的な確認を行うようにすれば完璧」←プログラムが正しいかどうか人的に確認しなきゃいけないなら、自分で書く方が速い予感(ChatGPTは電力消費が大きいらしいし)
  • Javaで作るのは他人のためのプログラム、Pythonで作るのは自分のためのプログラム - きしだのHatena

    JavaやCで組むのは他人のためのプログラムで、Pythonで組むのは自分のためのプログラム、という違いがないかなという話。 TIOBEでとうとうPythonが1位になったというニュースが流れてました。 https://internet.watch.impress.co.jp/docs/yajiuma/1357645.html でも、Pythonが1位になったとはいえ、CやJavaであったような、世の中のプログラム全部Pythonになるみたいな雰囲気はないなと思いました。 で、こんなツイートをしたわけです。 PythonJavaやCを抜いて1位になるのは、JavaやCが担っていたところがPythonに置き換えられたのではなくて、他人のためのプログラミングではなく自分のためのプログラミングが増えたということじゃないかなと思う。https://t.co/LeM3ADCwAA— きしだൠ(K1

    Javaで作るのは他人のためのプログラム、Pythonで作るのは自分のためのプログラム - きしだのHatena
    mohno
    mohno 2021/10/13
    そうなの? TIOBEのランキングトップになるくらいだから、人工知能とか深層学習とかの需要が増えてきたんじゃないかと思ったのだが。JavaやCを置き換えてはいないだろうけど。
  • 2021年の「オブジェクト指向」を考える

    きしださんが先日もたのしいお題を投下されていました。 出遅れましたがこのネタについて少し掘り下げてみます。 念のため個人的なスタンスをあらかじめ表明しておくと、オブジェクト指向に対してはそれなりに好意的ですが、別に時代の最先端だとかソフトウェア開発に必須の知識というほどではない(でも知っておくと便利というか、知らないと不便なこともあるかもしれないのでわざわざ避けるのはおすすめしない)というくらい温度感です。 オブジェクト指向 is 何 そもそも「オブジェクト指向」という言葉自体、座りの悪い言葉です。 意味が明確なのは「オブジェクト指向プログラミング(OOP)」、「オブジェクト指向プログラミング言語(OOPL)」、「オブジェクト指向設計(OOD)」「オブジェクト指向分析(OOA)」といった「オブジェクト指向なんとか」の方で、それらをふわっとまとめた(ような気がする)単語が「オブジェクト指向」

    2021年の「オブジェクト指向」を考える
    mohno
    mohno 2021/10/10
    「Algorithms + Data Structures = Programs」という手続き型言語の時代からやってきてると「Algorithms + Data Structures = Objects」(いわゆるカプセル化)が基本なんよ。それがプログラム間になればサービス指向とかDIとかいう話になる。
  • オブジェクト指向はすでに粒度が時代にあっていない - きしだのHatena

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

    オブジェクト指向はすでに粒度が時代にあっていない - きしだのHatena
    mohno
    mohno 2021/09/25
    「ソフトウェアの部品を組織をまたがって再利用する方法としてはWeb APIが主流」←その分野に詳しくないけど、Web APIを何で作るの?オブジェクト指向を使わないってC++じゃなくCを使う、みたいに受け取れちゃうんだけど。
  • 1