Page 1 of 1

Best Lang

Posted: Wed Nov 14, 2007 8:20 pm
by crazygray
I like this poll thing.

Posted: Wed Nov 14, 2007 11:23 pm
by SpooK
[sarcasm]
VB.Net!!!
[/sarcasm]

Posted: Wed Nov 14, 2007 11:29 pm
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.

Posted: Thu Nov 15, 2007 1:37 am
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".

Posted: Thu Nov 15, 2007 3:22 am
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

Posted: Thu Nov 15, 2007 3:27 am
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?

Posted: Thu Nov 15, 2007 3:30 am
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...

Posted: Thu Nov 15, 2007 3:36 am
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.)

Posted: Thu Nov 15, 2007 6:28 am
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.

Posted: Thu Nov 15, 2007 6:31 am
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.

Posted: Thu Nov 15, 2007 6:48 am
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 ;)