TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Rise of Worse Is Better (1991)

265 pointsby t14n7 months ago

32 comments

Arch-TK7 months ago
I have a theory that the worse is better approach begets an environment where the worse is better approach is better.<p>At least hypothetically, I think there&#x27;s an approach which is not &quot;the right thing&quot; or &quot;worse is better&quot; but rather more like &quot;the right foundations&quot;.<p>Most interface complexity in my experience seems to be inherited from underlying interface complexity, and it takes a lot of work to fix that underlying interface complexity. This, I think is where &quot;worse is better&quot; shines. If you try to apply a &quot;the right thing&quot; approach to a system where you&#x27;re dealing with shitty underlying interfaces (i.e. every popular operating system out there including every unix, and NT system) you end up with endless complexity and performance loss. So obviously nobody will want to do &quot;the right thing&quot; and everyone who takes the &quot;worse is better&quot; approach will end up way ahead of you in terms of delivering something. People will be happy (because people are almost always happy regardless of how crap your product is).<p>On the other hand, designing something with &quot;the right foundations&quot; means that &quot;the right thing&quot; no longer needs to involve &quot;sacrifice implementation simplicity in favour of interface simplicity&quot; to anywhere near the same extent because your implementation can focus on implementing whatever interface you want rather than first paving over a crappy underlying interface.<p>But the difficulty of &quot;the right foundations&quot; is that nobody knows what the right foundations are the first 10 times they implement them. This approach requires being able to rip the foundations up a few times. And nobody wants that, so &quot;worse is better&quot; wins again.
评论 #41776965 未加载
评论 #41786779 未加载
评论 #41779872 未加载
评论 #41776993 未加载
评论 #41777825 未加载
评论 #41777081 未加载
ezekiel687 months ago
I&#x27;m always happy whenever this old article goes viral. For two reasons: First, learning to accept the fact that the better solutions doesn&#x27;t always win has helped me keep may sanity over more than two decades in the tech industry. And second, I&#x27;m old enough to have a pretty good idea what the guy meant when he replied, &quot;It takes a tough man to make a tender chicken.&quot;
评论 #41770269 未加载
bccdee7 months ago
&gt; Both early Unix and C compilers had simple structures, are easy to port, require few machine resources to run, and provide about 50%-80% of what you want from an operating system and programming language.<p>&gt; Unix and C are the ultimate computer viruses.<p>The key argument behind worse-is-better is that an OS which is easy to implement will dominate the market in an ecosystem with many competing hardware standards. Operating systems, programming languages, and software in general have not worked this way in a long time.<p>Rust is not worse-is-better, but it&#x27;s become very popular anyway, because LLVM can cross-compile for anything. Kubernetes is not worse-is-better, but nobody needs to reimplement the k8s control plane. React is not worse-is-better, but it only needs to run on the one web platform, so it&#x27;s fine.<p>Worse-is-better only applies to things that require an ecosystem of independent implementers providing compatible front-ends for diverging back-ends, and we&#x27;ve mostly standardized beyond that now.
评论 #41774768 未加载
评论 #41777054 未加载
评论 #41775538 未加载
karel-3d7 months ago
I remember when I had a lesson about OSI layers, where the teacher has carefully described all the layers in detail<p>and then said something like &quot;most of this is not important, these layers don&#x27;t really exist, TCP&#x2F;IP got popular first because it&#x27;s just much simpler than OSI was&quot;
评论 #41766873 未加载
评论 #41778558 未加载
评论 #41770424 未加载
评论 #41770696 未加载
gpderetta7 months ago
&gt; The good news is that in 1995 we will have a good operating system and programming language; the bad news is that they will be Unix and C++.<p>And 30 years later they show few signs of letting go.
评论 #41769857 未加载
评论 #41770899 未加载
stonemetal127 months ago
Isn&#x27;t &quot;Worse is better&quot; just a restatement of &quot;Perfect is the enemy of Good&quot;, only slanted to make better\Perfect sound more enticing?<p>&gt;The right thing takes forever to design, but it is quite small at every point along the way. To implement it to run fast is either impossible or beyond the capabilities of most implementors.<p>A deer is only 80% of a unicorn, but waiting for unicorns to exist is folly.
评论 #41772691 未加载
评论 #41769614 未加载
th43o2i42342347 months ago
The critical point of the article holds true of everything in human social networks (be it religion&#x2F;culture&#x2F;philosophy&#x2F;apps&#x2F;industry...).<p>If you don&#x27;t achieve virality, you&#x27;re as good as dead. Once a episteme&#x2F;meme spreads like wild-fire there&#x27;s very little chance for a reassessment based on value&#x2F;function - because the scope is now the big axis of valuation.<p>It&#x27;s actually worse because humanity is now a single big borg. Even 30-40 years back, there were sparsely connected pools where different species of fish could exist - not any more. The elites of every single country is a part of the Anglosphere, and their populations mimic them (eventually).<p>This tumbling towards widespread mono-memetism in <i>every single</i> sphere of life is deeply dissatisfying about the modern human life, not just for PL&#x2F;OS&#x2F;... but also for culture etc.<p>Anthropocene of humanity itself.
评论 #41773241 未加载
评论 #41779743 未加载
JohnFen7 months ago
&quot;Worse is better&quot; has become like &quot;move fast and break things&quot;. They&#x27;re both sayings that reveal an often-overlooked truth, but they have both been taken far too far and result in worse things for everybody.
评论 #41769908 未加载
评论 #41779146 未加载
i_s7 months ago
I&#x27;ve read this a few times over the years and I think the argument is sound. But I wonder if it is sound in the same way this statement is:<p>&quot;It is better to go picking blueberries before they are fully ripe, that way you won&#x27;t have much competition.&quot;
api7 months ago
I feel like we&#x27;re seeing a bit of push-back today against worse-is-better in the area of languages. Rust in particular feels more like the MIT approach, albeit with an escape hatch via the explicit keyword &quot;unsafe.&quot; Its type system is very thoroughly specified and correct as opposed to C&#x27;s YOLO typing.
评论 #41770092 未加载
评论 #41766888 未加载
评论 #41766894 未加载
agumonkey7 months ago
I assume that &#x27;worse&#x27; often means find adequation with average and mass. This ensures a longer existence, later you may absorb the &quot;better&quot; you didn&#x27;t have early on. Look how dynamic languages started to have better data types, various traits (generators, closures..), jit .. all things they could pluck out of old &quot;glorious&quot; languages that were .. somehow too advanced for the mainstream. It&#x27;s a strange schizophrenic situation.
clarkevans7 months ago
I think the worse-is-better philosophy is not well encapsulated with the 4 priorities given. Perhaps it is 4 completely different priorities. Here&#x27;s a strawman.<p>1. Minimal -- the design and implementation must be the smallest as possible, especially the scope (which should be deliberately &quot;incomplete&quot;)<p>2. Timely -- the implementation must be delivered as soon as feasible, even if it comes before the design (get it working first, then figure out why)<p>3. Relevant -- the design and implementation must address important, unmet need, eschewing needs that are not urgent at the time (you can iterate or supplement)<p>4. Usable -- the implementation must be integrated with the existing, working and stable infrastructure (even if that integration causes design compromises)<p>The other dimensions, simplicity, correctness, consistency, and completeness are very nice to have, but they are not the primary drivers of this philosophy.
评论 #41767319 未加载
mseepgood7 months ago
Maybe don&#x27;t call it &quot;worse&quot;, maybe it&#x27;s just you who has a skewed perception of &quot;good&quot;&#x2F;&quot;right&quot;.
hammock7 months ago
The distinction between the set of five &quot;right&quot; principles and the five &quot;worse is better&quot; principles is known as compromise in design.<p>It&#x27;s the opposite of what marketers want you to think of when they say &quot;uncompromising design.&quot;
Dansvidania7 months ago
looking at how it played out with javascript one can&#x27;t but agree.<p>(edit: I mean it unironically)
评论 #41766605 未加载
评论 #41766580 未加载
Der_Einzige7 months ago
I know this is an article about Lisp and the specific usage of this term in the context of software acceptance, but when you use a title that provocative I want to speak specifically about the idea of &quot;Worse is Better&quot; with respect to a more literal idea of &quot;sometimes things get worse overtime but you are told they have improved&quot;<p>For example, why is it that central vacuums are more rare in 2024 than they were in the 1980s, despite them being superior in every way compared to regular ones?<p>&quot;Worse&quot; vacuums are &quot;better&quot; for the economy? (because Dyson makes jobs and consumes resources?)
评论 #41766804 未加载
评论 #41766937 未加载
worstspotgain7 months ago
EINTR&#x27;s design is one of computing&#x27;s absolute classics. To MIT and New Jersey, we should add the McDougals approach: &quot;I cannot work under these conditions.&quot; When faced with the PC loser-ing issue, just don&#x27;t implement the code in question.<p>McDougals resolves the apparent conflict between the other two. It blames the interrupt hardware as the root cause. It produces non-working, incomplete software. It&#x27;s kind of a modest proposal.<p>However, it also produces no ripples in the design fabric. With MIT, the OS source is a maintenance nightmare. With NJ, modern software still has to deal with archaic idiosyncrasies like EINTR. With McDougals, all the &quot;conflict-free&quot; portions of the software advance, those that write themselves.<p>The result is likely immediately shelved, perhaps as an open source PoC. Over time, someone might write some inelegant glue that makes interrupts appear to behave nicely. Alternatively, the world might become perfect to match the software.<p>If nothing else, the software will have mimicked the way we learn. We use imperfect examples to draw the idealized conclusion. Even if it never gets to run, it will be more readable and more inspiring than either MIT or NJ.
shagie7 months ago
For another discussion on this <a href="https:&#x2F;&#x2F;wiki.c2.com&#x2F;?WorseIsBetter" rel="nofollow">https:&#x2F;&#x2F;wiki.c2.com&#x2F;?WorseIsBetter</a> which starts out with:<p><pre><code> RichardGabriel makes this observation on the survival value of software in the paper Lisp: Good News, Bad News, How to Win Big. See http:&#x2F;&#x2F;www.jwz.org&#x2F;doc&#x2F;worse-is-better.html for the section on WorseIsBetter. For those seeking the first node, see http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;19990210084721&#x2F;http:&#x2F;&#x2F;www.ai.mit.edu&#x2F;docs&#x2F;articles&#x2F;good-news&#x2F;good-news.html. For even more context on WorseIsBetter see http:&#x2F;&#x2F;www.dreamsongs.com&#x2F;WorseIsBetter.html. My favorite part is RichardGabriel arguing with himself.</code></pre>
jes51997 months ago
what&#x27;s the old saw about &quot;unix design prioritizes simplicity over correctness, and on modern hardware simplicity is also no longer considered necessary&quot;
评论 #41767040 未加载
enugu7 months ago
Ironically, the main feature that separates LISP from other modern languages is homoiconicity&#x2F;macros(now that features like garbage collection are mainstream).<p>And this leads to an easier implementation - parsing is easier(which is why code transformation via macros becomes easy).
评论 #41778578 未加载
dang7 months ago
These look to be the interesting threads on Gabriel&#x27;s worse-is-better essays:<p><i>Lisp: Good News, Bad News, How to Win Big (1990) [pdf]</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30045836">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30045836</a> - Jan 2022 (32 comments)<p><i>Worse Is Better (2001)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=27916370">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=27916370</a> - July 2021 (43 comments)<p><i>Lisp: Good News, Bad News, How to Win Big (1991)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22585733">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22585733</a> - March 2020 (21 comments)<p><i>The Rise of Worse Is Better (1991)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21405780">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21405780</a> - Oct 2019 (37 comments)<p><i>The Rise of Worse Is Better (1991)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16716275">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16716275</a> - March 2018 (44 comments)<p><i>Worse is Better</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16339932">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16339932</a> - Feb 2018 (1 comment)<p><i>The Rise of Worse is Better</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7202728">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7202728</a> - Feb 2014 (21 comments)<p><i>The Rise of &quot;Worse is Better&quot;</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=2725100">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=2725100</a> - July 2011 (32 comments)<p><i>Lisp: Good News, Bad News, How to Win Big [1991]</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=2628170">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=2628170</a> - June 2011 (2 comments)<p><i>Worse is Better</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=2019328">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=2019328</a> - Dec 2010 (3 comments)<p><i>Worse Is Better</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1905081">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1905081</a> - Nov 2010 (1 comment)<p><i>Worse is better</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1265510">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1265510</a> - April 2010 (3 comments)<p><i>Worse Is Better</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1112379">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1112379</a> - Feb 2010 (5 comments)<p><i>Lisp: Worse is Better, Originally published in 1991</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1110539">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1110539</a> - Feb 2010 (1 comment)<p><i>Lisp: Good News, Bad News, How to Win Big</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=552497">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=552497</a> - April 2009 (2 comments)
评论 #41769556 未加载
germandiago7 months ago
For me this is just utopia vs real world.<p>What is better, a perfect design or one that exists?<p>Our mind tries to trick us into thinking that the choice is between perfect and not so perfect.<p>No, in real-life it is common that aiming for the perfect ruins everything else, even the existence of that idea in real form due to other constraints.
Taniwha7 months ago
Of course the opposite is often stated as &quot;Perfect is the enemy of Good&quot;
dkasper7 months ago
1991 tag. An all time classic.
orwin7 months ago
This... Honestly the first lines seemed I thought this was an arrogant take, but he made _really_ good point and now I tend to agree with him.<p>Still I am a bit bothered, does a counterargument exist?
评论 #41766595 未加载
评论 #41766893 未加载
评论 #41766572 未加载
评论 #41766698 未加载
评论 #41766981 未加载
bee_rider7 months ago
I don’t get the name New Jersey approach, is it just the general association of New Jersey and poor quality? When I think of New Jersey and CS, I think of Princeton, which has a pretty good program IIRC.<p>—<p>Anyway, I wouldn’t put simplicity on the same level as the other things. Simplicity isn’t a virtue in and of itself, simplicity is valuable because it helps all of the other things.<p>Simplicity helps a bit with consistency, in the sense that you have more trouble doing really bizarre and inconsistent things in a simple design.<p>Simplicity helps massively with correctness. You can check things that you don’t understand. Personally, that means there’s a complexity prove after which I can’t guarantee correctness. This is the main one I object to. Simplicity and correctness simply don’t belong in different bullet-points.<p>Simplicity could be seen as providing completeness. The two ways to produce completeness are to either work for a really long time and make something huge, or reduce scope and make a little complete thing.<p>It’s all simplicity.
评论 #41766673 未加载
评论 #41766714 未加载
评论 #41769943 未加载
sebastianconcpt7 months ago
To <i>Worse is Better</i> I&#x27;d say, careful with what you wish.
karel-3d7 months ago
(1991)
aredox7 months ago
And then we wonder why everything gets worse and worse.
评论 #41766760 未加载
评论 #41766488 未加载
pulse77 months ago
&quot;worse is better&quot; is &quot;the right thing&quot;
hammock7 months ago
There was an article posted on here[1] a while back that I only just found again, introducing the term &quot;expedience.&quot; The idea was that we think we live in a world where people have to have &quot;the best&quot; sweater, be on &quot;the best&quot; social network, drive &quot;the best&quot; car, etc. But when you look at what really WINS, it&#x27;s not the best, it&#x27;s the most &quot;expedient&quot; - i.e. sufficiently good, with built-in social proof, inoculated of buyer&#x27;s remorse, etc.<p>Is Amazon &quot;the best&quot; place to go shopping? No, you might find better prices on individual items if you put a little more work into it, but it&#x27;s the most expedient. Is Facebook&#x2F;Instagram&#x2F;Tiktok&#x2F;insert here &quot;the best&quot; social network? No, but it is the most accessible, easy-to-use, useful one. Is a Tesla (perhaps outdated example since X) &quot;the best&quot; car - no, but it is the most expedient.<p>There is a tangent here that intersects with refinement culture as well. Among the group of society that (subconsciously) care about these &quot;expedient&quot; choices, you see everyone and everything start to look the same<p>[1]<a href="https:&#x2F;&#x2F;tinaja.computer&#x2F;2017&#x2F;10&#x2F;13&#x2F;expedience.html" rel="nofollow">https:&#x2F;&#x2F;tinaja.computer&#x2F;2017&#x2F;10&#x2F;13&#x2F;expedience.html</a>
评论 #41767428 未加载
评论 #41768546 未加载
评论 #41770603 未加载
评论 #41770645 未加载
评论 #41769776 未加载
评论 #41767184 未加载
评论 #41766930 未加载
评论 #41772502 未加载
评论 #41766935 未加载
评论 #41776098 未加载
评论 #41768175 未加载
评论 #41773763 未加载
评论 #41776223 未加载
NAHWheatCracker7 months ago
I&#x27;ll never understand the obsession with LISP. My guess is it just appeals to a certain type of person, sort of academic in my view. I&#x27;m not convinced that LISP was ever the-right-thing. The author didn&#x27;t express anything about LISP vs C except to assert that C was a 50% solution and LISP was better.<p>I agree though that for practical purposes, practical solutions are just going to be more successful.
评论 #41766806 未加载
评论 #41766793 未加载
评论 #41766753 未加载
评论 #41766868 未加载
评论 #41767227 未加载
评论 #41766959 未加载
评论 #41766860 未加载
评论 #41767000 未加载
评论 #41766898 未加载
评论 #41771330 未加载
评论 #41766798 未加载
评论 #41769522 未加载
评论 #41766932 未加载
评论 #41766667 未加载
评论 #41766692 未加载