|
|
|
|
|
by wbhart
5282 days ago
|
|
One of the examples in the repository is an implementation of malloc. I tend to think of Go as an attempt to redefine what a systems programming language is (hence the "modern"). I don't think that there can be an established definition of what a modern systems language is, otherwise it would no longer be termed modern. Almost by definition theorists will differ on what the essential characteristics must be. |
|
Right. And (imho) malloc is quite possibly an "old fashioned" way of looking at things:
A reference to a byte block obtained from specifying the number of bytes! I would like to see the modern memory manger be type aware, have a very rich memory model, and allow for the propagation of application level semantics to OS (so they can cooperate in dealing with the current issue: memory access latencies and concurrency).> I don't think that there can be an established definition of [a] modern systems language
Key word is "modern" so here is an attempt to box that a bit: There are 2 possible dimensions to the notion of modern:
1 - it addresses new hardware realities
2 - it enables "progress" in dealing with matter rendered difficult by existing paradigms of system programming.
The realities of a modern system surely include: multi-core SMP; strong likelihood to be employed as distributed nodes; virtualization. So "modern" platforms and deployment patterns are not addressed.
Second, Deca, I gather, would delegate dealing with all this to some higher level (user level) framework built on top of the language. I don't see any progress in that critical front, either.