TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Simplicity is an advantage but sadly complexity sells better (2022)

376 点作者 7d7n大约 1 年前

43 条评论

Ozzie_osman大约 1 年前
I worked at a certain FAANG company at a time where the promo process rewarded &quot;solving complex problems&quot;. The more complex of a problem you could solve the higher your level (and your pay, your status, etc).<p>Naturally, people were incentivized to find complex problems so they could solve them. Not only that, I think a lot of tech stacks at other companies evolved by copying this company&#x27;s ideas, so even smaller companies with even less need for complex solutions ended up having them as well.
评论 #40266937 未加载
评论 #40266898 未加载
评论 #40271609 未加载
评论 #40274322 未加载
评论 #40272176 未加载
评论 #40276416 未加载
评论 #40270434 未加载
评论 #40266946 未加载
评论 #40282402 未加载
评论 #40268201 未加载
评论 #40270450 未加载
rsync大约 1 年前
Hmmm ...<p>I have been thinking about this recently in relation to the complex and unwieldy nature of modern car UI (especially in electric cars).<p>It&#x27;s so bad that it is <i>keeping me from buying a car that I need</i>.<p>The conclusion that I have come to is:<p>Sophisticated consumers are very different than <i>aspirational consumers</i> - and there are always many, many more aspirational consumers.<p>Therefore, catering to aspirational consumers at the expense of sophisticated ones is a rational economic choice.<p>An aspirational consumer will put up with <i>all manner</i> of deficiencies and gimmickry because they perceive them as being <i>emblematic of their consumer achievement</i>.<p>In cruder terms:<p>They are so happy to be driving a &quot;luxury&quot; car that they don&#x27;t notice the garbage that came with it. Meanwhile, after decades of luxury car purchases, I just want the shifter to be intelligible ...
评论 #40281574 未加载
评论 #40277643 未加载
评论 #40274122 未加载
评论 #40312719 未加载
评论 #40267231 未加载
AJRF大约 1 年前
I watch a YouTuber called Theo Browne sometimes. He is primarily a front end dev. When I watch him talk about his solutions to things I feel like i&#x27;ve been hit on the head with a baseball bat. The sheer number of <i>things</i> that go into his demos is eye watering. The number of arcane terms about React he will mention in a single video astounds me.<p>I don&#x27;t mean to specifically call him out, but I worry that the complexity is what keeps him popular. And then you have someone like Pieter Levels just slinging raw php into production and not talking about anything like Suspense or Server Side Rendering or Hydration.<p>They both get to the same ends (well Pieter Levels makes magnitudes of order more money I think) but there is a gulf in complexity. I&#x27;d actually argue something like Nomad List is much more feature rich than anything I see from Theo.
评论 #40267043 未加载
评论 #40267464 未加载
评论 #40324917 未加载
评论 #40282614 未加载
评论 #40276422 未加载
hooby大约 1 年前
Over some decades of doing development work on legacy systems - sometimes by my companies own design, sometimes contract work for a customer - I&#x27;ve seen lots of things that make me believe that certain customers do prefer complex, buggy software for a very specific reason:<p>They can hide behind it. &quot;I couldn&#x27;t finish the task on time because the software had a bug&quot; - sort of stuff. &quot;I couldn&#x27;t do X because the software doesn&#x27;t support Y&quot;, &quot;The dog ate my homework&quot;, etc.<p>In many cases, it would have been quite possible to design simple, easy and far less bug-prone solutions - but then people working with the software would no longer be able to hide that certain failures might be due to their own incompetence, rather than being a software issue. Therefore - especially in companies with high top-down pressure - people actually prefer working with software that their managers don&#x27;t fully understand, and that&#x27;s known for having some bugs and problems.
评论 #40273272 未加载
评论 #40276655 未加载
2four2大约 1 年前
In physical UI our group calls this the Microwave Problem. No one uses the 20 extra buttons on the microwave, they mostly just use one or two buttons. But no one will buy a microwave with few buttons.
评论 #40266808 未加载
评论 #40274013 未加载
评论 #40266849 未加载
评论 #40267104 未加载
评论 #40267159 未加载
评论 #40273887 未加载
评论 #40302528 未加载
评论 #40267629 未加载
评论 #40267356 未加载
评论 #40267476 未加载
评论 #40277652 未加载
评论 #40266869 未加载
pornel大约 1 年前
I find such laments annoying, because they&#x27;re full of obvious platitudes. It&#x27;s easy to sound smart quoting Einstein and Dijkstra. It&#x27;s cheap to make generalizations, and point fingers at complex solutions when having both the benefit of hindsight, and ignorance about their true requirements.<p><i>&quot;as simple as possible, but not simpler&quot;</i> is always right. Messy solution? You should have made it simpler. Primitive solution causing problems? You weren&#x27;t supposed to make it too simple. Why didn&#x27;t you think about making it just perfect?<p>In reality, it&#x27;s very hard to even get people to agree what <i>is</i> simple, when solutions have various trade-offs. Maybe it is easier to focus on maintaining one complex database, than to have 3 &quot;simple&quot; ones, and triple admin work, and eventually end up having to sync them or implement distributed transactions.<p>Something simple to implement now may cause complex problems later. A simple off-the-shelf solution that doesn&#x27;t fully solve the problem will breed complex workarounds for the unsupported cases, and eventually add complexity of migrating to something adequate. If you didn&#x27;t correctly predict how a solution will fit all your requirements, you should have simply listened to Einstein.<p>All the advice to &quot;just&quot; do something &quot;simple&quot; is blissfully unaware that these solutions are not panacea, and it&#x27;s rarely a plain choice between complex vs simple. Projects have constraints - they may need to work with existing messy systems, inconsistent legal requirements, or changing business requirements. They may prioritize time to market, or skills they can hire for. And there&#x27;s brutal economics: maybe annual report export is a Rube-Goldberg machine, but it&#x27;s done once a year, and a rewrite wouldn&#x27;t pay for itself in 50 years.<p>The discussion about complexity rarely acknowledges that projects and their requirements grow, so something perfectly simple now may become complex later, in a perfectly rational way, not due to incompetence or malice. Storing data in a plain text file may be beautifully simple in the beginning, and become a bad NIH database later. But starting with a database for 3 rows of data would be overcomplicating things too. And there&#x27;s cost to refactoring, so always using the ideal solution is not that simple either.
评论 #40273404 未加载
评论 #40270479 未加载
评论 #40279226 未加载
tolmasky大约 1 年前
There is also a secondary effect where more complex systems generate a bunch of surrounding materials: tutorials, videos, etc. It also creates job security for the people who learn it, as they have a necessary skill and responsibility in the company, as opposed to something that &quot;just works&quot; which doesn&#x27;t require that.
评论 #40266883 未加载
评论 #40273489 未加载
评论 #40267069 未加载
评论 #40267055 未加载
评论 #40270690 未加载
bbminner大约 1 年前
If we are talking about paper reviews, what I am looking for in a paper as a reviewer is neither simplicity nor complexity. I am not even looking for &quot;novelty&quot;. What I am looking for is a thorough and thought-provoking empirical analysis of a problem.<p>I see plenty of submissions where 1) authors propose a system that is clearly a monstrosity Frankenstein patched together from a dozen of existing ideas - clearly a successful attempt at getting &quot;bold numbers&quot; using as many new shiny toys they could get their hands on without analyzing failure modes of either part in depth; 2) a simple modification of an existing method that accedentally improves the performance of the system but still lacks proper empirical or therotical justification of why this modification helps.<p>While the second type of papers has at least some marginal value to the community or the reader, I still find such papers mostly useless. What brings value to the reader is a phd student who stared at the problem long enough to find quantitative and verifiable confirmations to his intuitions about the problem that lead to reproducible observations with predictive power. Ie &quot;we experimentally verififed that indeed X affects Y exactly though the mechanism Z described in this paper in all cases, this helped us to improve metric A by B%, agreeing with Z&quot;. Not &quot;we did X, and we saw A increase by B%&quot;, regardless of the complexity of A.<p>Not all reviewers agree with me, sadly.
Puts大约 1 年前
I had this history teacher in high school giving the class an assignment to write an essay on the events leading up to the Second World War. The first question that came up was how long does this essay need to be – to which the teacher replied that if you can cover this complex topic on one single A4 that would give you full score on the assignment – but that he sincerely doubted that anyone could cover such a complex topic in such a short amount of text. Everyone was mind blown by this argumentation. Nobody had ever heard a teacher say anything like that and that kind of shows how we already as kids are thought that more is always better.
评论 #40275527 未加载
nickpeterson大约 1 年前
I highly recommend the Rich Hickey talk “Simple made Easy”. Complexity doesn’t sell well at all, but easy does. If a company can hire a bunch of people that know how to use ‘foo’ and the industry keeps talking about ‘foo’, they’ll choose it even if foo is a complete boondoggle. See lambda architecture, most Apache projects, containers, etc
评论 #40267189 未加载
评论 #40271505 未加载
Nevermark大约 1 年前
If only simplicity always meant easy to use. There would be no paradox if it did.<p>One big problem is that for any product&#x2F;feature not used in isolation in a very controlled context, simplicity is often suboptimal, inflexible and limiting.<p>Complexity is often the result of building one thing that works well in a variety of situations, a lot of interoperable things or features to work (relatively) well together, or one thing with a lot of ways to interface with it. The worst case is all three - which is true for a lot of software.<p>The result is a simpler purchasing choice, buy the most flexible product, but at the cost of far more product complexity than any particular user needs.
评论 #40272872 未加载
评论 #40279408 未加载
评论 #40270702 未加载
3pm大约 1 年前
Not specifically about ML, but a good paper about unnecessary complexity introduced by a premature &#x27;scalabilitization&#x27;:<p><pre><code> The COST of a given platform for a given problem is the hardware configuration required before the platform outperforms a competent single-threaded implementation. </code></pre> Or<p><pre><code> “You can have a second computer once you’ve shown you know how to use the first one.” –Paul Barham </code></pre> <a href="https:&#x2F;&#x2F;www.usenix.org&#x2F;system&#x2F;files&#x2F;conference&#x2F;hotos15&#x2F;hotos15-paper-mcsherry.pdf" rel="nofollow">https:&#x2F;&#x2F;www.usenix.org&#x2F;system&#x2F;files&#x2F;conference&#x2F;hotos15&#x2F;hotos...</a>
Ozzie_osman大约 1 年前
Complexity sells also because it obscures and overwhelms.<p>&quot;Mark me down, too, as an adversary of complexity, complexity that obfuscates and confuses, complexity that comes hand in hand with costs that serve its creators and marketers even as those costs thwart the remote possibility that a rare sound idea will serve those investors who own.&quot;<p>This is John Bogle talking about finance, but I think it&#x27;s more generally true.
nelsondev大约 1 年前
This idea also applies to software sales.<p>e.g. A bloated, overly complicated, CMS is easier to sell to a company as a solution than a sleeker, cleaner solution.<p>“If you can’t dazzle them with brilliance, baffle them with bullshit”
评论 #40266676 未加载
BLKNSLVR大约 1 年前
At my current place of work complexity signals minimum viable product stacked upon minimal viable product stacked upon minimum viable product.<p>Function additions as patches upon a platform that started life as an MVP but was never properly even planned out nevermind built out, and then suddenly demand for new features arrive with dollars attached and the baselines are tossed out with the bath water.
dang大约 1 年前
Discussed (a bit) at the time:<p><i>Simplicity Is an Advantage but Sadly Complexity Sells Better</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32491079">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32491079</a> - Aug 2022 (6 comments)
zeroCalories大约 1 年前
I think another aspect of complexity is that your customers, either internal or external, have a very specific idea of what they want, even if their idea is trash. So your product needs to be flexible(complex) enough to support all the use cases conceivable. Going to a customer and saying &quot;trust us, do it this way&quot; will make them lose interest fast.
评论 #40266933 未加载
boxed大约 1 年前
My dad sold software for electron crystallography. You could buy the software and 4 electron microscopes and fund a team of doctoral students for the same price as one big fancy electron microscope that did the same thing in hardware. He could not compete.
评论 #40273783 未加载
cs702大约 1 年前
I&#x27;ve seen this firsthand:<p><i>&gt; A common point raised by ML reviewers is that a method is too simple or is made of existing parts.</i><p>And this is self-evidently true:<p><i>&gt; ...simplicity is a strength, not a weakness. People are much more likely to adopt simple methods, and simple ones are also typically more interpretable and intuitive.</i><p>It happens on a lot of different fields. For instance, a lot of investment management firms offer complicated investment strategies with high fees, even if a simpler strategy would do just as well. Quoting Warren Buffett:<p><i>&gt; Investors should remember that their scorecard is not computed using Olympic-diving methods: Degree-of-difficulty doesn&#x27;t count. If you are right about a business whole value is largely dependent on a single key factor that is both easy to understand and enduring, the payoff is the same as if you had correctly analyzed an investment alternative characterized by many constantly shifting and complex variables.</i>[a]<p>---<p>[a] <a href="http:&#x2F;&#x2F;www.berkshirehathaway.com&#x2F;letters&#x2F;1994.html" rel="nofollow">http:&#x2F;&#x2F;www.berkshirehathaway.com&#x2F;letters&#x2F;1994.html</a>
rglover大约 1 年前
I built a full-stack JS framework [1] that I thought would be a hit. As best as I can tell, because it lacks the complexity&#x2F;word salad of existing solutions, it&#x27;s mostly been ignored despite being (imo) an elegant solution to a long-standing problem.<p>[1] <a href="https:&#x2F;&#x2F;cheatcode.co&#x2F;joystick" rel="nofollow">https:&#x2F;&#x2F;cheatcode.co&#x2F;joystick</a>
评论 #40269459 未加载
评论 #40270630 未加载
评论 #40279453 未加载
austin-cheney大约 1 年前
Incompetence also qualifies billing a client substantially more time for a given work effort completely without fraud.
atomicbeanie大约 1 年前
Complex solutions are easy. Simple is hard. Often simplicity takes time, iteration and understanding that comes from actually operating a system. I think the missing link here is the Kaizen-oriented refinement that turns complex into simple over time. I find that modern OO-languages frustrate this process by needing cross-cutting changes to refactor for incremental improvements. Expression-oriented languages (like Clojure) are much more fluid, enabling the incremental refactoring required to transform the initially complex and awkward system into the simple and refined scalable system. Unfortunately, just like other languages, it is possible to write difficult-to-change systems in Clojure. And that seems to be often the way it is done.
评论 #40275284 未加载
评论 #40275429 未加载
评论 #40275821 未加载
评论 #40275322 未加载
sesm大约 1 年前
I&#x27;m always surprised at how much people can talk about simplicity and complexity without giving any definition of those terms.<p>Basically, the actual content of this article is giving the author&#x27;s own indirect definition of the word &#x27;complex&#x27;. The way I understood the definition is &#x27;complex = overgeneralised and purposefully made harder to understand&#x27;.<p>This is different from other definitions. For example, according to Rich Hickey&#x27;s definition, multimethods are &#x27;simple&#x27; because they provide &#x27;polymorphism a-la carte&#x27;. According to author&#x27;s definition they would be complex because they are an overgeneralised implementation of polymorphism.
评论 #40276855 未加载
sebastianconcpt大约 1 年前
Complexity isn&#x27;t evil, but hiding in it some secondary interest of who sold that complexity likely is (because of Murphy&#x27;s Law applied to human psychology?).<p>Also it has a protective corollary: the interested parts in preserving complexity because injecting lets say a much needed and correct new simpler alternative would either reveal the aforementioned dubious interests or reduce the incumbent&#x27;s authority (power), hence, all the incentives are set to boycott a system improvement from the top.
scrlk大约 1 年前
Compared to other engineering disciplines, it seems like software is one that is most susceptible to veer towards complexity. Is it the ease of iteration? The relative youth of software engineering?
评论 #40266891 未加载
评论 #40266924 未加载
评论 #40270927 未加载
marcus_holmes大约 1 年前
Agree with everything said in TFA.<p>Except maybe toning down the exhortation to use other people&#x27;s code so much. I totally agree that using existing solutions is very often the simplest solution; I would not want to rewrite PostgreSQL or any crypto libs. But too many dependencies can get messy; there is definitely a line at which writing your own code specifically for this situation is simpler and better than importing a more generic dependency that is much larger and more complex than it needs to be for your use case (because it covers more than just your use case). Or, (e.g. Left Pad), where the dependency is not actually easier than just writing the code yourself. Importing any dependency carries with it some complexity because it means integrating someone else&#x27;s code into your own, with the ensuing security implications and version problems. It is not always more complex to write your own code.<p>My general rule of thumb is that if it&#x27;ll be quicker for me to code a solution to this specific problem than it would be to learn the API for an import and integrate it, then I&#x27;ll write the code myself.
IshKebab大约 1 年前
This is a very good analysis and doesn&#x27;t fall into the trap most commentaries on stuff like this do: moaning about how something is bad without acknowledging any reasons for it, as if people are just arseholes. C.f. Electron, heavy websites, advertising, non-replaceable batteries, etc.
hyperthesis大约 1 年前
&quot;There&#x27;s no bragging rights to your software, because it&#x27;s too simple to use&quot;, a developer criticized my product. This reduced its viral spread, though managers liked it.
kouru225大约 1 年前
In professional settings, people care only about complexity.<p>In the informal media world, people care only about simplicity. The most simple narrative wins out every time.<p>We’re in a world of extremes.
quantum_state大约 1 年前
This is one of the reasons that IT is in a state of ruin …
评论 #40274165 未加载
hyperthesis大约 1 年前
Complexity signals innovation: an invention that is merely a &quot;workshop improvement&quot; won&#x27;t get patented. Complexity signals non-obviousness.<p>Too easy -&gt; easily copied -&gt; and no long-term competitive advantgage. Complexity signals hard.
kroolik大约 1 年前
As I started to think for some time now: you can have a challenge or a solution.<p>As engineers, we are often tempted to challenge ourselves, straying away from the latter. There is less perceived pride from following simple solutions.
renonce大约 1 年前
This has been my single major frustration with academia. Papers are getting long and complex (and very often unnecessarily so) and reviewers like rejecting with &quot;not innovative&quot; or &quot;too little work&quot;.<p>I mean there is a great amount of actual work where the complexity is inevitable, say homomorphic encryption or zero-knowledge proofs, but they are based on solid foundations, starting with the definition of group theory with just four axioms and building up and so on, where every definition is either simple or has lots of uses elsewhere. In contrast, in machine learning and operating systems research, people just seem to like to build algorithms from scratch and make it look incredibly complex (whether it actually is complex) and that just makes my life harder just to read the paper. It&#x27;s getting close to the point where reading the paper takes more cognitive load than conducting the research myself (having to understand 100s of papers to find the one that&#x27;s useful for my case). When it does, what would be the point of publishing it?<p>I recognize there is a lot of useful work in academia but it&#x27;s really hard to enjoy doing it when the results you would be most proud of is not likely to be well recognized.
评论 #40278185 未加载
hyperthesis大约 1 年前
The solution to a problem can be simple.<p>But now we want other things. e.g. car=transport, then: speed, efficiency, style, non-polluting, safety, price, a&#x2F;c, touchscreens, self-driving etc.<p>The boundless complexity of human desire.
briantakita大约 1 年前
Complexity is like a Ponzi Scheme. Ponzi Schemes are effective with sales. Midwits love Complexity &amp; love Ponzi Schemes. Midwits drive the markets due to their population being large.
daitangio大约 1 年前
Simple solutions are complex to design. Fullstop.<p>For instance the ‘do not me think’ GUIs are more complex to design than a CRUD GUI pushing all form fields in a form.
wccrawford大约 1 年前
The simple solution is superior if it does <i>everything you need</i>. If it doesn&#x27;t, the complex solution suddenly becomes a lot more desirable.
imtringued大约 1 年前
They won&#x27;t believe you if the solution is too simple. In fact, they accuse you of ulterior motives.
mro_name大约 1 年前
simplicity is the habit of zen, toaists, sufis and franciscans or the school of wirth - the mystics. Minorities each. It&#x27;s just not appealing to the masses and the proponents don&#x27;t really care about mass-recognition, either.<p>But they go on nevertheless, stubborn as they are.<p>Edit: Oh, and the razor Occam was a franciscan, too.
评论 #40268466 未加载
tipiirai大约 1 年前
&gt; Simplicity is an advantage but complexity sells better<p>Exactly my feeling with TypeScript
评论 #40272405 未加载
galdor大约 1 年前
In technical organizations (all organizations really), simplicity is also a hard sell: you need people in charge with the ability to say &quot;no&quot; to a lot of ideas. And no one wants to be on the receiving end of a &quot;no&quot;.<p>Those who favour simplicity will always be outnumbered, and their position will be untenable unless the entire top management team agrees. Good luck with that.<p>It is also one the reasons why the BDFL model works so much better: you need the ability to say &quot;no&quot; a lot.
评论 #40266978 未加载
sebastianconcpt大约 1 年前
Which techniques have you developed to deal with this problem?
1vuio0pswjnm7大约 1 年前
Software developers may embrace complexity for the purpose of commercial benefit and suffer all its disadvantages, not to mention passing on those disadvantages to users.<p>However non-commercial users, hobbyist programmers, who derive no commercial benefit from complexity are free to reject it and its disadvantages.<p>For example, I choose on a daily basis to use simpler, noncommercial software that I compile myself. The use of such software is routinely dismissed, discouraged and even attacked by many software developers commenting on HN. Certainly, its use in place of more complex alternatives does not benefit their interests. It does benefit mine. I like (relative) simplicity.<p>Each is free to do as they please. If one prefers complexity, as many do, then there is no shortage of alternatives to choose from. Complexity is booming.