メインコンテンツへスキップ

ソフトウェアを破壊している私たちの現実とは

·2 分
2025/02 ソフトウェア 開発 テクノロジー エンジニア 課題

ソフトウェアを破壊している私たちの現実とは

引用元:https://news.ycombinator.com/item?id=42983275

stefanos82 2025-02-08T20:30:48

記事を読み終えた時、Dieter Ramsの“良いデザインの10原則”が思い浮かんだ。彼の原則はUNIXの哲学と似てるな。特にデザインは革新的で、役に立ち、長持ちするものだよ。

musicale 2025-02-08T23:12:01

UNIXの哲学は、実際にはいくつかの良いデザイン原則と一致してるけど、実態はちょっと苦笑い。UNIXは簡素化を進めたけど、それが本当に良いかどうかは微妙だし、Linuxも複製しただけなんだよね。

grose 2025-02-09T04:23:05

UNIX-HATERSハンドブックに出てきそうな内容だね。古い時代の悪文句で、笑える。

pjmlp 2025-02-09T07:36:44

UNIXハーターズハンドブックはUNIXを言葉だけで崇拝する人たちには理解されないだろう。UNIXには良い面もあったけど、批判的に見るべきだ。彼ら自身が新しいアプローチを開発してるのが全てを物語ってるよ。

AnonymousPlanet 2025-02-09T08:50:04

UNIX Hater’s Handbookは、UNIXの哲学を否定するものではなく、実装の不整合や独自性への不満に関するものだよ。多くの人が哲学と実装を混同してるのも問題。

pjmlp 2025-02-09T08:51:12

それは両方とも言えるね。FOSS界隈ではUNIXが崇拝されてるけど、それ以外の人はその哲学なんて気にしてないよ。

oneeyedpigeon 2025-02-09T09:43:04

みんなが何かの根本的な哲学なんて気にしないよ。結果に関心があるだけだから、UNIXは今でも多くの人にとってちゃんと機能してる。

iforgotpassword 2025-02-09T08:47:12

その本の内容の多くは今では古く、笑いのネタになってるよ。未来の革新についての予測も全然当たってないし。

lproven 2025-02-10T14:46:04

実際に読んでみると、つい最近まで全然現役だった部分も多いけどね。特に設計やユーザビリティの観点は今でも有効。

iforgotpassword 2025-02-11T07:50:06

ユーザビリティの問題は結局、使い慣れたものが好きってだけだと思ってる。色んなOS使ったけど、今はLinuxが自分に合ってる。結果的にLinuxが動作するのが一番大事だからね。

tmcdos 2025-02-11T13:31:56

Win7が最高で、アップグレードしたくない気持ち分かるわ。更新もせず、特にテレメトリ含むやつは避けてるし。Linuxと戦う時間もないし、BeOSやOS/2みたいに良いOSが消えたのが残念。HaikuはBeOSの後継だけど寄付が少ないのが問題。

lproven 2025-02-13T12:11:35

俺も同じような技術背景だけど、>”使い慣れたXだからYが嫌いだ”って意見には賛同できないな。UnixやCの使い勝手の問題は本物だし、プログラマー向けに作られてるから、それ以外の人には厳しいよ。GUIが shiny になっても、ユーザーフレンドリーさは変わらない。

motorest 2025-02-09T11:38:44

>創設者がPlan 9やGoを作って進化したって言ってるけど、それは単に違うアプローチであって良くなったわけじゃないよ。Plan 9は分散コンピューティング向けに設計されて、UNIXの目標とは違ったけど、結局は普及しなかった。今もUNIX系が主流だし、それが「良いアプローチ」という考えにどう反映されるのかな。

cjfd 2025-02-09T08:37:49

’creat’って略し方はちょっとバカっぽいけど、そこが逆に居心地良いんだよね。逆の例もあるけど、あんな世界から抜け出して仕事変えたこともある。

avidiax 2025-02-08T20:41:19

これってUNIXの哲学っぽくないね。俺の印象では、UNIXはここの説明みたいだな。

MonkeyClub 2025-02-08T20:58:52

この考え方は非公式に半分体系化されてる。

blueflow 2025-02-09T11:48:55

規則が一般的すぎて、何が“革新的”、何が“役立つ”かわからないから、あんまり役に立たない。残りの7と9は測定可能だけど、主観的な部分が多いよ。

epolanski 2025-02-08T23:39:49

>良いデザインは革新的だって言うけど、なんで?芸術的な観点でそう言ってるのかもしれないけど、工学的には見えないな。

idle_zealot 2025-02-09T03:38:01

革新的でなければ、単に車輪を作り直してるだけで、他の良いデザインを使った方が良いよ。

cgh 2025-02-09T05:13:04

記事からの引用だけど、>“新しいプログラマーに‘車輪を再発明するな’って言ってるけど、車輪を再発明することで学ぶことができるし、新しい、違う車輪を作る最初のステップなんだ。”

もっとコメントを表示(1)
idle_zealot 2025-02-09T06:35:11

車輪を再発明するのは素晴らしい学習体験だけど、いいソフトウェアにはならないよね。

mytailorisrich 2025-02-09T10:24:59

Dieter Ramsは工業デザイナーだから、彼の10の原則はデザインについてで、ソフトウェアではないんだ。デザインの文脈では”良いデザイン”は何かしら革新があるべきだけど、エンジニアリングでは必ずしもそうじゃないし、むしろそうすべきじゃない場合も多い。

scarface_74 2025-02-08T23:53:00

アート的デザインはiOS1〜6の不必要なスキューモーフィズムにつながる。

gamedever 2025-02-09T04:20:29

最近の、何がクリックできるのかを推測するデザインよりは、昔の方が大分良かったよ。

MadWombat 2025-02-09T06:22:28

これって”どれか2つ選べ”ジョークの一種だと思うけど、だいたいの項目が相反してる気がする。

0x1ceb00da 2025-02-09T04:51:38

>良いデザインは正直であるべき
>すべてはファイルだ

hannasm 2025-02-09T07:13:37

この2つの言葉が対立しているって解釈してるの? ”ファイル”とは何を意味するのかも気になる。ある意味では、アクセスできるファイルディスクリプタのことかもしれないし、複数のファイルを持つべきハードウェアもある。

gyomu 2025-02-08T23:14:33

Ramsの原則は、当時のデザインの話が未熟だったので注目されただけで、今は単純で空虚な印象で、実際の意思決定には役立たない。まずお客からの様々な要望を考える方が大事だよ。

skydhash 2025-02-09T02:14:07

私の見解はね、”良いデザインはできるだけ少ないデザイン”ってこと。お客の自然な流れを作るべきで、無駄にオプションを足しすぎちゃダメ。まあ、哲学と同じで自分なりのフレームを見つけないと意味が薄れるんだよね。

brailsafe 2025-02-09T04:31:11

でも、君が言ってる当然の結果が意図に基づいて批評されることってどれくらいある?ソフトウェアが本当に他の手段と比較されて、結局は面倒で時間がかかる方法になってたりすることも多いよね。

lelanthran 2025-02-09T05:22:51

ソフトウェアを作るときに、他の効果的な方法と定期的に比較してるかっていうと、あんまりないよね。A/Bテストは細かいレベルではそれをやってるけど、全体的にはそうじゃないな。

brailsafe 2025-02-10T21:48:54

実際、チームが廊下での使いやすさテストを真剣に受け止めることは少ないし、ユーザーにとっての品質を測るインセンティブもない気がする。いくつかのデザインスタジオは、多様なデバイスを持っていて、できるだけ多くのシナリオで良い感じにするよう努力してるけどね。

scarface_74 2025-02-08T22:51:19

ほとんどの人がソフトウェアを書く理由を見失ってると思う。ビジネスのためにソフトウェアを書くのは、誰かがその会社にお金を払うためか、その会社がコストを削減するため。それに集中しないと意味がないよ。

Doches 2025-02-08T23:13:53

ビジネスのためにソフトウェアを書く人ばかりじゃないよ。親のためにユーティリティ作ったり、子どものためにゲーム作ったり、自分や友達のためにツールを書くこともあるし、ただ楽しむために書くこともある。だから、ソフトウェアを書くことをビジネスゴールと結びつけるのは、ちょっと悲しいね。

archargelod 2025-02-09T02:13:10

Nimを学んだことがあるけど、すごく楽しい言語だよ。CやC++、Pythonは古い決定や混乱があって、学ぶのが大変だった。Nimに出会って楽しんで学べたのが良かった。

scarface_74 2025-02-08T23:26:22

ソフトウェアを書くことと、外に出ることを対極として捉えているけど、実際にはその両方が違う楽しみを持つよね。自分は家族と過ごすことや趣味を大切にしてるし、ビジネスのためにだけ動いているわけではない。

SaucyWrong 2025-02-09T01:04:50

コメントの親は、”外に出る”というのは必ずしも物理的に外に出ることではなく、幸せを感じられることを指してたはずだよね。それを理解しながら、貶してコメントするのはどうかと思う。

scarface_74 2025-02-09T03:43:24

コンピュータの前にずっといることは、健康に良くないと思う。家族と過ごす時間を大切にすることだって大切だよ。

gamedever 2025-02-09T04:23:20

バーに行って飲むのは、健康に良くないと思う。

jwr 2025-02-09T00:15:28

ビジネスのためにソフトウェアを書く理由は、効率的にワークフローを改善するためだよ。お客さんが満足しないと、お金をもらえないから、実際の利用者を意識している。

もっとコメントを表示(2)
scarface_74 2025-02-08T20:36:33

2000年代に働いてた会社では、サーバールームにたくさんのコンピュータがあって手作りのVB6ジョブスケジューラで仕事を管理してたんだ。今なら同じセッティングを一週間でyamlファイルとクラウドサービスで再現できる。サーバー構築が抽象化されてるし、逆互換性についてもWindowsがそうなってるのは、逆互換性を崇拝しすぎるせいだと思う。Appleは逆互換性を破って5種類のプロセッサに移行してるしね。

mihaaly 2025-02-08T21:02:18

Windowsの混乱はリーダーシップがバラバラだから。逆互換性のおかげで生き延びてきたけど、なぜ数ヶ月ごとに新しいソフトをインストールしなきゃいけないのか、何の違いも感じないことが多いから不満だね。それが信頼の侵食に繋がってるよ。

BirAdam 2025-02-09T03:58:05

90年代のMicrosoftの成功は珍しくないと思う。低価格で価値のある商品を作って、マーケティングも良かった。実行力があったから成功したんだ。ただ、OSXがMicrosoftの市場を奪ったのは意外かも。

AnonymousPlanet 2025-02-09T09:07:44

WindowsではVisual StudioとC++がないと自動化が難しい。スクリプトやコマンドラインがしっかりしていないから、Linuxと比べると開発者には厳しい環境。OSXが成功するのは当然だよ。

ripped_britches 2025-02-09T06:25:54

アプリの更新はGoogleやAppleのエコシステムではクライアントサイドのコードを簡単にホットアップデートできない問題から来てるんじゃないかな。Webはサービスワーカーを使ってバージョン管理やキャッシングができるから逆互換性が問題にならないんだ。

chikere232 2025-02-08T23:23:14

それってセキュリティアップデートのことを言ってるの?

scarface_74 2025-02-08T23:44:37

定期的な更新が心配な理由は?フロッピーディスクに積んでアップグレードするわけじゃないし、全て自動で更新されるよ。iOSだって、iOS 18は2018年以降のデバイスに対応してるしね。

eviks 2025-02-09T00:37:18

更新があなたの作業を邪魔したり、時間を無駄にすることがあるからだよ。

sadeshmukh 2025-02-09T04:21:07

どういうこと?

econ 2025-02-09T05:59:23

何かを書いたら1000年は動くようにすべきだと思う。何でできないの?それぞれのアプリが独自のCPUやメモリ、ストレージを持ってて、仕様が固定されてるシンプルなアーキテクチャを想像してみて。一緒にいる理由はあるのか?

scarface_74 2025-02-09T06:22:22

お前のニーズや技術は千年も変わらないのか?1996年みたいにダイヤルアップモデムで一日一回銀行に電話して残高を更新するのって2025年に意味あるの?1960年にトースターが洗濯機をコントロールし始めたらどうなってたんだ?でも、同じデバイスにMP3プレーヤー、ポータブルテレビ、カメラ、懐中電灯、GPS、PC、電話が入ってたらどうなるんだ?

caspper69 2025-02-09T08:30:47

>”本当に1996年のようにダイヤルアップモデムで銀行に電話して残高を更新する意味はあるのか?”
今のIntuitのソフトはトランザクションを保存するのに5〜15秒かかり、たまにエラーが出て役に立たないメッセージが表示されて再実行しかない、UIの不具合があって、マッチしたトランザクションが消えないし、マッチを見つけることもできない。進歩したっていうのは笑えちゃうよ。今のはやっていて遅いし、全然安定してないんだから。

scarface_74 2025-02-09T09:00:32

今は単にウェブサイトに行くか、携帯アプリを使ったり、スマートウォッチに表示されるだけだね。

caspper69 2025-02-09T09:09:29

その全てが簿記を扱っていないから、Quickenが使われていたのが分かるだろ。

chikere232 2025-02-09T08:46:33

すごく高い基準だな、どんなソフトも満たさないよ。それに千年も使われてきたものはちゃんと手入れされてるだろうし。

robinsonb5 2025-02-09T10:30:33

うん、千年ってのは誇張だけど、過去25年のソフトの変遷にイライラして「5年後も使えるのか?」って考えながら新しいソフトを選んでる。答えが自信を持って「はい」じゃないことが多いのが怖い。

chikere232 2025-02-09T12:01:20

それは確かに。言語やフレームワークが無駄なクリーンアップや名前変更で壊すことが多すぎる。Pythonなんてマイナーリリースでも壊れる変更を平気でやるし、特に実行時に気が付くのが最悪なんだ。

Arelius 2025-02-08T21:03:06

>”後方互換性を崇拝するのがWindowsをめちゃくちゃにしてる理由”
Windowsは糞だって言うけど、Linuxも同じくらいめちゃくちゃだよ。十年前に作ったバイナリがWindowsで動くのが信頼できるのはありがたいよ。

inglor_cz 2025-02-08T21:41:12

>”十年前に作ったバイナリがWindowsで動くのはすごく良い”
これって古いアーキテクチャのエミュレーターで解決されるべきじゃないかな?パフォーマンスコストはあるけど、新しいプロセッサがそれを補うかもしれない。

scarface_74 2025-02-08T21:06:59

Linuxはドライバーの標準がないから問題があるんだよ。

もっとコメントを表示(3)
AnthonyMouse 2025-02-09T06:47:15

ドライバー標準がないのは、ドライバーをメインラインカーネルに入れるためなんだよね。標準化されると、低品質のバグだらけのドライバーがふえちゃうし、OEMは閉じたソースだから改善してくれない。だから、カーネルツリー外でメンテナンスするのが大変になる結果、もっと多くの会社がドライバーをカーネルに入れるようになる。そうすると、カーネルメンテナが更新を面倒見てくれるし、他の人もバグを直せるようになる。

scarface_74 2025-02-09T07:06:36

この哲学がエンドユーザーにどう影響しているのか知りたい。Androidフォンのアップデートに関する問題はどうなってるの?

AnthonyMouse 2025-02-09T08:01:05

ほとんどのPCハードのドライバーはカーネルツリーに入ってるから、そこはうまくいってるね。モバイル側ではもっと積極的にドライバーをカーネルツリーに入れる必要がある。例えば、十年間のサポートを義務づけるなどの権利を修理する法律があれば、コードを公開することへのインセンティブが強まるかも。GoogleもOEMに対して圧力をかけることができるかも。でも、カーネルを直接変更できないから間接的な方法に限られるのが問題だね。

smitty1e 2025-02-08T21:18:52

この問題は、有名な記事の核心に触れてるね。個人のプロジェクトと企業レベルのものの対立。著者の意見に賛成なのは、個人のいじりをできるようにしておく必要があるってこと。だけど、誰かの好みを一般化するのは不可能だよ。

dpkonofa 2025-02-08T21:18:07

>Appleはバックワードコンパチビリティを壊すことで5つのプロセッサ間を移行できている。大半の人が失ったものを認識している。新しいものを保つのは素晴らしいけど、互換性を無視することで失われた価値は無視できないよ。

scarface_74 2025-02-08T21:26:43

代替案は何だったの?65x02や68KやPPCに固執すること?x86に留まる選択肢もあったけど、ARMに移行するのが本当に悪いアイデアだったの?

dpkonofa 2025-02-08T21:58:12

>代替案は何だったの?Rosettaのようなインタープリターを使うことができた。Appleの目標は、ソフトとハードの最新のものが一緒に機能すること。だからバックワードコンパチビリティとは相反する。古いソフトウェアを捨てることになったのは否定できない。

scarface_74 2025-02-08T22:13:24

>インタープリターを含むのが代替案だった。インタープリターに終わりがないと、企業は怠慢になってソフトを更新しなくなる。古い互換性を維持するには誰かがそれを面倒見なきゃいけない。Windowsの古いAPIでも脆弱性が見つかってるし。

BuyMyBitcoins 2025-02-08T22:03:36

そのおかげで、バッテリーの持続時間がすごく良くなったよ。IntelのMacBook Proじゃ1時間半しか持たなかったけど、今はM4で1日以上使える。古いソフトウェアのサポートがなくても、全然気にしてないし、むしろこのトレードオフに満足してるよ。

dpkonofa 2025-02-08T22:10:56

私はほとんどの人と同じように、このトレードオフに満足しているよ。それでも、各移行で失われた価値が完全になくなったわけじゃないと思う。

forrestthewoods 2025-02-08T23:10:53

Windowsは本当にクソだな。Linuxのゲームプラットフォームが動くのは、Linuxにとっての最良のAPIが…Win32だから。Linuxの方がプラットフォームレベルではもっと問題だよ。Windowsはプレゼンテーションレイヤーの面ではマシな方。

scarface_74 2025-02-09T00:57:38

考え直すと、ユーザーとしてWindows自体は…そんなに悪くないんだよね。VSCodeとWSLを使った開発者としても…まあまあ。x86の使用は2025年には古臭く感じる。M2のMacBook AirやM3のMacBook Proと比べると、ただMacOSのエコシステム統合が優れているだけ。

lelanthran 2025-02-09T05:32:46

>”x86の使用が古臭いのでは?”ユーザー視点では、それってあまり関係ないものじゃない?技術的に詳しいユーザーも、自分が使っているコンピュータがx86やARMだなんて知らないし、気にもしないと思うよ。ただ、M1/M2/M3/M4のバッテリーライフは優れているけど、ソフトウェアの選択肢が制限されるのもUXの一部。

forrestthewoods 2025-02-09T02:27:38

Windowsのノートパソコンは本当にひどいね。これはx86対ARMの問題じゃないと思う。むしろそれは赤いヘリングだよ。

worthless-trash 2025-02-09T02:23:17

間違った。AndroidはLinuxのインストール数よりももっとゲームがある。

forrestthewoods 2025-02-09T03:37:03

私はAndroidをLinuxと同一視しない。人によるかな。

lucianbr 2025-02-09T13:02:13

>”私は他のLinuxデバイスも持ってるから、個人的にはその市場でもAndroidが浸透したら嬉しい。”Linus Torvalds。彼は何を知ってるんだろう?

otabdeveloper4 2025-02-09T13:36:15

おそらく彼は知らないよ、だって彼は電話のOEMじゃないし。実際にはほとんどのAndroid電話は、純粋なアップストリームLinuxは動いてない。ひどい独自改造されたカーネルばかり。だから、Androidは技術的な狭い意味でのLinuxですらない。

eviks 2025-02-09T00:36:09

32ビットを削除することで、どんな大きな利益があったの?Swiftで一つの文字列型を変換なしで使えるって本当?それは5回の移行で消えたことはないの?

et1337 2025-02-08T21:04:33

いろんな意見が真逆になってる気がするんだよね。互換性を維持しつつ複雑さは避けろって言われたり、新しい言語やフレームワークはダメだと言われたり。みんながコーディングをやめるしか解決方法が無い気がする。実際、そんな毎日あればいいかなと思う部分もあるけど、誇りには思えないよね。

記事一覧へ

海外テックの反応まとめ
著者
海外テックの反応まとめ
暇つぶしがてらに読むだけで海外のテックニュースに詳しくなれるまとめサイトです。