3 ms·
PLT Scheme + PLT Scheme web server + flat files (actually serialized s-expressions on disk. Which aren't very flat.)
by phony_identity 20y ago
PLT Scheme + PLT Scheme web server + flat files (actually serialized s-expressions on disk. Which aren't very flat.)
- ido 20y agoWhy not use a database?
- SwellJoe 20y agoYou're asking "why not add complexity?" Not a good place to start. If a project needs a database you'll know it pretty quickly...and it's easy to convert to using a database at that point. The only time I've ever regretted a decision about databases was when I designed a log processor that didn't immediately have relational needs...over a couple of weeks of implementing the requirements I ended up writing a relational layer in Perl against a Berkeley DB backend. That was stupid, and I should have thought a little harder about the requirements. But it was my first big solo project, so I blame inexperience for not recognizing a relational problem from the start. Luckily, SQLite had just been released, and converting my app to use it (and losing a hundred lines of code) was a one day operation. It made the app approximately 100 times faster for my data set. But, well over half of my applications since then have not required a database and have been well-served by flat files.
- phony_identity 20y agoBecause it's much easier to just dump your data to disk as you already have it, rather than translate it to SQL idea of what data is: SQL types, one-to-many relationships, etc. This is not just a Scheme thing. If you use Java you have serialization. Python calls it 'pickle'. I'm sure whatever else you are using probably has something equally simple.