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?
RFC: Prog. Language Skill Requirements?
RFC: Prog. Language Skill Requirements?
Every good solution is obvious once you've found it.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:RFC: Prog. Language Skill Requirements?
Very honestly, i think linkz like http://osnews.com/story.php?news_id=1482 already provide that kind of information. I'm not really convinced things like "language skillz requirement" would be appropriate in the QuickLinkz thread as it's supposed to be a linkz thread...
I guess 70% of the readers would just skip your wise advice thinking that "nah, i'm smarter than this. I do not fear such comment ..."
However, i'll try to better promote those "So you wanna start an OS" linkz. Maybe i could also insert a link about "what language" discussion we had a few weeks ago ...
I guess 70% of the readers would just skip your wise advice thinking that "nah, i'm smarter than this. I do not fear such comment ..."
However, i'll try to better promote those "So you wanna start an OS" linkz. Maybe i could also insert a link about "what language" discussion we had a few weeks ago ...
-
- Member
- Posts: 1600
- Joined: Wed Oct 18, 2006 11:59 am
- Location: Vienna/Austria
- Contact:
Re:RFC: Prog. Language Skill Requirements?
alas, the truth thou speakst albeit those to whom it is directed aren't likely to respect it.
I'd rather recommend attending a programming course for those who are interrested in os development, because in such a course, one learns a relatively useable subset of a programming language. the rest to learn is self study and the much referred to try-fail-learn-try-again iteration scheme.
But what some of the cute newcomers seem to miss is the following: not the programming language is the essence of successful programming, but the appropriate building/forming of algorithms that do what one wants the computer to do. to say it in short terms: master the Dark Art Of Algorithmic Thinking, and you are ready to program. The nitty gritty of programming languages themselves is not the difficulty, but fitting them together in the semantic of an algorithm is.
So ... ere one wants to program an os, he/she shall master algorithms and acquire some programming skills - be it c, be it smalltalk, be it cobol -- don't care. programming languages are easier to grasp than human languages, so don't come and whine about difficult-learning-of-c/c++/ada/smalltalk.
for example: I 've learned programming on the paper with desk models and nassi-shneidermann diagrams. No distraction by code-crap. Not that they 've taught me something new - I fiddle with computers since I am twelve - but the POINT of View - distracted from code - has been kinda elucidating (thx schol-r-lea for this nice word).
To conclude my Sermon/rant: Yes, there shall advice be added for those who show intentions but not own adequate skills.
Tack sa mycket - as they say in sweden.
I'd rather recommend attending a programming course for those who are interrested in os development, because in such a course, one learns a relatively useable subset of a programming language. the rest to learn is self study and the much referred to try-fail-learn-try-again iteration scheme.
But what some of the cute newcomers seem to miss is the following: not the programming language is the essence of successful programming, but the appropriate building/forming of algorithms that do what one wants the computer to do. to say it in short terms: master the Dark Art Of Algorithmic Thinking, and you are ready to program. The nitty gritty of programming languages themselves is not the difficulty, but fitting them together in the semantic of an algorithm is.
So ... ere one wants to program an os, he/she shall master algorithms and acquire some programming skills - be it c, be it smalltalk, be it cobol -- don't care. programming languages are easier to grasp than human languages, so don't come and whine about difficult-learning-of-c/c++/ada/smalltalk.
for example: I 've learned programming on the paper with desk models and nassi-shneidermann diagrams. No distraction by code-crap. Not that they 've taught me something new - I fiddle with computers since I am twelve - but the POINT of View - distracted from code - has been kinda elucidating (thx schol-r-lea for this nice word).
To conclude my Sermon/rant: Yes, there shall advice be added for those who show intentions but not own adequate skills.
Tack sa mycket - as they say in sweden.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
BlueillusionOS iso image
Re:RFC: Prog. Language Skill Requirements?
Hehe... I've been churning out spaghetti code for ten years before the enlightenments of structured, modular, and object-oriented programming hit me in rapid succession over the course of one year, but I know what you mean...beyond infinity wrote: for example: I 've learned programming on the paper with desk models and nassi-shneidermann diagrams. No distraction by code-crap. Not that they 've taught me something new - I fiddle with computers since I am twelve - but the POINT of View - distracted from code - has been kinda elucidating (thx schol-r-lea for this nice word).
Oh my god, another Swede...Tack sa mycket - as they say in sweden.
Every good solution is obvious once you've found it.
-
- Member
- Posts: 1600
- Joined: Wed Oct 18, 2006 11:59 am
- Location: Vienna/Austria
- Contact:
Re:RFC: Prog. Language Skill Requirements?
no *lol* not another swede
jag ?r fran ?sterrike *lol* --> I am from Austria. But as an afternoon enlightenment (for dark winters evenings, when it's better to stay beside the chimney and rub the hands whilst outside the storm runs havoc with looooaads of snow) I'm learning a bit of swedish language - not enough to brag around with but enough to tell them up there what the business is. *rofl*
Vi ses
jag ?r fran ?sterrike *lol* --> I am from Austria. But as an afternoon enlightenment (for dark winters evenings, when it's better to stay beside the chimney and rub the hands whilst outside the storm runs havoc with looooaads of snow) I'm learning a bit of swedish language - not enough to brag around with but enough to tell them up there what the business is. *rofl*
Vi ses
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
BlueillusionOS iso image