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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

We’re approaching the limits of computer power – we need new programmers

227 点作者 notinventedhear超过 5 年前

32 条评论

pjc50超过 5 年前
The major problem areas are those where it&#x27;s economically &quot;best&quot; to do the computationally inefficient thing.<p>The obvious example is the quick-to-build MVP, but many of the bigger problems come from platform conflicts. Because we have at least five different actively uncooperating operating system platforms, it&#x27;s hard to build portable native apps - so people build electron apps instead. We also use the web browser as a competitive battleground; due to coordination problems only one programming language and UI model is possible, although another is creeping in via webassembly.<p>Then there&#x27;s the ongoing War On Native Apps. Every platform holder would love to take the 30% cut of the profits and veto which applications can run on the platform. We&#x27;re left with Windows (non-app-store) and sort of MacOS (although watch out for notarisation turning into a veto in the future). And sadly this has very real benefits in malware prevention. Systems which run arbitrary code get exploited.<p>Beyond that there&#x27;s cryptocurrency, where finding a less-efficient algorithm is a design goal to maximise the energy wasted, in order to impose a global rate limit on &quot;minting&quot; virtual tokens.
评论 #22021722 未加载
评论 #22024189 未加载
评论 #22022431 未加载
评论 #22025230 未加载
评论 #22021960 未加载
评论 #22021445 未加载
评论 #22026186 未加载
评论 #22024296 未加载
champtar超过 5 年前
One of the best 2h practical course that I had was just write the fastest square matrix multiplication. You could use any language, any algorithm, just no libraries. The target was a 32 core CPU server (this was ~10 years ago). At 5000x5000 all the Java and Python attempts were running out of memory. In C, We tried some openmp, some optimized algorithm, but in the end the best trick was to flip one of the matrix so that memory could be always prefetched. Out of curiosity another student tried GNU Scientific Library, it turned out to be ~100 times faster. My take away was find the right tool for the job!<p>A fun read on cloud scale vs optimized code is this recent article comparing ClickHouse and ScyllaDB (<a href="https:&#x2F;&#x2F;www.altinity.com&#x2F;blog&#x2F;2020&#x2F;1&#x2F;1&#x2F;clickhouse-cost-efficiency-in-action-analyzing-500-billion-rows-on-an-intel-nuc" rel="nofollow">https:&#x2F;&#x2F;www.altinity.com&#x2F;blog&#x2F;2020&#x2F;1&#x2F;1&#x2F;clickhouse-cost-effic...</a>)
评论 #22024212 未加载
评论 #22024922 未加载
评论 #22028107 未加载
评论 #22026239 未加载
ledauphin超过 5 年前
I just don&#x27;t buy this. I cut my teeth as a HPC programmer working with C and writing no-lock algorithms. There will always be a need for that, but realistically the vast majority of software being developed is simply not performance-critical. It&#x27;s designed to work at human speed.<p>Advances in language, compiler, and runtime implementations will continue to keep up with any growth in the need for performant applications for the foreseeable future, despite the looming collapse of Moore&#x27;s Law.
评论 #22021559 未加载
评论 #22024540 未加载
评论 #22021108 未加载
评论 #22024297 未加载
评论 #22027673 未加载
评论 #22025124 未加载
评论 #22023425 未加载
rs23296008n1超过 5 年前
Usually poorly performant code needs optimisation through a change of approach or mindset. It is the <i>way we are thinking about the problem</i> that is lowering performance. Not necessarily the hardware itself.<p>I&#x27;ve seen locking brought forward as a critical limit. Long discussions about new hardware and adding nodes and all sorts of expenditure required. We need a larger kubernetes. More GPUs!<p>I&#x27;ve also been in the situation where we switched to a plain redis queue (LPOP, RPUSH) scheme and gotten 10x the improvement just by lowering message overhead. A lot of the very complex solutions require so much processing power overhead simply because they involve wading through gigabytes. Better alternative solutions involve less gigabytes. Same hardware, different mindset. Not even talking about assembly language or other forms of optimisation being required. Just different philosophy and different methodology.<p>Perhaps we need programmers with the mental flexibility to run experiments and be open to alternatives. (Spoiler: we&#x27;ve already got plenty of these people.)
评论 #22030988 未加载
uncle_j超过 5 年前
Every few years something like this gets written. I remember similar things being written in 2004-2005 before the Core 2 line of processors came out.<p>There is still improvements being made to the current tech or new takes on the current tech that aren&#x27;t incorporated yet in the current bunch of consumer processors.<p>Also I happen to think that what makes a computer fast is the removal of bottlenecks in the hardware. You can take quite an old machine (I have a Core 2 Quad machine under my desk) slap in an SSD and suddenly it doesn&#x27;t feel much slower than my Ryzen 3 machine.
评论 #22023430 未加载
评论 #22021248 未加载
nickpinkston超过 5 年前
We&#x27;re mostly fighting Murphy&#x27;s Law, not Moore&#x27;s law. As said below, most problems are so far from being compute&#x2F;$ or otherwise technically limited and far more about organizational &#x2F; political issues putting vast inefficiencies into these systems and priorities that fund their creation.
评论 #22024629 未加载
评论 #22025048 未加载
sumanthvepa超过 5 年前
The renewed interest in C++ and other compiled languages is an indication of the need to get more efficient. Programmer skill will become more important in the future. But they won&#x27;t be today&#x27;s skills. I expect that programming in the future will be more about getting the AI to do what you want rather than writing code directly.
评论 #22020990 未加载
评论 #22021006 未加载
评论 #22021143 未加载
评论 #22022095 未加载
评论 #22021731 未加载
评论 #22021033 未加载
评论 #22021071 未加载
评论 #22021390 未加载
评论 #22026621 未加载
评论 #22021337 未加载
thewebcount超过 5 年前
I don&#x27;t think this article is seeing the whole picture. The author talks about how programmers used to have to cram a program into 16KB of RAM (or ROM) and it had to be efficient. But that came at a huge cost. Reading 6502 Assembly with variables that could only have up to 6 characters for their names, and were all global was a huge pain in the ass!<p>We have great optimization tools freely available these days, and when necessary they are used. We also have great standard libraries with most languages that make it fairly easy to choose the right types of containers and other data structures. (You can still screw it up if you want, though.)<p>As soon as it becomes economically necessary to write more efficient code, we will be tasked with that. I work on professional software and we do a hell of a lot of optimization. Some of it is hard, but a lot of it could be done by regular programmers if they were taught how to use the tools.
pier25超过 5 年前
There’s also the environmental factor nobody takes into account. Less CPU cycles means less emissions. When a piece of software is used by millions or even billions it must be significant.
评论 #22028123 未加载
qwerty456127超过 5 年前
Why do we need more computer power? I haven&#x27;t upgraded my laptop since 2009 (well, I&#x27;ve replaced its HDD with an SSD 2 years ago and it made a huge difference) and I&#x27;m okay. Some people insist on photorealistic 3D graphics in the games they play, I agree that&#x27;s cool but wouldn&#x27;t say that&#x27;s anything close to important.
评论 #22025754 未加载
评论 #22021876 未加载
评论 #22021495 未加载
评论 #22021704 未加载
Forge36超过 5 年前
What the future holds is hard to grasp, the piece shared with me yesterday was &quot;we&#x27;ll spend the next decade removing features, at no loss to functionality&quot;<p>One of the biggest pieces of bloat I&#x27;ve seen is doing the same thing in multiple places, and the new feature not being an improvement over the old workflow in 90% of cases, the efficiency gained 10% was lost in the other 90%
评论 #22021220 未加载
rini17超过 5 年前
What will be probably most interesting to watch: the collision between hardware constraints and ever-increasing complexity of standards like Unicode and HTTP.
The_rationalist超过 5 年前
Are there any progress&#x2F;path to progress for making competitive 3D cpus&#x2F;asics?<p>I understand that 3D has thermal issues but couldn&#x27;t this be prevented by increasing (dead) dark silicon and maybe water cooling inside the 3D chip?<p>Not directly comparable but brains are state of the art of computing and are tri-dimensionals.
LargoLasskhyfv超过 5 年前
Stock photo shows voltage regulator circuitry beneath cpu, most likely SMD capacitors. I wonder if the author thinks <i>these</i> are the parts he is writing about?
评论 #22022990 未加载
评论 #22023919 未加载
Zigurd超过 5 年前
If you look at the volume of software that needs to be produced, and at the trend to include software in more products, and at the entrepreneurial imperative that risk capital is the most expensive resource, it looks very unlikely that handcrafted machine instructions will play a greater role in the future.<p>Cloud computing and SaaS have extended the deadline for coming up with an answer to &quot;What comes after Moore&#x27;s Law.&quot; But it is much more likely to not be based on every coder learning what us olds learned 40 years ago. Instead, optimization is more likely to get automated. Even what we call &quot;architecture&quot; will become automated. People don&#x27;t scale well, and the problem is larger than un-automated people can solve.
评论 #22021212 未加载
评论 #22021224 未加载
lousken超过 5 年前
Yea, it&#x27;s really annoying when IS vendor said their solution needs 16GBs of RAM for every computer when it&#x27;s just all basic stuff like dashboards, graphs, tables etc. Even modern PC games still don&#x27;t require this amount.
luord超过 5 年前
There were several good points both for and against the article in this comment section. I was pleasantly surprised, usually the threads caused by posts like this turn into &quot;static typing vs dynamic typing&quot; or &quot;functional vs object oriented&quot; flamewars.<p>As for my own opinion: yes, optimization is key, but we gotta remember not to make it premature. Take advantage of the fast hardware to actually create something; once we know that the something is viable, let&#x27;s refactor and optimize.
评论 #22039300 未加载
mjpuser超过 5 年前
We also have a mantra against optimization until you know that you need to. It seems too cost and time prohibitive to put these things on the programmer to maintain, and that we need to develop tools to help optimize our code. Maybe the next generation of optimization techniques will be runtime instead of compile time. We already have dbs with optimizers, so maybe there will be programming languages with optimizers?
Ericson2314超过 5 年前
We are having worse and worse latency, though not bad throughput, but the real issue is complexity. We just keep on pilling more crap on top of the old crap.<p>I&#x27;m lucky at work we write lots of stuff to avoid the tell&#x2F;mound, but hello! where is the rest of the industry on this?<p>[You can use our stuff if you like, it is all public. Let&#x27;s rebuild together.]
Priem19超过 5 年前
“The only consequence of the powerful hardware I see,” wrote one, “is that programmers write more and more bloated software on it. They become lazier, because the hardware is fast they do not try to learn algorithms nor to optimize their code… this is crazy!”<p>This is remarkably accurate for games as well. Insurgency: Sandstorm for example. I was full of hope when I learned it was being developed in Unreal Engine which supports large scale combat much better than Insurgency&#x27;s source engine. Unfortunately when it came out if performed much worse than its predecessor. Working with these engines has become so easy you don&#x27;t really have to &#x27;think&#x27; anymore and can just keep throwing stuff in.
tomrod超过 5 年前
This is a topic that really interests me, but I couldn&#x27;t read the article -- either a paywall, ad-wall, or some other reader-hostile blocker incongruent with the foundation of the Internet prevents usability. Ah well. I&#x27;ll join the conversation regardless.<p>For all the programmers out there -- _how do we do this?_. I came into programming through Matlab and Python in Economics and Data Science. I don&#x27;t have formal training in software engineering. I know some C, some Fortran, and have a journeryman&#x27;s understanding of how my tools interact with the hardware they run on.<p>Where can I learn how to be extremely efficient and treat my operating environment always as resource constrained? Am I correct in seeing the rise of point-and-click cloud configuration hell-sites like AWS are masking the problem by distributing inefficiently? (sorry if unrelated, spent hours debugging Amazon Glue code last night and struck me as related).<p>In other words -- how can we tell what is the path forward?
评论 #22021696 未加载
评论 #22021469 未加载
评论 #22027594 未加载
评论 #22021330 未加载
jingfire超过 5 年前
I like the statement saying that software is only limited by human imagination. Meanwhile it is also the case that better hardware brings more possibilities to what we can do.
stebann超过 5 年前
When I read articles similar to this one, I can&#x27;t avoid asking myself how can universities take a more integrated approach to disciplines related to software engineering and computer science. I know that we can&#x27;t learn all the stuff that&#x27;s going around, but some standard organization should be put on the table. I felt it many times while studying this lack of &quot;low level&quot; preparedness.
kraig911超过 5 年前
How many years was it where bridges were made only out of wood? I feel engineers before us had the foresight to see the possibilities but lacked the tools and understanding.<p>I fear only when people realized the economy needed to support large mammals crossing a bridge at one time did they really engineer bridges to support that weight. I think the same metaphor could be said for computing.
评论 #22039582 未加载
xvilka超过 5 年前
Finally, a time for Electron and JVM to go away.
JustSomeNobody超过 5 年前
Right now, most organizations (and developers) are focused on developer speed&#x2F;productivity. As compute resources plateau, some developers will be required to focus on compute efficiency and speed. There will always be a limit to how fast you want your CRUD web app to run vs how much you want to spend on developers, though.
评论 #22039862 未加载
m0zg超过 5 年前
You don&#x27;t need &quot;new&quot; programmers. Just dust off some &quot;old&quot; programmers who are now merely 40-50 years old. There&#x27;s plenty of life still in us, and we can tell a pointer from a hole in the ground.
评论 #22045587 未加载
a_ranom_dev超过 5 年前
Title should be changed to needing old programmers, as many comments have hit upon.
matt2000超过 5 年前
It seems like there might be a pretty straight up tradeoff between difficulty of developing software and quantity of software produced. So the more we attempt to optimize at a lower level, the more time it takes to develop, and the less software someone can make and maintain. So, given that - would you rather lose 30-40% of the apps you use and like, but the rest are faster? Or keep using everything you have now?<p>There are exceptions to this, as with everything, but it&#x27;s not as easy as this article makes it sound, i.e. &quot;Just make faster stuff dummy!&quot; There&#x27;s always a cost.
评论 #22023123 未加载
评论 #22032576 未加载
评论 #22040011 未加载
n_ary超过 5 年前
The article read to me like one of those posted every 6-8 months with random thoughts someone had in one morning reminiscing old days with oranges compared to sports cars and complete disregard that, as time marches on, things change, people(customers&#x2F;users) want more, convenience is prioritized.<p>I&#x27;ll also reminiscence a bit: back in 2000s, my 266MHz, 64MB, 4.1GB HDD PC would let me install a 2GB full feature third person adventure game(Legacy of Kain: Soul Reaver, for exampler) worth nearly double digit hours of play, currently it takes 2x of disk space to install a basic platformer giving 1-2h of fun. Every new game lags to hell on a new PC because I have opted for 1 year old GFX card. I can view a PDF nicely with SumatrPDF yet Adobe Acrobat Reader takes 3-digit MB to offer same feature &amp; 5x more time to start. I could use IRC in 2000s while Slack takes all of my RAM available. A website back in days would be few kB, I mean people here frequently compare HN with Jira or how funny it is that Netflix has to spend engineering effort to improve time-to-first-render on it&#x27;s landing page which is static!<p>Those are facts, not so good: Soul Reaver vs Assassin&#x27;s Creed is bad idea, because people didn&#x27;t mind if grass was just flat texture or hero looked like walking cubes. SumatraPDF can open a PDF but Adobe Reader gives me annotation, form filling, signing etc. NFS2 was just racing, NFS:Heat players demand customizing exhaust gas color. Netflix home page loads more images combined than &quot;back in days&quot; and must adapt to big or small screens so it looks great everywhere. Jira lets me drag-n-drop a ticket while it took x3 time to update same ticket back in days in several form refreshes. HN is the simplest CRUD, it just lets me vote and post basic text, heck it delegated search to algolia(a different service)! The features Slack offers will require 5-7 extra different services if I were to use IRC.<p>But those kinds of reality don&#x27;t get posts up-voted, so instead they are always like ranting about why Whatsapp needs more resources than the SMS app when both lets me send text to someone else?<p>Anyways, things change over time, in 2000s, my PC would lag if I opened MSWord &amp; had windows Media player playing some HD videos or a game would crash if I tabbed out of it to check something. But now I have 20+ tabs open that live update stock tickers and have texts infested with hundreds of advert monitoring things while a tiny window plays current news in corner while am typing away happily in IntelliJ IDE, and have a ML model training in background. Now I can also record a HD version of my gameplay and tab out too. I think, in future complex development will take place in the cloud, we&#x27;ll probably have high speed internet everywhere and online IDE or similar so everything happens in cloud. Similarly how 4GB HDD costed a fortune in 2000s but same price gets me a x100 capacity now, cloud resources will improve while prices will go down. :)
评论 #22040098 未加载
jlj超过 5 年前
Functional programming is something to watch and learn. It can help take advantage of multi-core single machines and distributed computing alike because it is thread safe due to using immutable variables and the mathematics behind pure functions. Compared to OOP, no locking, concurrency, or race conditions to worry about if used correctly.
评论 #22024843 未加载
peterwwillis超过 5 年前
Does the sad realization occur to anyone else that if all software was open instead of proprietary, we probably would already have the most optimized, most efficient, most advanced software? Instead, most of it&#x27;s proprietary, so we&#x27;ve been re-inventing the wheel for decades.<p>I remember how well and how fast software worked 20 years ago. Today I have to reboot my telephone to make a call.
评论 #22025791 未加载
评论 #22025687 未加载