Best Lang

Programming, for all ages and all languages.
Post Reply

What is the best OS development language?

Poll ended at Tue Feb 12, 2008 8:20 pm

C/c++
15
54%
Assembly
6
21%
D
2
7%
Other
5
18%
 
Total votes: 28

User avatar
crazygray
Member
Member
Posts: 73
Joined: Sat Nov 03, 2007 10:17 am
Location: Toky,Japan

Best Lang

Post by crazygray »

I like this poll thing.
Imagine if a creature came from a 4 dimensional world, would he think you to be flat?
SpooK
Member
Member
Posts: 260
Joined: Sun Jun 18, 2006 7:21 pm

Post by SpooK »

[sarcasm]
VB.Net!!!
[/sarcasm]
User avatar
Zacariaz
Member
Member
Posts: 1069
Joined: Tue May 22, 2007 2:36 pm
Contact:

Post by Zacariaz »

its one of those questions with no answer. The only way to generelize it to say: "what can the various languages NOT do?" and therefore the answer is of course assembly. There is nothing you cant do in assembly that you can do in another language.
This was supposed to be a cool signature...
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

I think there is a definite answer.

With a mainstream language come well-tested mainstream tools, lots of reference material without the need to translate between languages, and lots of people capable of helping you. An exotic language, even while it may provide gimmics that make it attractive for a project, always adds another problem to work around.

And while Assembler does give you the tightest control over what you do, it is a much lower-level language than the rest on the list. We use abstractions in the OS itself - file functions instead of ATA commands, for example - and the same way of abstracting things does help in a programming language, too.

Claims for ASM code being "more efficient" than C may hold true for the really exceptional ASM coder when he's taking great care and the machine is one he's familiar with, but with the growing complexity of CPU architectures it gets harder and harder to beat a good compiler's code generator, and it takes lots of effort that's better invested in good OS design instead of code micro-optimizations, IMHO.

My vote goes to C/C++ (with the necessary Assembler parts strewn in). That doesn't mean an ASM or D OS project can't be fun, educational, successful, or all three of the above - just that you should have very good reasons to stray from "the default".
Every good solution is obvious once you've found it.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

While I assert Solar's statement regarding the kernel, once you have some environment to work in, suddenly a whole range of languages will do for writing the rest of the operating system, just use what's best for you (which, for most people indeed means C/C++, but not for all).

In the end, YOU are the one who writes the code. Why not make your own life easier?
[sarcasm]
VB.Net!!!
[/sarcasm]
[ barebones in basic ] :D
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

Combuster wrote:In the end, YOU are the one who writes the code.
Yes, in the beginning... but how far can you go alone? And what are your chances to get help if your OS is written in INTERCAL?
Every good solution is obvious once you've found it.
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Post by JackScott »

If there was an OS written in Intercal, you'd probably have a huge following, based purely on novelty.

However, quality of submissions may be lacking...
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

Point being, you might be real excited about D, X, or ADCBDE - but your peers might not.

Doesn't keep you from using your language of choice, but you should be aware that your decision might come back to haunt you. (Not that C/C++ is a 100% safe bet, either.)
Every good solution is obvious once you've found it.
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Post by Dex »

The best language is the one you know the best and can do the job.
But if you want others to help and you want a 100% ASM OS, you will find it very hard to get coders.
But than again i have notest a big shift in the once C domain of linux, once you go down the high level language road, you will find that coder will move on to higher and higher level languages.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

Which is not a bad thing per se. As with everything, chosing the right level is the thing. I wouldn't write a bootloader in Java, I wouldn't write a web browser in ASM.
Every good solution is obvious once you've found it.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Post by AndrewAPrice »

Solar wrote:I wouldn't write a bootloader in Java
I think someone's trying that in C, it's just a matter of time before someone tries one in Java.

EDIT: http://www.cs.uml.edu/~fredm/courses/91 ... ader.shtml ;)
My OS is Perception.
Post Reply