Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> If you do, please try to answer this simple question: what single application of widespread importance benefits on a game-changing scale from running on multiple cores?

Computer vision and machine learning both benefit a lot from multiple cores. They seem to be really big growth areas at the moment and have the potential to dramatically change the way we interact with computers. It's already happening: recommendation engines on e-commerce sites are a great example of machine learning in practice. I believe we're going to see this sort of thing appearing in more and more places.

Web browsers already take advantage of multiple cores, by the way. The Rust language is being developed by Mozilla because (one of the three reasons from the project FAQ) of dissatisfaction with the concurrency support in existing languages.

I think there's a large opportunity cost to dismissing concurrency & parallelism at this moment.



> I think there's a large opportunity cost to dismissing concurrency & parallelism at this moment.

I'm not dismissing the idea, nor claiming that it is not valuable for any application. Clearly that parallelism would have value to a significant number of projects, which perhaps don't make best use of the host hardware today. I'm just trying to keep the multi-core idea in perspective, relative to other ways our programming languages might improve.

Better multi-core support can get you a constant factor speed-up in computationally expensive work, but Amdahl's Law tends to spoil even that. On the other hand, a language with a type system that allows you to prevent entire classes of programmer error could lead to a step change in security or robustness. A language expressive enough to capture the developer's intent in ways that today's programming models do not could lead to entirely new techniques for keeping designs flexible, supporting new rapid development processes, or it could create opportunities for optimisers that bring the performance of more expressive languages to a level where they compete with lower-level languages used in the same field today for speed reasons. I suspect that across the field of programming as a whole, such improvements would be far more widely applicable.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: