Beginner Mistakes: Difference between revisions

[unchecked revision][unchecked revision]
Content deleted Content added
m typo
m →‎Avoid Ignorance: Fix singular plurals
Line 31:
 
=== Avoid Ignorance ===
Beginners often ask "What is the ''easiest'' way to do X?" rather than "What is the best, proper, correct way to do X?". This is dangerous as the newcomer doesn't invest time into understanding the superior way to implement something, but instead pickpicks a conceptually simpler method copied from a tutorial. Indeed, the simpler route is often ''too simple'' and endends up causing more problems in the long run, because the beginner is ignorant of the superior alternative and doesn't know when it is better to switch. What's so bad about taking the hard route instead?
 
Common examples include being too lazy to use a [[GCC Cross-Compiler|Cross-Compiler]], developing in [[Real Mode]] instead of [[Protected Mode]] or [[Long Mode]], relying on [[BIOS]] calls rather than writing real hardware drivers, using flat binaries instead of [[ELF]], and so on. Experienced developers use the superior alternatives for a reason, which you might not understand yet. Experienced developers are able to use the inferior method in some cases, but that's because they can carefully analyse whether it is appropriate, and they know when ''not'' to use it. As a beginner or immediate developer you will likely not know these methods and technologies well enough to reason whether the inferior solution is good enough for you. Remember that if you oppose a method, you should know it well enough to know everything that is wrong (and right) with it. Either way, laziness and ignorance only leads to trouble down the road. When in doubt, pick what appears to be the conservative choice rather than the simpler.