7 ms·
Lets not create a false equivalency between Go and C. Go is a good language, one of its core pieces is to increase memory safety through the use of a garbage c
by bluejekyll 9y ago
Lets not create a false equivalency between Go and C.
Go is a good language, one of its core pieces is to increase memory safety through the use of a garbage collector.
Much of what the SQLite post states may not be safe operations in Go.
Rust would be a safer alternative that meets many of the SQLite requirements.
The thing is, SQLite is bulletproof at this point, so do we need to replace it?
- chungy 9y ago> The thing is, SQLite is bulletproof at this point, so do we need to replace it? No, probably not, it is fine as it is. Still, even SQLite started out as a "for fun" project. Who knows what might happen in the future to displace it? ;)
- tangue 9y agoSqllite didn’t start for fun it was built for navy destroyers and submarines. (1) that’s probably why parent called it bulletproof. (1) https://en.wikipedia.org/wiki/SQLite#History https://en.wikipedia.org/wiki/SQLite#History
- mzzter 9y agoIt could also be a reference to the comprehensive SQLite test suite (1) or the fact that it has been in production systems for many years, though it’s initial purpose does make bulletproof quite apt. (1) https://sqlite.org/testing.html https://sqlite.org/testing.html
- bluejekyll 9y agoI admit that I was merely being metaphorical and referencing the comprehensive test suite, wide distribution and usage. I wish I had intended that pun embedded in the comment, but from now on ;)
- weberc2 9y ago> Sqllite didn’t start for fun it was built for navy destroyers and submarines. Those aren't mutually exclusive. I for one find destroyers to be an absolute riot.
- h1d 9y agoWhen Wikipedia simply says otherwise I wonder where you got the "for fun" reference from. I tend to almost blindly trust comments on HN but this one was quite off.
- lV2ZUWnJUAGc 9y agoYou baited me into making an account. See https://changelog.com/podcast/201#transcript-100 https://changelog.com/podcast/201#transcript-100 >I had couple months off and I thought, "Hey, I'm just gonna go and cobble together a really quick and simple database engine that just does a few very simple SQL commands, insert the lead, update and select." No joints, wasn't trying to be efficient... All I needed to do was pull stuff off of a disk in that memory. >And I put it out there and... I've been doing open source for years before this, putting things on my website, and people would find my thing -- or well, you know, I'd put things on my website and it'd get like five downloads per year, or something like that. I'd figured this would be just another one of those things, but for whatever reason it really resonated with people.
- kennydude 9y agoOpenSSL was thought to be "bulletproof" and the "go to" option. And look where we are now
- nathell 9y agoOpenSSL has always been nowhere near the level of robustness and bulletproofness that SQLite is at. Just look at how it's tested: https://www.sqlite.org/testing.html https://www.sqlite.org/testing.html
- lghh 9y agoBut it was bulletproof until proven otherwise.
- d33 9y agoI suspect there's a huge code quality difference between OpenSSL and SQLite. Also, keep in mind that SQLite was much easier to fuzz - it's basically one of the libraries that AFL has specific features for (dictionary-based coverage-guided fuzzing).
- Sir_Cmpwn 9y agoI don't think this comparison is fair. SQLite is widely regarded as one of the best codebases in the world and it has 100% test coverage.
- sidlls 9y ago
- burner5692 9y ago> The thing is, SQLite is bulletproof at this point, so do we need to replace it? Nothing written in C is bulletproof.
- saagarjha 9y agoYou're free to write bugs in any language. C just makes them easier to write or more critical.