This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Greetings and salutations, and a happy new year to all!
So I have become fed up with my windows 4g laptop and I'm ready to buy my next laptop. My next laptop will have the goodies - 16g, perhaps 32g of memory, a huge SSD drive and an expensive Intel chip.
I am becoming increasingly worn out by and disenchanted with the Windows OS. I'm thinking that its time for me to dig in and learn the linux OS. I would like to get to the point where I can get around the system and do simple and not so simple tasks and be as productive as I am in the Windows environment. My simple question to you fine techies out there is this: What would you recommend as a good linux OS? Would you recommend Ubuntu, Red Hat, Fidora (are these two the same?), CentOS?
What would your recommendations be given a brand new machine configured with the good hardware? Oh and by the way, I only have about, oh say four months of experience of application development on a MAC machine. I'd thought I'd throw that into the mix.
Your choice in "laptop" hardware massively overshadows some of my production servers! I can be very happy with a laptop with 2GB Ram and a dual-core CPU. Although Eclipse being the pig it is, 3GB makes me even happier. Beyond that, it's gravy.
These are indeed fragile times for Windows. Windows 8 is not making many friends, and when it comes to look-and-feel, Linux is actually more like what Windows users are accustomed to than Windows 8 is.
Although there are probably dozens of Linux distros, most of them fall into one of a small number of families, the most popular of which are RedHat-like and Debian-like. Ubuntu is a Debian offshoot and has been considered by many to be the most desktop-friendly of the various Linux distros, although recently they gained a lot of ill will when they overhauled their standard desktop. Fedora is the user-oriented offshoot of the Red Hat family. It's where new Red Hat features get their initial tryouts. Red Hat is more datacenter-oriented on the whole, though. CentOS is simply Red Hat Enterprise Linux without the paid support.
Which distro you use basically comes down to 2 things. Try them out (most have a "live" CD option these days so you can boot up without installing to hard disk). And check around your local Linux community to see what's popular. That's worth doing, since it means that you'll have someone local to help you!
An IDE is no substitute for an Intelligent Developer.
Start with Ubuntu, it's easy to install which will give you an immediate environment to get in and "root" around.
As far as learning Gnu/Linux, you need to know how to get around, install things, and read man pages.
Getting around includes things like command line file system navigation (ls, cd -, cd ~, grep, etc.)
Installing things is as easy as "apt-get install" and there's also a nice tool called "aptitude" for searching and downloading things
Reading man pages is as simple as typing "man <thing>" you can even read "man pages" on the command to read man pages
If you're not sure what to read man pages on, just type "ls usr/bin" and start reading man pages on things that look interesting
Since the output of that might be too big to fit in the prompt there's an easy solution that you'll use a lot...pipe it.
"ls /usr/bin | less" will pipe the results of the ls into less which lets you scroll through the text. Read the man pages for more details.
In windows if you ever used the "type" keyword from command line, you'll be using "cat" And you can also pipe that into less or you can just call less on the file.
another thing I tend to do a lot is pipe results into grep. Like, "ls ~/Documents | grep java" prints all the files in my documents folder that contain the word java
of course multiple pipes are possible "cat war_and_peace.txt | grep peace | less" pipes every line of my text file that contains the word peace into less
Once you're familiar doing those basic things you can continue to accrete your command line wizadry.
Lastly, if you haven't already done so, find all the linux jokes on xkcd...start with this one http://xkcd.com/456/
When all you have is a hammer, everything looks like a thumb.
If you want to learn Linux, why not install a Linux virtual machine using VirtualBox (or VMWare or some other VM software)? This way you can play with Linux to see if it meets your needs. I thought at one point that it would meet mine until I realized that none of the apps I used constantly had Linux equivalents (yeah, people will say that GIMP is a Photoshop alternative, but the user interface l;eaves much to be desired, and this is only one example - don't get me started on video editing/ripping or gaming or ... Heck, the prior version of Ubuntu didn't even support my sound card! And I've had issues with wireless networks on every other version of Ubuntu. And the list goes on. So like I say, look before you leap. I find that having an Ubuntu VM is sufficient for my purposes, and the VM is not sluggish at all, which is more than I can say for my Windows Server 2008 R2 VM!).