Starting in on some Java programming classes in university this fall. Was wondering if there was some linux software I should get or any free windows programs as well.
Comp Sci is my minor working on finishing a math degree but I figure if I'm taking some computer classes might as well splash in some programming classes too since I hate art and English classes as electives.
I'm familiar with most linux distros. I like using centos, suse, and although ubuntu is horrible now 12.04 is still ok. I do have a dedicated computer and laptop for school. I'm also pretty versed in VMs, xenserver, and proxmox. I also eat, sleep, breath bash coding. So i figure java might be a good starting class for computer programming.
I don't know what you are actually searching for. Here some ideas: Eclipse (Java IDE), GnuPlot, Octave/Maxima, ROOT, Inkscape, Gimp, TeXMaker, Pidgin (for communication) and a Browser (obviously for porn).
Not sure exactly what kind of tools you are referring to. I assume coding related tools?
If you do not already know Java, I would actually just start out using a plain text editor like Notepad++ for two or three weeks until you get the hang of coding in Java. Starting out using an IDE will prevent you from really “learning” Java. And you will need something like Notepad++ anyway to look at configuration files and log files.
After you are comfortable with Java, download an IDE, I prefer NetBeans, but Eclipse is good as well. Both NetBeans and Eclipse have integrated debuggers, and they are very good. NetBeans also has built in performance analysis tools, and Eclipse has some good plugins you can install. NetBeans 7.3 and higher will also automatically keep revisions of your code as you change it. So you can diff and revert to older versions of your code if you need to. Though, you will probably want to get a source code management tool like Subversion or Git, so you can play around with source controlling your code.
Depending on how in depth your class is, you may need to download a Java App server, like Tomcat or Glassfish; or a database like MySQL, PostgreSQL, or MongoDB.
but these are fully fledged Software development environments, you'll be spending considerable amount of time learning the all the quirks of these colossi. Pick one of these if you plan to start a project that requires fancy version tracking, debugging etc.
If you just want to learn how to code java, go for a simple syntax highlighting editor like nano or vim. There's also emacs. You can compile as well as run your java applications from the terminal. However it's kinda hard make a pretty gui that way.