6 ms·
“One of the goals of our architecture is to have it be completely transparent to software, because software is hard to change.” Software is hard to change. Ho
by comex 3y ago
“One of the goals of our architecture is to have it be completely transparent to software, because software is hard to change.”
Software is hard to change. How ironic, and yet of course completely true.
- littlecranky67 3y agoI don't think they mean that Software is hard to change, but "getting/motivating others to change their software specific for our hardware"
- Dalewyn 3y agoSoftware is hard to change, because there is nothing more permanent than a temporary solution. And there are lots of temporary solutions in programming.
- rat9988 3y agoNo it's not related to that principle at all in this context.
- CyberDildonics 3y agoSoftware is hard to change because it is difficult to create and already distributed. I don't think what you said has any relation to the problem.
- flohofwoe 3y agoThe Itanium (as the prime example - and I bet the quote from the interview is at least partly based on the lessons learned from Itanium) failed not because there was no will by programmers to adapt their projects, but because there's simply not enough instruction-level parallelism in general-purpose code. That's not a problem one can simply "fix" by rewriting all software, much less by rewriting all compilers from scratch.
- yvdriess 3y agoCorrection: the lesson is that you cannot exploit the available ILP by static (compile-time) analysis. There is definitely enough ILP to exploit if you do the analysis at execution time, which is what any modern CPU does with register renaming, reorder buffers, dependency tracking etc.
- CoastalCoder 3y agoI think having good optimizing compilers goes a long way. I.e., to the extent they reduce the need for source code to cater to the underlying CPU, less effort is needed to port software to a new CPU. I think GCC and especially LLVM are really reducing the barriers to bringing new CPUs to market. Maybe for GPUs as well because of shader compilers?
- TazeTSchnitzel 3y agoMost hardware is sold with “works with existing software” as a selling point. Most software is sold with “works with existing hardware” as a selling point. Most vendors don't have the luxury of being able tailor both to eachother.
- crote 3y agoYeah, it's a chicken-and-egg problem. You're not going to have any luck selling hardware which performs subpar with existing software, and nobody is willing to adapt software to an obscure hardware platform. We saw the result with Intel Itanium: great concept, absolute failure due to software incompatibility. On the other hand, the PS3's Cell architecture demonstrated that innovative platforms aren't impossible given the right incentives.
- KptMarchewa 3y agoPS3 is probably the only console generation that Sony lost. Not the best example.
- Anarch157a 3y agoThey lost because tge winner of that generation was the Wii, wich won because of it's gimmicky motion controller and good library of party games. Something simmilar is happening now with thw Switch. In both cases, being much cheaper doesn't hurt. But compared to the Xbox, PS3 "won" at the tail end of the generation, I would credit this to the supperior exclusive titles and the sales outside US. In Europe, Japan an South America, Playstation sells a lot more than Xbox. Where I live (Brazil) almost no one buys Xbox. As an anecdote, in 20 years, I met only one person who owned one (a X360) and several who had Playstations. And the X360 owner only had it because she worked at Microsoft and got it as a gift from the company.
- dontlaugh 3y agoIn the UK and US, it was mostly the other way around with the 360 being much more common.
- sylware 3y agoWe reached a point in software were "innovation" is to simplify and to remove, not to add and to complexify. Once, we get a reasonable lean and modular software stack for most usage contexts, we can start to deal with new hardware models with their specific software optimizations. A big mistake from AMD software teams is their worshipping of c++... they should have sticked to plain and simple C (not the gcc/iso extented one), actually I'll one step higher: plain and simple assembly for their hardware.
- nly 3y agoC++ makes writing simple code easier than C. It also makes writing big old messes easier than C. Writing simple, elegant and efficient code is hard. It takes "polish", which usually means not stopping the moment as you have "something that works", going back, refactoring, shaking out those TODO comments...questioning all the assumptions and abstractions you added earlier, etc etc.
- sylware 3y agoI severely disagree, the technical cost of the c++ syntax is beyond anything reasonable. That reason alone is enough to avoid its usage: It is less worse to write and try to keep sane plain and simple C, that to be dependent on a c++ compiler, not to mention that c++ code is no more immune from toxic code than C. Actually, this is the other way around: since the syntax is beyond-reasonable complex, c++ toxic code is way worse than c toxic code. C is a lesser evil than c++.
- JohnFen 3y agoI tend to agree. This wasn't always true, but C++ has grown into a bit of a monster.
- c_crank 3y agoWhat is idiomatic, simple C++ code? Each standard seems to redefine what that looks like.
- okasaki 3y agoProbably because there's thousands of variants of "software" and like 5 for chips.