6 ms·
Because I thought it was not a good idea to script Redis using an opinionated language as Tcl. Lua is a lot more "algol like", more understandable to the casual
by antirez 8y ago
Because I thought it was not a good idea to script Redis using an opinionated language as Tcl. Lua is a lot more "algol like", more understandable to the casual script writer.
EDIT: However there is an even more important thing that resembles Tcl in Redis: the commands you send to the server to alter the data set are very similar to Tcl commands.
- systems 8y agothere is no such thing as casual redis script writer if you are technical enough to write scripts for redis, you are not casual
- jim_bailie 8y agoI actually agree whole-heartedly with this comment. But I wouldn't have written with such a dismissive tone to a living software god :-) Anyway, Lua was a fine choice!
- antirez 8y agoYep but perhaps you want to glue two commands together. I wanted to avoid forcing this kind of users to learn a new language.
- le-mark 8y agoDid sandboxing factor into the equation? My understanding is lua scripts in redis aren't sandboxed, other than the (possibly?) restricted api. But one could limit heap with a custom allocator for example, and cpu cycles with a hook, if desired.
- bch 8y agoI think that wouldn’t be an argument for Lua over Tcl, as Tcl has facilities built especially for this type of environment: Safe Interpreters[0] and resource constraints[1] come to mind. [0] https://wiki.tcl.tk/4204 https://wiki.tcl.tk/4204 [1] https://www.tcl.tk/man/tcl/TclCmd/interp.htm#M47 https://www.tcl.tk/man/tcl/TclCmd/interp.htm#M47
- e12e 8y agoI find it somewhat amusing (but understandable) that you thought Tcl was too complicated for "script programmers", but fine as the standard interface to get anything done with (raw) redis ;) It's a shame, Redis could've become the storage back-end for the next AOL server! ;) Well, I suppose it probably is used with aolserver anyway. For those confused by this comment, see: http://philip.greenspun.com/panda/ http://philip.greenspun.com/panda/ And/or: https://openacs.org/ https://openacs.org/ NaviServer appears to be the "new" aolserver: http://wiki.tcl.tk/2090 http://wiki.tcl.tk/2090 While aolserver still exists, I'm maintainence mode: http://aolserver.github.io/ http://aolserver.github.io/