6 ms·
Long Term Support
- stego-tech 1y ago> The SQLite source code is over 35% comment. This is a gold standard for documenting source code, in my experience. It doesn’t entirely solve the “bus” problem, but reduces the barrier to entry for new maintainers or project resuscitators substantially by making it easy to understand what’s going on and why decisions were made. Admittedly, my own code is also in that 35% range for commenting, so I’m inherently biased towards that threshold specifically. YMMV.
- mattashii 1y agoThe percentage of comments in line counts doesn't measure the quality of the comments, nor the quality of the codebase. It's rather easy to get over 50% by putting a comment above each line of code, containing the output of an LLM that's asked "what does this line do" and supplied with exactly that line of code. It's much harder to make sure the comments make sense and actually add value.
- hansonkd 1y agogot me thinking that it would be interesting to remove all comments that cant be reproduced by llm on code base with comments stripped out. If the llm can produce similar enough comment from scratch, would it be better to just have an IDE that dynamically injects comments when you need as opposed to them being in version control?
- LostJourneyman 1y agoOne of the stated goals is to have long-term support and maintainability. Adding in a dependency like an IDE is already a large step away from that goal, and to include a dependency on a LLM's non-auditable output actively steps away from that. Comments in source code are always going to meet the maintainer's intention and will much more likely cover the use cases that comments are meant to cover - unintuitive cases or decisions, unclear algorithms, general usage to point maintainers in the right direction, and so on. More importantly, comments in the source code require no additional tools or other dependencies and as such are more dependable.
- 0cf8612b2e1e 1y agoWhy would I want comments produced by a roll of the dice rather the human who was in the thick of it? I would instead be willing to consider some kind of QC assessment. Where does AI think the comment does not match the code because something has fallen out of sync.
- hansonkd 1y agoI think people are misreading this. I said > all comments that cant be reproduced by llm Not remove all comments. meaning if your comment is so low quality that an LLM will generate it for you by reading the code, then it doesn't belong in VCS
- joseda-hg 1y agoThe problem is the non deterministic part An LLM can generate many valid reasons for doing X, including the right one, but you can't know which one of those it will give you
- datadrivenangel 1y ago"The SQLite source code is over 35% comment. Not boiler-plate comments, but useful comments that explain the meaning of variables and objects and the intent of methods and procedures. The code is designed to be accessible to new programmers and maintainable over a span of decades. " They try!
- bux93 1y agoIs that by line count or by character count? (So I know whether I should instruct my LLM to either write haikus or verbose/hippopotomonstrosesquipedaliophilic comments.)
- vasco 1y agoAI generated comments are useless unless you fix them up, otherwise the reader can generate AI explanations themselves, you're not adding anything.
- pdpi 1y agoI don't aim for any specific value, but I find that my code is decidedly bimodal — any give file is either close to zero comments or in that 30-50% by lines range. More specifically: I try to structure my code such that the "30-50% comments" code is what enables me to write the zero-comment code.
- stego-tech 1y agoI worked that way at first, but found that I had difficulty parsing my own zero-comment code to myself years after I wrote it. Nowadays I preface every file/snippet I write with a README block to summarize what the intent of the code was, and I redress my pseudocode into comments once the actual code is written out. This naturally gets me close to the 1/3rd mark, I find, without really trying. When that code is shared with others, they typically report back that it’s very easy to read quickly and make adjustments. But again, that’s my entirely subjective experience.
- tmaly 1y agoThis is great for reducing maintenance overhead for code. I have code using SQLITE written in 2008 that is still working without issues.
- Cthulhu_ 1y agoLove it. There should be more longevity in software. I've worked at too many projects that was "just" a rewrite of something else, usually due to legacy issues / dropped support (e.g. no support for Flex on iOS, libraries/frameworks no longer being maintained, etc). I'm a big fan of the Go programming language because of this, but also by extension of "boring technology" (https://mcfunley.com/choose-boring-technology https://mcfunley.com/choose-boring-technology). It's hard to be able to make an impact in this regard in the B2C projects I usually have though.
- bux93 1y agoOriginally written in 2016 [1] so they're already 9/34th of the way there. [1] https://web.archive.org/web/20161021183035/https://www.sqlite.org/lts.html https://web.archive.org/web/20161021183035/https://www.sqlit...
- mlok 1y ago9/34 ≈ 26%
- timpera 1y agoThank you for posting this, now I know about the Recommended Formats Statement from the Library of Congress. Pretty interesting stuff, and unexpectedly detailed! https://www.loc.gov/preservation/resources/rfs/ https://www.loc.gov/preservation/resources/rfs/
- wiz21c 1y ago> Aviation-grade testing → Every machine-code branch instruction is tested in both directions. It sounds really cool. And even if in the end everyone benefit from that, I wonder who requested that (if someone did)... I mean, it's expensive to test up to that level...
- hiAndrewQuinn 1y agoI believe it was requested by some commercial company. What I find much more astonishing is that this all managed to happen for a public domain product.
- pstuart 1y agoThe company in question is Airbus.
- depr 1y agoKeep in mind that though it is often claimed that SQLite is DO-178B certified, they do not claim that themselves, they merely say DO-178B-inspired: https://www.sqlite.org/hirely.html https://www.sqlite.org/hirely.html And while Airbus confirmed they are using SQLite, they did not claim they are using it in safety critical parts, which D. Richard Hipp confirms here: https://news.ycombinator.com/item?id=18039303 https://news.ycombinator.com/item?id=18039303
- breadwinner 1y ago> Nobody is completely immune to trends and fads, but the SQLite developers work hard to avoid being sucked into the latest programming fashion. So good to see this. I have seen so many developers use the latest C# features heavily, to avoid looking weak.
- hangonhn 1y agoWhat do you mean by avoid looking weak? Like engineers in that community look down on not using the latest features?
- general1726 1y agoThere is a FOMO especially around younger developers who wants to use latest, newest and upgrade all frameworks the moment they pop out on Microsoft website. Older developers (like me) have opposite problem and I have been fighting for months to not upgrade .NET4.8 to .NET8 due to compatibility with our current deployment chains etc. In the end I had to admit that using .NET8 for everything is going to work too and is going to give us access to better tools and new tech either through some teething problems.
- riku_iki 1y agoIt could be because this is the easier way to build up resume and be competitive on the market.
- neonsunset 1y ago[dead]
- jayd16 1y agoI think the parent is mostly sour grapes. There is no such community push but like anywhere else, you'll see folks get excited about new toys and then try to force them in to try them. It's not any worse for C# than anything else.
- breadwinner 1y ago
- haunter 1y ago>SQLite can survive a continental catastrophe. But not a global. Unless someone ports it to Collapse OS/Dusk OS, that would be a true LTS plan https://collapseos.org/ https://collapseos.org/ https://duskos.org/ https://duskos.org/
- thasso 1y agoCan recommend this podcast [1] with Richard Hipp, primary author of SQLite, talking about, among other things, about the origins of SQLite and how they tested it for use in aviation. [1]: https://corecursive.com/066-sqlite-with-richard-hipp/ https://corecursive.com/066-sqlite-with-richard-hipp/
- adamgordonbell 1y agoI recall him mentioning ( thought maybe it didn't make the cut ) that he would be supporting sqlite into his 90s. That he was contractually obligated to do so, and that he kept that in mind, probably effects his attitude towards shipping certain things.
- aanthonymax 1y agoIt's cool that the developers have such ambitious plans for years to come. After all, SQLLite is already 25 years old.
- kej 1y ago>You can copy an SQLite database file Completely off topic, but I think it's a fun quirk of English that sometimes the choice of a/an will tell you how a person pronounces a word. You can spot whether someone has an American or British/Australian accent by whether they write "a historian" or "an historian", for example, even if you've never heard them speak.
- arp242 1y agoI've sometimes wondered what their plan for this is wrt. people. Richard Hipp is 64, and I don't think he plans to continue working on SQLite until he's 90. I know two other people work on SQLite, but AFAIK he owns the company(?) That said, I think the future of SQLite is basically guaranteed on account of being open source (as much as anything in this world can be guaranteed anyway). Look at Rust: it's done fine since Mozilla stopped sponsoring it. Go will be fine when/if Google stops sponsoring it. etc.
- TZubiri 1y agohttps://hwaci.com/ https://hwaci.com/ "Hipp, Wyrick & Company, Inc., or "Hwaci" for short, is a small North Carolina company providing knowledge services to clients around the world since 1992. Hwaci is an S-Corporation owned by the husband and wife team of Richard Hipp and Ginger Wyrick." Companies are a standard mechanism to provide continuity past the lifetime of a single person. A corporation, if it truly adheres to the laws and bylaws, has enough formalisms to ensure such an organization and its products continue to be supported past a lifetime.
- hyperbrainer 1y ago> the future of SQLite is basically guaranteed on account of being open source I am not concerned with whether it has a future. But I do fear that the absolute manic focus on code quality, testing and support may take a dive when other programmers take the helm. I am not claiming that there are no developers who are equally careful and/or skilled, but whether the culture of SQLite will persist is, to me, still an open question.
- hnarn 1y agoConsidering the way things are going, I think this is a valid concern for software in general.
- sunrunner 1y ago> I've sometimes wondered what their plan for this is wrt. I'm also curious about this for other projects such as Shakti/k9 [1]. Apologies if not referred to correctly as I'm not familiar with these tools, so consider this a question as much as a comment: A seemingly obscure implementation of a complex tool with a relatively high learning curve and just three maintainers that is supposedly a key component in a number of domains using high-frequency timeseries data (finance, etc.)? What's the cost/complexity ratio in incorporating technology like this into your system? Or is it much less than the impression I get as someone that's jsut a curious passer-by? [1] https://shakti.com/ https://shakti.com/
- declan_roberts 1y ago> Old school → Nobody is completely immune to trends and fads, but the SQLite developers work hard to avoid being sucked into the latest programming fashion. Our aim is to produce timeless code that will be readable, understandable, and maintainable by programmers who have not yet been born. Shots fired at the rust community.
- majewsky 1y agoNot to disagree entirely, but the first stable Rust release is over ten years old. It qualifies as "the latest programming fashion" less and less with each passing day.
- pikuseru 1y agoI wish most software was developed and supported like this
- rsync 1y ago"You can copy an SQLite database file from one system to another ..." ... and further, you can do it in an open, standard fashion over SSH: https://www.sqlite.org/rsync.html https://www.sqlite.org/rsync.html