You ask two questions in your post which might be better as two posts, but I'll try to answer both as best I can.
Regarding MS Office vs LibreOffice, I find LibreOffice good enough for everyday use. LibreOffice has a couple of weak spots:
- If you take a MS Office doc, edit it in LibreOffice, then open it in MS Office and try to work with it, you will often find some of the formatting has changed. If you have to do this often, you will likely give up on LibreOffice.
- If you have used MS Office all day long for months on end and have learned every keyboard shortcut, you will be thrown off by the change. Don't expect to have everything work exactly the same.
If these issues do not apply to you, or you are willing to put in a bit of extra effort to relearn old habits, you will be happy with LibreOffice.
Regarding your question about programming editors, Ubuntu (and Linux in general) have a great set of choices. These editors are available on Ubuntu, OS X and Windows so you won't have to give up on them if you don't like Ubuntu. These are my favorites:
- Sublime Text 2 - A great all around editor. Code is rendered beautifully with a beautiful font. Good, simple project management through the sidebar. It also has this thing on the right hand side that gives an overview of the whole file. For the spatial learner like me this is huge. I often can't remember what the function is called but I know where it is in the file. This is a for-pay program, but there are no limitations when you download it, only an annoy-box that pops up on save occasionally.
- Emacs - A great tool for manipulating text. People joke that it is capable enough to be an operating system, so be prepared for a learning curve. Many commands are multiple key combinations, like Ctrl-x, Ctrl-s to save a file.
- Vim/Gvim - Another great tool for manipulating text. I find it a little less polished than emacs, but for some reason I find myself using it more. It is an example of a Modal editor, which means that in one mode you can edit text like normal, but then you can switch out of it and suddenly almost every key on the keyboard means something else. It is very powerful if you take time to learn it.
There are other tools like Eclipse (it is utterly giant, but it shines with Java code), gedit (installed everywhere), Bluefish (good for html). I personally wouln't put in the time to learn anything unless it is available for all 3 platforms.
Good luck with school!