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.

Show thread

no amount of static analysis will save your millions of lines of C++ code from catching fire and sinking.

Show thread

@theruran I figure its only a short matter of time until we build -everything- on top of ASM.js

@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

@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.

@theruran Agreed.

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 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...
Counting lines...

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 😆​

@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. :thounking:

@theruran building a normal boat but if you go down into the hold to get some food and the hold is empty, it sinks
Sign in to participate in the conversation

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.