Functional programming and multicore architecture

前端 未结 9 1351
傲寒
傲寒 2020-12-08 08:36

I\'ve read somewhere that functional programming is suitable to take advantage of multi-core trend in computing. I didn\'t really get the idea. Is it related to the lambda c

9条回答
  •  悲哀的现实
    2020-12-08 08:44

    All the answers above go to the key idea that "no shared mutable storage" is a key enabler to execute pieces of a program in parallel. It does not really solve the equally hard problem of finding things to execute in parallel. But the typical clearer expressions of functionality in functional languages do make it theoretically easier to extract parallelism from a sequential expression.

    In practice, I think the "no shared mutable storage" property of languages based on garbage collection and copy-on-change semantics make them easier to add threads to. The best example is probably Erlang, that combines near-functional semantics with explicit threads.

提交回复
热议问题