On Friday, 10 October 2014 at 21:11:20 UTC, Ola Fosheim Grostad wrote:
On Friday, 10 October 2014 at 09:00:17 UTC, Peter Alexander wrote:
You can't have simple, expressive, and low level control.

Why not?

It's just something I believe from experience.

The gist of my reasoning is that to get low level control you need to specify things. When those things are local and isolated, all is good, but often the things you specify bleed across interfaces and affect either all the implementations (making things more complex) or all the users (making things less expressive).

For example, consider the current memory allocation/management debate. I cannot think of a possible way to handle this that simultaneously:

(a) gives users full control over how every function allocates/manages memory (control).
(b) makes the implementation of those functions easy (simple).
(c) makes it easy to compose functions with different management policies (expressive).

There are trade-offs on every axis. I'm sure we'll be able to find something reasonable, that maybe does a good job on each axis, but I don't think it's possible to get 10/10 on all of them.

Maybe there's a way to do it, but if there is I imagine that language and programming experience is going to be vastly different from what we have now (in any language).

Reply via email to