Linked by Hadrien Grasland on Fri 28th Jan 2011 20:37 UTC
OSNews, Generic OSes It's recently been a year since I started working on my pet OS project, and I often end up looking backwards at what I have done, wondering what made things difficult in the beginning. One of my conclusions is that while there's a lot of documentation on OS development from a technical point of view, more should be written about the project management aspect of it. Namely, how to go from a blurry "I want to code an OS" vision to either a precise vision of what you want to achieve, or the decision to stop following this path before you hit a wall. This article series aims at putting those interested in hobby OS development on the right track, while keeping this aspect of things in mind.
Thread beginning with comment 460172
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Machine language or C
by Neolander on Sat 29th Jan 2011 16:11 UTC in reply to "Machine language or C"
Neolander
Member since:
2010-03-08

Depends. If you want to write portable code, you should avoid Assembly like pest due to its highly machine-specific nature. I also find it much harder to write well-organized, easy-to-debug ASM code, but it might be due to my relative lack of experience with it. If you feel this way too, you should probably be using a higher-level language instead : it's very important to keep your codebase as tidy as possible.

Otherwise, as you say yourself, MenuetOS itself shows that it's possible to get some interesting results with Assembly.

Edited 2011-01-29 16:16 UTC

Reply Parent Score: 1

RE[2]: Machine language or C
by WereCatf on Sat 29th Jan 2011 17:47 in reply to "RE: Machine language or C"
WereCatf Member since:
2006-02-15

I'd strongly advise against assembly: unless you have years and years of experience with it you'll sooner or later simply lose oversight of the whole thing simply due to the sheer amount of text you'll be writing. Not to mention how incredibly tedious it is.

Of course it's a way of learning assembly, yes, but there's plenty of better ways of going about that one. If you plan to also learn kernel programming at the same time then you're faced with the famous chicken and egg problem: you need to learn assembly to do kernel coding, and you need kernel coding to learn assembly..

Of course opinions are opinions, but I'd much rather suggest to set out to learn one thing at a time: either assembly, or kernel programming, not both. If you wish to do kernel programming then choose a language you're more familiar with.

Reply Parent Score: 2

RE[3]: Machine language or C
by fran on Sat 29th Jan 2011 18:53 in reply to "RE[2]: Machine language or C"
fran Member since:
2010-08-06

About keeping track of hardware changes.
The main reason SkyOS became dormant is the rapid development of hardware
http://www.skyos.org/?q=node/647

I was wondering whether a hardware driver in machine language is more easy to add to your kernel and more universal then say a higher level language driver. But maybe then you would have less functionality?

Reply Parent Score: 2

Machine language can be OK
by Kochise on Tue 1st Feb 2011 13:04 in reply to "RE: Machine language or C"
Kochise Member since:
2006-03-03

Some attemps were tried to leverage assembly to a more higher level, such like HLA :

http://webster.cs.ucr.edu/AsmTools/HLA/hla2/0_hla2.html

Give it a try and figure out were MASM have stalled...

Kochise

Reply Parent Score: 2