Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Indeed, SQLite started life as simply a Tcl extension[0] that “escaped into the wild”. Redis was initially prototyped in Tcl too, and ‘antirez has nice things[1] to say about Tcl.

[0] https://sqlite.org/tclsqlite.html

[1] http://antirez.com/articoli/tclmisunderstood.html



I'm curious about why they chose Tcl, particularly over languages like Python or Perl. Were there specific aspects of Tcl that made it appealing for SQLite and Redis, or was the choice more about familiarity with Tcl? Either way, I'd love to understand what they found interesting or advantageous about Tcl in these projects. BTW, I chose Tcl/Tk in the past because it was the easier way I found to quickly built an UI on Unix/Linux.


Most likely for the same reason you found. Once you know it, it's very easy to use, and it's available in most distributions (if not all). So both familiarity with Tcl, while having that ability to build out quick and stable GUI tests, including the lack of churn in the GUI framework. For myself, having to readapt to a GUI framework when I'm just trying to get something visual up and running to make life slightly easier, makes something like Tk much more beneficial for just getting work done. A bit ugly, but anyone technically inclined will figure it out quickly, without constantly having to change up libraries. I only speak for myself and put my 2 cents in, I don't speak for anyone else, but for general tooling targeted at developers it seems perfect.


Both Richard Hipp and Salvatore Sanfillipo came out of the Tcl community. SQLite was originally just a Tcl extension (and may I say, SQLite's Tcl binding is a dream to use). In a nutshell, they were already using Tcl because they found it useful.


The Redis protocol reads a lot like Tcl code.


I think he also wrote an implementation of a tcl-like language called Jim.


No, that was by Steve Bennett.


Sorry no, antirez (Salvatore Sanfilippo) was the original author, Steve Bennett took over maintenance later - https://jim.tcl.tk/index.html/doc/www/www/about/ .


My bad; I'd forgotten about Salvatore's role. Steve Bennett is the one I saw present about it at the Tcl Conference some years back.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: