If you are coming from the Windows world, you're likely looking for a good Integrated Development Environment (IDE). Linux offers a few. I would likely recommend either Eclipse, or Kdevelop. The right choice is up to you, but depends on what kind of coding you are doing. For myself, I don't like the IDE approach for my work. Simply because most of the code I do at this time is web development, and for that I just need a good editor.
I'm currently favoring Kate. This comes with any Linux distro that has KDE, and it's actually got more going on than what you see at first.
Kate initially looks like a Notepad clone with some tweaks to it's interface. But let me tell you, that's like comparing the neighbors bike to a Ferrari. Yep, they can both do a similar job - in this case display and allow editing of text. But that's where the similarities end. Kate just does SOOOO much more.
First and foremost is colored syntax highlighting. For which language you might ask? Well, for almost all of them of course. It also does auto indenting. Yeah yeah, I know these are not rocket science in todays world. But for web development, thats ALL I need. An autocomplete would be nice to have, but I have found that usually gets in the way, or encourages lazy coding (i.e. - I don't really need to know how to use a function, because I'm prompted for the correct details. But knowing how to use the function properly in the first place is SO much better).
But Kate has more to offer. Writing a shell script? Open the built in console to test your script, while the script is still visible to you. Dealing with XML? Validate your XML from within Kate. Using revision control? Access your CVS repositories directly. Dealing with a windows based file that doesn't have the appropriate end of line character (i.e. chr(13), instead of chr(13) & chr(10))? Yep, you can pick and choose what end of line style to use. Have 10 files open and don't want to remember which ones you need next time? Create a session, and then just open that session later, which will open back to the same state it was last left in.
I don't understand what the kick is with white backgrounds these days. I work at high resolutions, and when my entire screen suddenly turns white, my eyes hurt. (Though I have to admit, that might have something to do with working until 4:00am quite often...) Needless to say, one of the first things I do with Kate is to customize the colors to something easier on my eyes.
I've only scratched the surface here, but if even this little bit intrigues you, give Kate a whirl for a while. She won't disappoint you.