4 ms·
> The more I think about it the more I think program development should viewed as changing the state of a Key-Value database. This is pretty much how I view my
by BruceForth 15y ago
> The more I think about it the more I think program development should
viewed as changing the state of a Key-Value database.
This is pretty much how I view my programming in Common Lisp.
- evangineer 15y agoCan you say more about that or do you have a blog post on this somewhere that you can link to?
- BruceForth 15y agoCommon Lisp can be compiled one function at a time, and functions belong to packages, which are pretty much key-value databases you can modify, where keys are strings (name of the function) and the values are the functions themselves. So if there is something wrong with some function, I just update the value in the "database" and all callers will call the newly defined function from now on. Nothing magical really. This workflow is supported by the CL IDEs such as SLIME.
- stcredzero 15y agoThe more I think about it the more I think program development should viewed as changing the state of a Key-Value database. This is also how a lot of Smalltalkers operate.
- gnaritas 15y agoYea, Joe is slowly coming around to the idea of image based development instead of file based development. He's a few decades too late to be original, but it's still a great idea. Of course, throwing out files has consequences on the tools you use, big time. Ask any Smalltalk'er.
- stcredzero 15y agoOf course, throwing out files has consequences on the tools you use, big time. Ask any Smalltalk'er. You can ask me. Who said anything about throwing out files? I use file-based tools all the time. I've grepped files and diffed them. I've exported a Class as a file, done some operation on it with another tool, then filed it back into the image. Whatever tool is best for the job. There's in-image tools, but I'm not limited to them. Not being shackled to files has tremendous positive consequences. For example, I am free to code in the debugger almost 100% of the time. Even irb and iPython can look a bit restricted in comparison. If I do something esoteric to low-level code and crash the image, there's a transactional log of my code changes I can recover from, almost with impunity. The choice of text editors for main development is rather restricted, though. (But with a pattern of very short methods as the norm, and the ability to customize the browsers at the level of individual methods, this isn't that big a deal.)
- gnaritas 15y agoI'll venture a guess that you didn't read my profile.
- stcredzero 15y agoNope. Didn't.