3 ms·
Yes, there is a tautology, and I'm glad you understand it, but such understanding is not widespread I assure you. You are right, no one says "time management".
by richhickey 17y ago
Yes, there is a tautology, and I'm glad you understand it, but such understanding is not widespread I assure you.
You are right, no one says "time management". I don't think they said "memory management" as often either, until there was automatic memory management (GC). But one thing is certain, most OO languages don't yet offer automatic _____ management, whatever it is to be called.
People do say they have a "race condition" or a "deadlock", or simply "data corruption" often without connecting it at all to the unmanaged mutation of their objects. And before there was GC there was just "heap corruption", "double deletes" and "memory leaks". Management implies a manager, and there isn't one yet, so why would anyone say it? What I am advocating is that languages provide automatic management of "time". It's not a novel idea, yet it is still missing, and I think it is missing because there is no place to put it in OO strategies which conflate identity with state, with weak or missing notions of object values.
But the phrase "mutable state" is broken, in a way that keeps people from understanding the problem and especially the potential solution. As soon as you consider state the value of something at a point in time, then mutation isn't the correct term, succession is, and the connection to time becomes clearer.
FYI, I neither wrote nor uttered the title. The interview was a recording of a casual, no prep conversation following my keynote. It was not meant to be profound, nor an advertisement.
- gruseom 17y agoI agree with much of this, but "time management" still seems like a half-baked metaphor for FP immutability and not a clarifying model, at least not yet. It's easy to explain the X to which "memory management" refers: allocating and freeing memory. Surely that was easy to understand even before the advent of GC. It's also easy to explain what memory is and point to where and how it is manipulated in code. I don't see how time is a programming construct in the way that memory or state is.
- cschep 17y agoIsn't time a product of memory and state?