3 ms·
Web browsers are astoundingly complicated. They generally contain multiple JIT compilers, a database engine, sophisticated rendering code for 2d and 3d graphics
by swift 9y ago
Web browsers are astoundingly complicated. They generally contain multiple JIT compilers, a database engine, sophisticated rendering code for 2d and 3d graphics and fonts, video and audio codecs, support for a variety of network protocols, graphical debuggers and development tools... the list goes on. And they expose all this to arbitrary applications downloaded from the internet while attempting (and mostly succeeding) to maintain your security and privacy and remain backwards compatible with 20+ years of legacy content. At a target frame rate of 60 fps.
Browsers are, when you think about it, pretty damn amazing.
- Arizhel 9y agoTaken as a whole, sure, but all those things you refer to in a browser are components, probably developed by different teams or even reused by entirely separate projects. By that measure, a modern Linux distribution is far more complicated than a web browser, since it includes a kernel, compilers, multiple web browsers, codecs, etc. The Firefox browser, for instance, I believe uses the SQLite database, so you can't claim that the Mozilla devs created that complexity, they just included it. I think a compiler is different because you can't break it apart into separate projects like that. All the parts that go into a compiler are really only useful for that compiler, not as common pieces of "infrastructure" that can be used by many disparate larger projects.