Everything is an app to the layer below it.
- A web app is an app to the web browser
- The web browser is an app to the operating system
- The operating system is an app to the bootloader
- The bootloader is an app to the boot ROM
- The boot ROM is an app to the CPU boot sequence
Tip: When you’re learning a new programming language, look up prominent open source projects and copy their style.
Aside from the core language, there are many conventions & little details to learn: naming (variables, classes, files), file structuring, literal code formatting
These are things few blogs talk about because it’s highly opinionated. But nevertheless when you’re learning, you’ll benefit from at least some reference for these.
Find a few “professional” open source projects and browse to see what various interpretations of “professional style” are. Then pick one you like most.
Be careful of picking projects that are too old — they might use older style for consistency with legacy, even though they might ideally wish to modernize it.
And ideally pick projects whose contributors are experienced engineers who work on it full-time. Since they “live in” the codebase, they’re less likely to tolerate sloppiness – or are at least more invested in cleaning it up.
The last idea is influenced by @awesomekling, who talks about similar things in his classic “My top advice for programmers looking to improve” car-talk video =]