The question is, what language do you use know. I'm assuming that you are using a Mac because you are on a MAc Forum. Never known anyone to use BASIC for mac.
Well, I've been using Java so far, because the project I'm working on is written in it. When I get around to programming for my own stuff, I'm not sure; this Objective-C sounds pretty nice.
Ideally, there are languages I'd like to use, but they have minimal API support, and often no API at all when it comes to GUI work, which would be nice to have on the Mac...
Ever thought that C is popular because it is actually that good??
Unix... perhaps the best Operating System alive, is a C code. And it remains the best performer when compared to all the Operating systems. One very reason it was chosen to be the heart of the Mac OS X.
A program written in C is only as good as the programmer who wrote the code. If the programmer wrote some dodgy code, then yeah... you can expect an average program that does not work as well as it should.
Yeah, you're right, and I have seen and debugged some of the kernel myself in my painful trying-to-get-ACPI-sleep-working-on-my-linux-laptop days. But you're missing the point here. C is about as high-level as most people would want for writing an operating system, because they need to optimise the **** out of the code, they often need to use assembly language escapes, and they routinely need to deal with extremely low level stuff like dealing with interrupts and reading and writing to device registers.
For operating system coding, C is almost like a little wrapper over assembly language, to make things a bit easier to work with.
You should note that Windows is also written in C, so it's no magic bullet
In my opinion, C & C++ is a very good choice. Yes it might be tough and painful, but I would think that it is well-worth the while getting into it.
Unix (the best OS by far and the heart of Mac OS X) is nothing but a C code. That should show that a good code written in C can be a great thing.
Correct me if I'm wrong, but I've never seen a program in Java or BASIC have that kind of testimonal.
And now you know the reasons why Java or BASIC would not be used to write an operating system. However, I think we can safely assume that most programmers (especially budding novices) are not starting to write an operating system!
And for the general, more application-oriented case, it's very worth looking to alternatives to C and C++. Also, don't get me wrong about C, some of its elegant simplicities make it preferable to the over-engineered bloated behemoth that is C++.