ATM I use C (gcc) and assembly (NASM). As many people have said, you can't do without assembly, and I use C because it's very easy to look at and know exactly what's happening. It's easy to imagine what's actually happening in assembly (or byte code I guess, but assembly is easier to imagine
) when looking at the code. When you have things like C++, or BASIC, you have to account for things that are done automagically for you, that could have errors. I think it makes it easier to debug. Speaking of debugging, I use GDB/DDD also Bochs debugger when i'm working with assembly errors or very low-level stuff. No IDE. Kwrite+Bash for me
That said, I do plan (MUCH later) to support languages like C++, possibly BASIC (because it's not too complicated), and PERL. They are very useful, and widely used.
Come to think of it, the biggest thing that influenced my decision for using C was that I had read that you had to code all the setup for things like resource management, like constructors/destructors (for C++ atleast), so I just chose C since it is literally converted to assembly, compiled, and only does what you see in the source.