| I wonder if this will end up having any impact on how computers look to the programmer. RAM is nothing more than just a cache mechanism for slower storage devices, and as such it could have been made transparent from the programming perspective (roughly the same way as other caching devices - Cache Level 1 ... Cache Level N, CPU registers). The reasons RAM is still directly programmable are probably historical rather than technical. There is clearly a tendency though in many modern dynamic languages to hide direct memory allocation from the programmer. So, my first guess is, memristors won't affect much the world of garbage-collected dynamic languages - they are sort of ahead of time already. There is an interesting perspective, however, if you look at the OS level. Firstly, some part of the file system which is read-only - mostly code - will not be copied or "loaded" anymore, it will be read directly by the CPU from where it lies in the FS. Another important change here would be that memory pointers will persist. It is difficult to speculate on the possible impact, but it may be huge. It may even give rise to new programming languages - with or without direct pointer manipulation, I don't know. As for data files, my guess is that "open", "save" and other common verbs will be eliminated. Instead, we'll work directly on the file and the system will somehow keep the modification history (and here's where the analog nature of memristors might help, or maybe not). |