Best OS to learn Unix/C++?

Hi guys, I've been doing C++ programming on and off for 7 years, with some C and Java mixed in over the last 4 in college. Now I'm out and looking for work and a lot of jobs I've been looking at recommend a Unix background. I've only ever worked on Windows machines, so I don't have any Unix experience. I want to experiment a bit with using C++ on a Unix OS so I was considering installing a copy of FreeBSD, Solaris 10, or Ubuntu Linux on my second hard drive. My questions for you all are 1) Which Unix OS do you recommend for my experimentation (could be different than the ones I listed), and 2) Can I run Windows and Unix on two different hard drives and pick which to boot from, or will I need to run Unix in a VM while booting into Win7? Thanks for the help!
For the purposes of OS installations, your PC doesn't care about physical hard-drives - only hard-drive partitions. You can put as many operating systems on a single physical hard-drive as you can fit into partitions, so long as your bootloader is happy to sort them all out.

You say Unix; do you really mean Unix, or do you just mean some kind of *nix type OS? If you just mean some kind of *nix, you really can't go far wrong with Ubuntu as your starter, to ease you into things.

Grab installation CD/DVD/USB, boot from it, and let the installer sort you out with extra partitions and a multi-boot menu.
Last edited on
Thanks for the quick reply. I do know about partitions, I only mentioned that because my 2nd hard drive is already formatted and ready to be partitioned while my Windows hard drive is nearly full. I was mainly concerned with the boot or VM part of it, though you answered that by saying they can both boot on the same system.

As for the other part, I don't think being actual Unix is too important. I'm mainly looking for experience programming in a Unix environment, which I assume Ubuntu Linux would suffice in giving me that experience. Correct me if I'm wrong, but it sounds like I'll be installing Ubuntu sometime this weekend.

Thanks again for the help!
PS:The best is the one that makes YOU more productive and that YOU like using. So only you can decide what is best for you.
Most people who use *nix for work will end up connecting to the machine through a remote terminal. You can emulate this on your own computer by setting up a headless vm that doesn't load X11, and using putty to ssh to it. It is more realistic to what you would probably be doing, and you will still be in an environment you're comfortable with - just with a *nix window. Because it's headless, it uses almost no cpu unless you're actually doing something.
Most people who use *nix for work will end up connecting to the machine through a remote terminal.


Is that really true? I think that might be true in some sectors (that I've never worked in), but I've never seen anyone do that other than for administration of a remote machine. At the very least, in the sectors I've worked in, everyone working on/with/for *nix has always had a personal *nix machine on their desk.
Last edited on
Well in truth, I don't know. I can only speak of a few academic environments, and the research consultancy I do some work with. However, the situation is the same for both.

You have on your desk whatever you ask for - as long as standard user IT is willing to support it. This may be *nix if that's what you're comfortable with, but IT (in my experience) aren't happy to support anything that isn't Windows. The only exception I have found to this is maths departments in universities.

There will be a *nix cluster available for development with all of the necessary software/libraries/compilers available.

I suppose there is nothing stopping you from working from your local machine, but everyone I know logs into the central system remotely. I even know someone who refuses to be without graphics, so instead tunnels an X11 connection to the cluster and uses xemacs.
DSquire:

Download vmplayer as its free, find a ubuntu/*nix VM image which you will get easily from internet. start the vmplayer with the image and you will have a working ubuntu desktop. Of if you can find a VM workstation software, you can install most of the linux/unix flavours in that with your preferences. You just need the installation media. The media you can get fedora/ubuntu/opensolaris.. all are free.


Solaris/hpux boxes are so expensive that if eveyone will have their own, the company will close. :)
Kev is correct, we have some server's to which everyone connects and do the development.
You might find Virtualbox a better way to go for a virtual machine; it's available completely free under the GPL and having tried both I prefer it to VMware's offerings. Worth a go.
Last edited on
the all Distribution has the same part ,yes it is the kernel ,so all the same
Dude
dont waste time

Use Ubuntu 10.04 (LTS)

and your life will be happening.. you said you are programming from last 7 years.... hmmm wihtout *nix .... its a kind of useless thing...

Switch to Ubuntu.. Forget Windows.

Turn on your Ubuntu System and Press Ctrl+F2 enjoy... the UNIX environment ..!!

*NIX ROCKS.
Last edited on
I dont know, programming in nix through a terminal sounds like programming in notepad. I like my syntax highlighting. hehe have fun though.
through a terminal sounds like programming in notepad.


I do not want to start an editor war, but let me just assure you, that you could not be more mistaken. There are no editors that I'm aware of that have even 10% the functionality of the two main unix terminal editors.
now you caught my interest. i really thought the editor was just a plain text editor. I stand corrected.
Last edited on
The two main ones are based on either vi or emacs.
Yeah, you've probably used pico or nano.

A similar alternative is jpico, which has a similar interface with syntax highlighting and line/character counting.

Not starting an editor war, but as an example emacs has been described as "almost a complete operating system". (a little exaggeration but you get the point none the less)

What I want to know is why people care enough to get into text editor flame wars.
it was not my intention to start a war. I really thought command line = command line. basically i thought most of the editors were in a linux gui environment (pick one) and not the command line. i thought the command line was just basic text commands.
I am pretty sure you can install Ubuntu without having to partition your drive. As for a non graphical environment, I can confirm this as that is all we use at work.
I am pretty sure you can install Ubuntu without having to partition your drive.


Presumably you meant without having more than one partition, in which case yes, if you only want one operating system on there. It's common to have a swap partition as well, but I seem to recall it's possible to do without it.

Of course, the installation program will handle all this for you if you don't want to get involved, and will happily partition the disk appropriately.
Last edited on
Topic archived. No new replies allowed.