2015-04-15

ソフトウェア技術革新って必要なのかな?

プログラマの間では昔から、この手法は処理が遅いだとか、無駄が多いだとか、再利用を心がけろだったりとか

様々なやり方で、ソフトウェアをチューンナップして処理速度を上げるためのやりとりが際限なく

繰り返されているけど、だいたいどれもハードウェア技術革新によって記録は塗り替えられてないかな。

そりゃ、ミドルウェアレベルでは全てのパフォーマンスに影響してくるので、ちまちまとした

改良が加えられるべきなんだけど、ソフトウェアレベルではどうなの?

I/Oに引きずられるから、I/Oの処理は最低限に抑えるってのが昔から定説だけど

それもSSDの登場で、かなり緩和された感があるし、結局プログラマ努力って

ハードウェア努力には追いつかないし、無駄なのではないかと思ってる。

10年前を支えたプログラム技術で今も生きているものってある?

オブジェクト指向とかプログラムのわかりやすさを追求したものは別でね。速度的なもので。

そう考えると、プログラマは、プログラムの変更のしやすさ、可読性のよさ、移植性の高さといった

所のみを追求していって、速度はハードウェア依存する形で良いんじゃないんかな。

ファミコン時代にも、ナーシャ・ジベリという天才プログラマーファミコンの性能を

突破してFF3を作ったというのは有名だけど、でも結局そのプログラム当人しか解読できないし

まるのまま移植はできないから、結局リメイクという形になってしまったわけだし、

FF3は当時はすごくても、1〜2年後には他の機種もでてきて、そのすごさも塗り替えられてるわけだし

そう考えるとソフトウェアをちまちまとあれこれしたところで、一瞬脚光浴びるだけじゃないかと思う。

そんなことに金と時間を費やすのは、無駄だと思う。



追記

ソフトウェアアプリケーションと読んでください。

意味不明文章すみません

後、OS等の基本ソフトも当然、技術革新必要だと思います

一般的プログラマが作るプログラムレベルでの話ですね。



なんだか圧倒的に勘違いで噛み付いてくるトラバが多いのですが

私はどちらかというと、速度を追い求めている立場側で、昔からレスポンスは1秒以内って

散々言われてきたし今までも、苦心してあれこれ頑張ってプログラム内で

処理速度を上げるために努力をしてきた人間ではあります

しかし、その努力が今活かせているのかというと、疑問が残るという具合です。




速度が遅いのを放置してるわけにはいかないだろって、ありきたりな一般論が聞きたいわけじゃないんですよね。

そんなの当たり前にわかりきっていることなんですけども。

実際問題、今は可読性の良さを上げながら、パフォーマンスも上げながらと、苦心しているわけじゃないですか。

でも、その力を、可読性を上げたり、チームで分散できるようにしたり、プログラムのしやすさを良くする方に

傾けたほうがいいんじゃないかなと思うんですよね。速度も大事ですけど、そこまで力をいれるものかって。



ブコメ見てたら沸点低い人が多くてびっくり。

必要かそうじゃないか、といったら、必要なのはわかりきってますって。

それを踏まえた上で、疑問を問いかけてるんだけども。

ブコメで指摘いただいたように、技術革新という言葉ダメですね。

すみません


ホッテントリする内容なんかねー

頭の硬い人ばっかだねー

  • 再利用は生産性をあげるための工夫で処理速度をあげる工夫じゃないし。

  • ミドルウェアと対比するならアプリケーションレベル、かな。細かいけど。

  • 10年前を支えたプログラム技術で今も生きているものってある? クイックソートとかな

    • おお、それは確かに。 でも 昔→DBでソートすると遅いので、一括でデータを落としてきてメモリでクイックソートする 今→DBでソートしたほうが早い みたいになってないですかね。...

      • ゲームなんかの「オブジェクトが少ない」アプリケーションでも今や100万200万のオブジェクト量は当たり前だし、 クイックソートで間に合うようなシステムは今の世にはもう無いとしか...

      • いや別にどこでソートしようと計算量オーダーは変わんないだろ。 正直馬鹿にする意図で書いたのに本当にそういうレベルの話を求めていたとは…。 計算量オーダーを落とすアルゴリズ...

        • ん? えーと、なので、ミドルウェアの革新は必要だという前提なのですね。 アルゴリズムも必須なのはわかりますが、それを1プログラマが意識する必要ありますかね。 ミドルウェ...

          • そういう奴はアルゴリズムの性質とか適用範囲とかを理解してねーから馬鹿の一つ覚えみたいに使って速攻で事故を起こす。 fizzbuzz書けないとかそういう連中に近いものがある。

            • 私はそういう事故はおこしたことないですが、具体的にどういう事案ですか? データ量が膨大になった時のことを考えていないから、実際に増えた時にコケるとか? サーバーのCPUぶんま...

              • MySQLでユーザ1に対してNで紐づいてるデータが入ってるテーブルで、インデックス貼ってないレコードを指定して SELECT * でORDER BY してる奴とか、リアルタイムでも沢山おるやろ。

              • 「ソフトウェア」がいつの間にか「アプリケーション」になってるのがまず意味不明だが、それは置いておくとしても、 シーケンシャル処理との結果の一致性が保証されていない分散ア...

          • 正直、転置インデックスはフレームワークレベルで内部にて勝手に処理しておいてほしいもの (例えば、ゲームエンジンであればx,y,zの座標情報をインデックス化して距離検索に利用す...

      • DBの中ではクイックソートって使われてないの?

  • イベントドリブンの父、オフマーも言ってたけど 「当時は目に見えないほど小さな成果でも、後世、技術革新と振りかえられるものこそが技術革新である」 らしいじゃん。 そういうこ...

    • うーん、ちょっとひらめいた感ありますねこれ。 確かに技術革新というのは一人の手によってされるものではなくて 今まで積み重なってきたものが、人々が実感できる形となって革新...

  • なんかレイヤが混ざってる気がするな。 確かに最適化っていうのはプラットフォームに依存するんで、ハードやインフラが変化すれば不要になるものも多いよ。でもさ、ハードの進歩を...

  • 「この手法は処理が遅い」っていう話には2種類ある。オーダーで差が出るものと、定数係数に影響するものだ。 オーダーで差が出るものは長期的にあまり色褪せないけど、今現在扱っ...

  • 処理速度を上げるために必要な工数と、 処理速度を上げたことによって得られるビジネス的価値を判断して、 各自やっていくしかない。

  • なんだか圧倒的に勘違いで噛み付いてくるトラバが多いのですが ブコメ見てたら沸点低い人が多くてびっくり。 必要かそうじゃないか、といったら、必要なのはわかりきってますっ...

  • 自分も一文字たりとも無駄のないコードを書くのに血道あげてた事あるから何か分かるわ。 そんなお前にはグレートなマザーの言葉を伝えたい。 「あなたの多大な努力をハードウェアの...

  • 圧倒的に勘違いで噛み付いてくるトラバが多い ブコメ見てたら沸点低い人が多くてびっくり。 自分の文章がまずいのを読み手のせいにするやつはなにを書いてもダメ。 ……と書...

  • プログラミング技法は速度重視ではなく、安全性や信頼性を重要視していくという流れはその通りだと思う。 プログラミング言語に関する最も権威の高い国際学会ICFPを見ても、最近の...

  • そのやり方にはもう富豪的プログラミングって名前がついてる http://anond.hatelabo.jp/20150415090043

  • 大量のデータの中から最適なものを選んで50ミリ秒以内にレスポンスを返さないといけないものを作っているので もっと技術革新してくれたら、もっと簡単に作れるのにって思ってる。

  • 計算量オーダーの概念を知らない人?! と思ったけど、 技術革新じゃなくて、泥縄なオプティマイズの話な?!

  • この増田の文章力というかロジック構成力でまともなプログラム書けるんだろうか…

  • そりゃまぁ、あるべき進化を「当然に必要」と謳って、後だし設定で条件をどんどん足して「不要なもの」にしたんだから、不要だよな。 話の途中で、「不要になる条件」をモリモリ足...

  • というか、移植性とか保守性なんてもんが幻想

  • ありきたりな一般論が聞きたいわけじゃないんですよね。 全く同意だ。 高速化手法を具体的に列挙して、ほら全部ダメじゃん、って示してもらわないと。 FF3 当時、スクウェアはどう...

  • その基板のプラットフォームの変化を乗り越えて生き残るアプリケーションは殆ど無いからね。 あと技術革新ってのは外部では必然的に起こることなので、やり続けたいなら対応せざろ...

  • その基板のプラットフォームの変化を乗り越えて生き残るアプリケーションは殆ど無いからね。 あと技術革新ってのは外部では必然的に起こることなので、やり続けたいなら対応せざ...

記事への反応(ブックマークコメント)

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