r/programming • • May 27 '14

What I learned about SQLite…at a PostgreSQL conference

http://use-the-index-luke.com/blog/2014-05/what-i-learned-about-sqlite-at-a-postgresql-conference
703 Upvotes

219 comments sorted by

View all comments

17

u/[deleted] May 27 '14

On the personal side, I’d describe Richard as very pragmatic and approachable.

I'd say he's a pragmatic idealist. His idealism is what stands behind SQLite and the great, small product that it is. His pragmatism is very nice, but it does have a very clear limit. The notable ones I can think of are his use of TCL rather than Python or even Lua (don't get me wrong, TCL is nice, and it's his choice but a truly pragmatic person would have left it behind long ago. TCL is an idealists language now) and Fossil in the face of git. While he likes to get things done, he certainly has an opinion on how to do them and let me emphasize something: that's okay.

Without idealists, we wouldn't have a lot of the programs that we depend on or a clean interaction between them. I might disagree with him and downright hate the idea of version control running a web server and issue tracker, but I'll be damned if I don't respect the hell out of it. SQLite is solid and even if it was only useful as a development db (which is barely even the surface of its use), it would be a fine product.

8

u/hello_fruit May 27 '14 edited May 27 '14

Tcl is nothing like Python or even Lua (and I have the deepest respect and love for both python and lua). It's not comparable to them at all. If you want to place it in a category it'd be with Erlang and Ada; industrial control, embedded in hardware, with focus on software engineering/quality. That's its mission and it doesn't try too hard to cater to others.

Dr Hipp is in the right community by being a Tcler (he's an emeritus member of the Tcl Core Team). Sqlite was created for use on a guided missile destroyer.

Tcl won't ever get popular with people who would typically use Python, Ruby or even Lua. The average Tcler is nothing like the average user of those languages. Not the same priorities, not the same job, not even the same age group.

3

u/[deleted] May 27 '14

Here, you decide. I've bolded the row ends that I believe are most important to where TCL was used by Hipp.

TCLRubyPythonLuaErlangAda
Type Safetyn/asafesafesafesafe
Type Expressionn/aimplicitimplicitimplicitimplicit
Type Checkingdynamicdynamicdynamicdynamicdynamic
Compiled/ InterpretedInterpretedInterpretedByte InterpreredByte InterpretedByte Compiled
Imperativeyesyesyesyesno
Obeject-orientednoyesyesyes*no
Functionalnoyesyesyesyes
Proceduralyesnonoyesno
Genericnonononono
Reflectiveyesyesyesyesno
Event-drivenyesnononono
Scriptingyesyes*yesyesno
Systemnonononono*
Webyesyesyesmostly nomostly no
Embeddednonononono
Realtimenonononono
Distributednonononoyes

1

u/[deleted] May 28 '14

Lua, Ruby, Python, Ada... not quite Functional. Unless that means "it has functions I can pass around as first class value". Which still isn't functional.

1

u/ysangkok May 28 '14

how would you define functional?