User talk:Solar/NewIntro

From OSDev Wiki
Jump to: navigation, search

Regarding "Rewrite the Introduction / Beginner Mistakes / ... part of the Wiki as a generic text, as friendly as can be, that details that OS development is simply the wrong place to learn about a programming language, a processor architecture, or technical documentation."

Back when I started programming, compilers/optimisers just weren't very good and CPUs were seriously limited (especially for hardware that a single person could actually afford), so assembly language was the only real choice for any serious project. Heck - the first assembler I ever used came in a magazine (back when magazines had code listings - it was common then, but now it's unheard of).

So, what happened? Times changed. Most programmers shifted to higher level languages like C and Pascal.

Time didn't stand still though. Optimisers got a lot better, and CPUs got much much faster, and everything got a lot more complicated. Programmers started using even higher level languages and lots of libraries to avoid dealing with this extra complexity. Now most programmers are used to things like garbage collection, run-time bounds checking and lots of scripting/interpreted languages. These are all things that would've been considered suicidal/idiotic back when I was a beginner. Even programming in older languages like C has changed a lot - now it's gluing together libraries written by other people, and most universities don't even bother teaching it (most shifted to Java years ago).

Obviously, now there's a huge difference between "system programming" and "application programming" that didn't exist back then. Over time this difference will increase further. At some point in time no applications programming will be done using any language that is even remotely suitable for system programming. At some point in time, expecting people to learn system programming by writing applications will be absurd - regardless of how much "gluing together libraries with Java" someone does they'll never learn anything that's actually useful for OS development.

Maybe OS development isn't the wrong place to learn a system programming language like C or assembly. Maybe OS development is the *only* place a someone can really learn a system programming language like C or assembly (or a processor architecture, or related technical documentation).

Instead of telling beginners "we won't help you learn system programming until you've already learnt system programming" we should be telling beginners "come here to learn".

-Brendan

Personal tools
Namespaces
Variants
Actions
Navigation
About
Toolbox