Functional Mechanical Sympathy (Keynote)Remote
For the first time in decades, the two fastest-growing mainstream programming languages are not object-oriented. They are statically typed, with first-class lambdas, and are known for their concurrency stories. They are Go and Rust, both imperative.
If object orientation is no longer a requirement for mainstream adoption, and lambdas have become commonplace, why aren’t two functional languages the fastest-growing? One selling point that makes Go and Rust stand out is performance. Go offers solid runtime performance and garbage collection, while Rust offers substantially more performance, but at the cost of substantially higher language complexity and build times.
Their growing popularity can’t be explained by paradigm familiarity alone. The most popular modern JavaScript build tools are written in Go and Rust, often by programmers who enthusiastically practiced a functional style in their TypeScript code bases before learning Go or Rust specifically in order to get the performance they needed. Even though they liked FP, they couldn’t find a way to achieve their performance goals with it.
In many cases, the performance of functional programs comes down to architecture. Some architectures are better-suited than others to patterns of processor and memory usage that run fast on modern hardware. In any domain where performance is more than a nice-to-have, the correctness and comprehensibility benefits of a functional architecture will be weighed against the runtime performance of the programs it produces.
This talk will dive into the intersection of functional programming and mechanical sympathy: how we can achieve faster-performing functional programs by architecting with the machine in mind.
Sat 29 AugDisplayed time zone: Eastern Time (US & Canada) change
09:30 - 10:30 | |||
09:30 60mKeynote | Functional Mechanical Sympathy (Keynote)Remote FUNARCH DOI | ||