RFC: Prog. Language Skill Requirements?
Posted: Mon Sep 15, 2003 5:04 am
I was wondering. Seeing that the "Quick Links" thread is often referred to, somewhat growing into an "OS FAQ 2b" so to speak...
I feel like adding a word on the topic of required programming language skills. I don't feel justified to add it just like that, though, so I'm posting this thread as a kind of RFC (request for comment).
I see that, over the past few weeks (since I joined this board) several new users appeared that launched themselves at writing a bootloader / kernel / OS as an excercise in the programming language used.
I consider this a very ill-advised move, since kernel space and/or OS level programming puts extra restrictions on your use of the language that are not there in user space, not at all documented in beginner's literature, and hard to grasp unless you have a good understanding of how the language and its library work together.
Personally, if asked, I would discourage learning C/C++/whatever on the example of kernel space / OS level code.
On the one hand, I understand that the idea is a thrilling one. On the other hand, I think that such an effort is very likely to fail, leaving the person frustrated and with a still-not-so-well understanding of the language.
Thus my question: Should the Quick Links thread carry a discouragement, or at least a warning on the programming language skill required to really tackle writing OS code?
This could be extended to other oft underestimated requirements, as in time available, amount of reading to be done, and the overall level of complexety involved.
Opinions?
I feel like adding a word on the topic of required programming language skills. I don't feel justified to add it just like that, though, so I'm posting this thread as a kind of RFC (request for comment).
I see that, over the past few weeks (since I joined this board) several new users appeared that launched themselves at writing a bootloader / kernel / OS as an excercise in the programming language used.
I consider this a very ill-advised move, since kernel space and/or OS level programming puts extra restrictions on your use of the language that are not there in user space, not at all documented in beginner's literature, and hard to grasp unless you have a good understanding of how the language and its library work together.
Personally, if asked, I would discourage learning C/C++/whatever on the example of kernel space / OS level code.
On the one hand, I understand that the idea is a thrilling one. On the other hand, I think that such an effort is very likely to fail, leaving the person frustrated and with a still-not-so-well understanding of the language.
Thus my question: Should the Quick Links thread carry a discouragement, or at least a warning on the programming language skill required to really tackle writing OS code?
This could be extended to other oft underestimated requirements, as in time available, amount of reading to be done, and the overall level of complexety involved.
Opinions?