what's a good analogy for writing a web browser engine in C++?
maybe, building a wooden boat with rotten wood. wood infested with shipworms. because it was the wood we had lying around at the time.
point being, no matter how elite your CI pipeline is, with elite code reviewers, your C++ code will definitely contain errors and undefined behavior at a rate of roughly 1 per 1000 LOC.
no amount of static analysis will save your millions of lines of C++ code from catching fire and sinking.
@theruran I figure its only a short matter of time until we build -everything- on top of ASM.js
@theruran ok, ok, C it is then...
@requiem please, no.
@theruran don’t worry, I won’t be writing a browser engine anytime soon 😇
@requiem the idea that C is pure and good is highly infectious and lethal
@theruran what fun is there to be had with purity?
@requiem being able to stop maintaining rotting code because it can be certified correct. it gives us humans time to enjoy life.
@theruran I wouldn’t expect such an attachment to determinism from someone whose interests include chaos theory 😉
@requiem well, any complex socio-technical system will not achieve long-lasting stability, true, but its meta-stability can at least be managed.
@requiem computing systems now are a premier example of unmanaged chaos. it's a kind of nihilistic attitude toward complexity.
Digital computers are fairly simple beasts, we just went nuts laying abstraction on top of abstraction on top of (leaky) abstraction...
@requiem it's hard to blame them because the design space is so mindbogglingly huge, and spawned from the petri dish of late capitalism.
@theruran agreed tho maintaining shit code is hell
@theruran Estimating how many bugs that would indicate exists within WebKit...
cloc is counting... 10,000 files. 20,000. 30,000. 36,000 files.
Counting unique files...
C++: 2.7 million
Headers: 1.1 million
C: .5 million
Objective C++: .3 million
Total: 4.6 million
4.6 million / 1 thousand = 4.6 thousand bugs.
Excluding the build-time dynamic code generation they have an affinity for and the custom assembly language they use to interpret rarely-run JS.
@alcinnz and 4,600
bugs errors seems like a gross underestimate 😆
@theruran Eh, probably.
@alcinnz you could count the number of merged pull requests and then multiply by 10 because for every error found there's 10 others not found; for every feature implemented 10 new errors added to the codebase.
A bunch of technomancers in the fediverse. Keep it fairly clean please. This arcology is for all who wash up upon it's digital shore.