I hate to admit that I do not know this... well if I do not ask I'll never find out! As a Java programmer, I have developed most of my programs in Windows, but recently I am forced to use Unix as the developing enviroment. And I almost have no experience on Unix at all. I have a book which teaches how to use Unix, but it does not mention anything about Unix system server or simliar things. Can anyone please tell me if I want to use Java on Unix at home, do I have to register a Unix server or buy Unix software somewhere? or is there an alternative way to use Unix at home? Thank you.
You can use Linux. Basically, Linux is just the kernel (I/O, Memeory allocation, etc). Redhat, Debian, Suse are basically shells sitting on top of the kernel to allow users to interact with the system. They all are free. My suggestion is to download one of these softwears and try them out to your liking. Redhat is rather user friendly, however, I don't believe they have a user (home) distro anymore. My favorite is Debian, but it's not easy for beginners. Try Mandrake if you like as well.
I think RedHat 9's still on the market and/or can be downloaded (as iso's). For personal use, http://fedora.redhat.com Fedora is essentially RedHat 9 plus some later improvements. If you do the server install, you'll get copies of Apache, DNS/Bind and the usual Internet servers installed automatically, as well as both the PostgreSQL and MySQL DBMS's. For Java, you'll need to download and install a JDK from java.sun.com. For Java servers, download and install WebSphere or WebLogic Linux version, if that's what you're working with, or JBoss, JOnAS, or whatever alternative open-source (or not) J2EE server you want to work with. You can save some trouble on JBoss and JOnAS by downloading a version with Tomcat included (they also have Jetty versions, but if you're just starting, Tomcat's got a bigger support base). Windows has the Windows Installer. Under a Linux environment, things vary a bit more. OS and major external systems frequently are available as installable packages. In RedHat, this is the RPM program. I like RPM. Unlike Windows installs, RPM can not only verify that the files haven't been corrupted, it can tell you where they got/will get put. Many packages are simply shipped as ZIP files or tarballs (e.g. Eclipse). Although J2EE packages don't need it (Java's write-once, run-anywhere), some binary packages require local compiling, which usually consists of running a configure, make, and make install command sequence. A few systems such as Emacs and Perl have their own local package managers for their sub-components and can even keep themselves updated via the Internet. The differences in the filesystem are perhaps the most visible jolt from Windows. There are a few philosophical shifts as well. In Unix, it's considered better to glue several small utilities together than custom-create large do-all ones, so the shell programming language has some eally strange features. Most Unix programs are expected to run from the command line, since, like in Windows 3.1, the GUI system is not actually part of the OS, and need not be used unless you want it. Many Unix GUI apps are actually GUI wrappers around the command-line utilities. The Windows registry is replaced by the /etc directory and the /opt directory is sometimes used like Program Files. Since Unix is a multi-user system, each user usually has a home directory under /home. More than that and I'd be writing a book, but I hope it's a start! [ December 11, 2003: Message edited by: Tim Holloway ]
Sources may include data from the Fakebook Research Foundation with support from Gargle University