Bad Practices
|
|
Many of the articles on this site (and the Internet in general) were written many years ago, and have not been properly updated to keep up with the state of the computers. Worsened by the cross-pollination of the articles, a significant number of them now contain outdated practices and lack nuance. As a result, these articles under-inform beginners and leads to the early deaths and unnecessary rewrites of many new projects.
Some common bad practices include using Multiboot 1 and VGA Text Mode, targeting i686 instead of going straight to x86-64, neglecting the importance of paging and Higher Half Kernel on modern hardware, using legacy interfaces (e.g. BIOS) and peripherals (e.g. PIT) that are absent on modern hardware, hard-coding devices at their locations in an emulator instead of properly discovering them, and so on.
While all of that might be okay when targeting retro hardware (due to limitations in device discovery) or for a quick "hello world" tutorial, it should not be used as a base for modern designs, generating endless "how do I boot my OS on my PC now" questions and problems.
