RFC: Prog. Language Skill Requirements?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

RFC: Prog. Language Skill Requirements?

Post by Solar »

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?
Every good solution is obvious once you've found it.
User avatar
Pype.Clicker
Member
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?

Post by Pype.Clicker »

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 ...
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:RFC: Prog. Language Skill Requirements?

Post by distantvoices »

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.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:RFC: Prog. Language Skill Requirements?

Post by Solar »

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).
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... :-D
Tack sa mycket - as they say in sweden.
Oh my god, another Swede... :-D
Every good solution is obvious once you've found it.
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:RFC: Prog. Language Skill Requirements?

Post by distantvoices »

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
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
Post Reply