3 ms·
> as programmers we need to change our default behavior from writing linear programs and then trying to make them take advantage of concurrent hardware to writi
by vmchale 8y ago
> as programmers we need to change our default behavior from writing linear programs and then trying to make them take advantage of concurrent hardware to writing concurrent solutions at every level of application design by default from the ground up.
With parallelism in particular, this is quite easy. Haskell's accelerate library allows you to write code using maps/folds which then runs on multiple CPU cores or a GPU (J does something similar but it's CPU-bound).
It turns out that maps and fold can already handle quite a lot.
With concurrency - well, concurrency is hard, and many basic data structures are in fact quite recent!