Simon Peyton Jones
π€ SpeakerAppearances Over Time
Podcast Appearances
Why is the internet so insecure?
Primarily because all of our software infrastructure is written in unsafe languages.
This is Simon Peyton Jones, co-creator of the functional programming language Haskell, and I asked him all about programming language design.
If we rewrote all of our software infrastructure in Rust, things would be way, way better.
I think that statically typed languages are a huge boon for LLMs.
I do large-scale systematic refactorings fearlessly because the type system keeps me safe, in fact.
Functional programming is about programming with values instead of mutation.
So in a conventional imperative programming, computation proceeds by, like if I want to add up the numbers between 1 and 100, I have a mutable cell containing a running total.
And then as computation proceeds, I keep adding to my running total.
So there's a cell that changes its value over time.
Computation proceeds step by step.
There's a program counter.
Now, that's very unlike mathematics.
If I say 3 plus 4 times 7, you don't think of a mutable cell that changes its value over time.
You think, well, 3 plus 4 is 7.
7 times 7 is 49.
Just the answer is 49.
So in a sense, it's more declarative than imperative.
Another way to think of it is it's more like what a spreadsheet does.
In a spreadsheet formula, if you put in a cell, you'd say in A1, you put the formula equals A2 times A3 plus 7.