5 ms·
I like PG's idea [1] of trying to write a compiler that can utilize code to run on multiple cores, as if the cores were running in series, not parallel (think b
by dev1n 11y ago
I like PG's idea [1] of trying to write a compiler that can utilize code to run on multiple cores, as if the cores were running in series, not parallel (think batteries).
[1]: http://paulgraham.com/ambitious.html http://paulgraham.com/ambitious.html
- seiji 11y agoThat's the holy grail of The Cloud: just write a description of what you want and what you want happens. DWIM programmatic casting. I think pg originated his "sufficiently smart compiler" startup idea in his pycon talk. You can find it online somewhere. The other take away from his talk was: just lie to customers about it being automated, manually farm out the parallelize-all-the-code tasks to works/interns/turks while saying it's "automatic," then eventually figure out how to automate it yourself later so you don't need pesky humans in the loop.
- deleted 11y ago[deleted]
- vkou 11y agoI hope he was being facetitious... That exposes your customer base to an enormous amount of risk.
- seiji 11y agoNot really factitious. The whole "do things that don't scale (grit! be resilient! schlep!)" is pretty central to modern cult of pg startup dogma.
- api 11y agoWhat's with "the cloud" here? That's the holy grail of any type of programming on any type of computing device at any scale. If that were possible it would be just as useful on a phone or a PC or a personal server.
- tim333 11y agoWhile PGs idea is likely too hard to be doable there is an interesting practical approach with things like Elixir which make multicore fairly easy using functional programming: """ Other languages skirt these issues by running on a single CPU with multiple processes to achieve concurrency; however, as Moore's Law pushes us towards increasing multicore CPUs, this approach becomes unmanageable. Elixir's immutable state, Actors, and processes produce a concurrency model that is easy to reason about and allows code to be written distributively without extra fanfare. """
- nickpsecurity 11y agoThe difficulties: https://en.wikipedia.org/wiki/Automatic_parallelization https://en.wikipedia.org/wiki/Automatic_parallelization Some solutions: https://en.wikipedia.org/wiki/ParaSail_%28programming_language%29 https://en.wikipedia.org/wiki/ParaSail_%28programming_langua... http://researcher.watson.ibm.com/researcher/files/us-bacon/Dubach12Compiling.pdf http://researcher.watson.ibm.com/researcher/files/us-bacon/D... https://en.wikipedia.org/wiki/Chapel_%28programming_language%29 https://en.wikipedia.org/wiki/Chapel_%28programming_language...