I use NetBeans everyday at work because it's pretty well integrated with Glassfish, and while I don't mind using it I definitely do not recommend it. It is bloated and slow, the GUI makes some braindead assumptions, and the latest version seems to be riddled with several very interesting bugs. If you're doing C/C++ I would recommend you take a look at Anjuta. If you want more IDE's, there are a couple of threads floating around that list tons of them. Off the top of my head some other ones are Eclipse, KDevelop, and Geany. All of these have pretty good support for several different languages (except Anjuta which I think is strictly C/C++). There are also some language-specific IDEs, but the only one I can think of off the top of my head is MonoDevelop (for Mono).
Also popular with *nix programmers are editors like Emacs and Vi(m). Each has it's own cult following (Google around for "editor wars") and while they're both much lighter-weight than your average IDE you can do a lot with them, at the cost of a pretty significant learning curve.
As far as languages go C is a pretty universal language when it comes to Linux, but there are also a lot of programs written in other languages. I've just picked up Python as a hobby language and while some things still drive me batty I can't help but notice that there are a lot of very accessible libraries for it to do anything you can imagine.
GCC is actually a collection of compilers for a lot of different languages (off the top of my head) including C, C++, Objective-C, Pascal, Fortran, Java, Ada, and Lisp. Most (if not all) of them working by compiling the language down do C, and then using the C compiler to make an executable. Many languages have multiple implementations though. I can list 5-6 C compilers off the top of my head if you're interested. When it comes to Java there is gcj (GCC's Java compiler) and Sun's official implementation. I can also list several assemblers, Pascal compilers, Lisp interpreters, etc. Basically (in my opinion) one of the greatest things about programming in Linux is that most versions come with an enormous number of tools that let you program in just about any language you want.
Here is a website that has benchmarks for a lot of different programming languages if you're interested. Generally though languages that are stuck with bulky runtime requirements (Java, Mono) are going to be slower starting than languages that run "on the bare metal" (C, C++). Interpreted languages (Perl, Python) are generally used when speed doesn't really matter, but for most jobs they're still fast enough and 99% of the time well written code in a "slow language" is going to run faster than poorly written code written in a "fast language".
If you already have experience with C++ then by all means keep using it. I've already mentioned a good C/C++ IDE, and the GCC C++ compiler is called 'g++' . I don't think Ubuntu installs it by default but it will be in the software repository.
Edit: Oops, I would also like to point out that for Java "slow starting" is not the same thing as "poor performance".
This post has been edited by Tom9729: 2 Jun, 2009 - 03:25 PM