I am completely new to Linux and since I sent my computer to the "shop" I figured I'd get a new hard drive and partition it with Linux (Windows XP on the other).
Being completely new I don't know a thing about working with Linux. I am looking for anyone to give me advice choosing a Linux distribution, what I need once I'm installed, and how to get programming with C++ on Linux. Any user friendly desktop schemes and handy programs would also be great.
Basically, I'm asking for anything you think would help a Linux noob.
Doing the same transition as you, I started with a straightforward Ubuntu installation. From within, you can install the code::blocks IDE (integrated development environment) - it has a graphical installation from a program called "ubuntu software center" - you will find it without any help from us I am sure.
It all works out of the box, even a little easier than with Visual studio express, however I warn you that, to my experience, code::blocks is a little less productive than Visual studio due to its 1) inferior autocomplete 2) it gets a bit laggy on files larger than 20k lines. However, it has in general superior syntax highlighting and looks a bit better than Visual studio, when you get used to it.
Awesome, my post disappeared... for a second time.
Basically, my post consisted of recommending Fedora. Ubuntu has development packages but they're often aged (such as Boost). Arch Linux has rolling updates for the latest stable development packages. Fedora is a mixture of ease of use and up-to-date development packages at the cost of non-proprietary software (although this can be fixed with 3rd-party repositories that handle the packages) and TERRIBLE user support.
For development, you can't go wrong with Fedora, especially if you're the kind of person that likes the newest version of something the day it's packaged. Be warned: Gnome 3 is very different to what you are used to when using Windows...well, Linux in general is completely different.
Ubuntu is ok, the libraries are older by a point release or two but in general more stable than what Fedora provides.
It is, however, much much easier to get things to work with Ubuntu then with Fedora. If you are more concerned with your computer being in a workable state, and getting shit done with the computer staying out of your way then use Ubuntu. Fedora can more trouble then it's worth sometimes, even for experienced users.
There is also Linux Mint, which is a derivative of Ubuntu and is designed to be even easier to use than Ubuntu. The interface is also similar to what you may be accustomed with on Windows, and comes with many things that you need out-of-the-box like audio codecs and video drivers. I highly recommend Linux Mint.
I'm actually going to have my local computer store partition my hard drive and install Linux on one half, and XP on the other. It's not so much the install but everything that comes after it.
I use Code::Blocks on XP currently and have had a great experience so far.
Don't worry, I'd never use Eclipse. I tried once and it made me feel bad about coding.
@computerquip
I'll be honest, your post kind of lost me. I'll need to do some research on the connection between Ubuntu and Linux (I'm that new) and come back and read your post again.
@darkestfright
From what I've seen GNOME can produce quite a beautiful interface though. I think it was GNOME anyhow.
Does Linux Mint still provide a Linux experience? I want to run an OS that is true to *nix and not just a Windows spin-off. I'm okay with learning new ways to use my computer and am actually looking forward to this.
Thanks for everyone's help. If anyone else has anything to add/expand on that'd be great!
Gnome 3 is very good, it's just a complete pardigm shift then what you are used to. If you *want* that, by all means, give it a shot.
Essential Reading For Linux Noobs coming from Windows: http://linux.oneandoneis2.org/LNW.htm
Linux Mint is an Ubuntu derviative, which means that underneath it is still Ubuntu and uses mainly the same components but it has some extras and addons to make it a bit more streamlined. The desktop interface is a modified Gnome 2 layout which resembles Windows XP, but it is *not a Windows clone, and it is very easy to restore the default Gnome layout.
I highly recommend Linux mint for first time Linux users.
This is becoming a hard decision. I've researched Linux Mint, Fedora, and Ubuntu and am having difficulty deciding between them.
I like the idea of Linux Mint being easy to use and not too different. But I'm unsure of how flexible it is in comparison to the other two. Fedora, according the their website, promote users building more free open-source software, which is a big reason why I'm getting Linux. Then Ubuntu seems to also have the philosophy of users creating software and:
it comes with thousands of free applications. Ubuntu does everything you need it to. It'll work with your existing PC files, printers, cameras and MP3 players.
That's a pretty good point too.
Just now being able to boil my question down I'm curious out of which of these three Linux derivatives (if that is the proper term) would allow me to program for Linux, give me flexibility, but also not be an overwhelming amount of work to get to programming/using it.
Thanks for everyone's time. If someone can answer that last question I should be good.
I once tried Linux (Unbuntu) as an alternative to Windows for the things that I normally use my PC for and honestly, it didn't set well with me. It felt just plain weird. If you just want to get a compiler and IDE to test your code on another platform, then Unbuntu *should* work with minimal command-line-fu (I love that term.) One small issue (less than 24 hours to fix) that I had with my Unbuntu installation was getting it to work with my home network, but after I got that working, I think there were about a half dozen of commands in the terminal to get codeblocks and GCC installed.
I don't expect to do everything I do in Windows, but I want some basic functionality. A big interest is to test code on a different platform, but I also want Linux to be useful to me.
I don't have a home network (I represent the minority of people who still are on dial-up) so that shouldn't a be a problem.
I'm beginning to lean towards Ubuntu but Linux Mint and Fedora are still in my mind...
I feel your pain with the dial-up situation. That was all that was available in my area up until late 2009.
I believe that you can get a (free) Unbuntu installation disc mailed directly to your residence to avoid having to download it (though it may be weeks before delivery).
* You can also install Unbuntu from windows - that's how I have it set up on my laptop.
I like to keep a dual-boot. Using Windows for day-to-day stuff (and programming too), and Linux for the rare development corner cases that work better on Linux or aren't available on Windows.
I should create a support group for dial-up users. We're a depressed group.
I sent my computer in and am getting a new HD and having them partition it in two; one side for XP and the other for Linux *blank* so I shouldn't need the disc (although thanks for making me aware of it).
@ProgrammingJunkie
I'm doing the same thing although I'm not quite sure what the entire purpose of my endeavor is yet but I want to give Linux a go.
Ubuntu interest: 8/10
Fedora interest: 6/10
Linux Mint interest: 6/10
A little bit off-topic, but I'd really encourage you to petition to your communications provider to run (at least DSL) lines. That's how we (myself and around 25 other households that signed the petition) finally broke free of the dial-up age.
To give you an idea of where I live...there's a Bluegrass festival with hundreds of country folk literally adjacent to my house. I can hear the music from my room and it's shaking the house slightly. So I live far enough out in the country that I'm f*cked.
I have one more year before I head off to University and will have the luxury of high speed. At my job I also have access to high speed so I can download program to my USB if I have to.
EDIT:
Ubuntu interest: 9/10
Fedora interest: 7/10
Linux Mint interest: 5/10
I am not a Linux guru--but I do use a Linux OS on my primary computer and I prefer it over windows 7. But for me dial-up would be a real problem. Linux is different and you do need to do some work now and again and for me that requires access to repositories.
Out of the box most distributions will not work the way you want do to legal reasons. So after you set up you will probably need to add software that requires you to first agree to certain terms before you can do simple things on your computer like watch a Youtube video or see a DVD on your computer.
If all you have is dial-up I would suggest a distribution that prides itself on stability instead of being "cutting-edge". I would recommend Debian. I personally do not like Ubuntu--I believe their popularity is do mostly to the fact that they promote themselves as "easy to use". But as far as I can tell "easy to use" means being Windows like, and as far as I am concerned Windows does a better job at being Windows.
Linux is about control--with Linux it is your computer and can do what you like (that often means screwing it up). If you are like me you like having the options to screw your computer up. Windows doesn't give you that control--they provide a stable product that works--there is a trade off; do you want stability or control? After you play with Linux for a year you will know which one you prefer and what type of person you are.
I have noticed that people who prefer Windows recommend Ubuntu--for me that would be a warning sign to stay away from Ubuntu.
If you have the space I would create multiple partitions and try more than one distribution--Fedora, mint, ubuntu, and debian are all free so why not? Linux distribution really do not require that much space.
Linux is different and you do need to do some work now and again and for me that requires access to repositories.
That's just really a pain for me, and it makes me hate linux. Even though I got broadband connection 24/7 I still prefer reinstalling software offline. Why? Because I sometimes experiment and mess up my computer and also I hate download wait times.
[edit]
@MottMan
Also try Slitaz Linux and Puppy Linux ^^
Don't pay someone to do it for you, do it yourself (back the HDD up first). You'll learn from the experience. I did. Install Windows before Linux, since Windows will wipe the disk (Windows 7 doesn't seem to do this, but previous versions do apparently). Just think carefully about everything before you do it. The only real chnace to screw things up you have is when you partition the hard drive. Just be careful. Windows might complain when you boot it after installing Windows; if it does, just let it run CHKDSK and then all will be fine. If not, you have your back ups.
I have access to high speed at work so I plan on throwing some applications/installation files on my USB and bringing them home. If that's not possible for some I guess I'll just have to be patient. You've given me a lot to think about, thanks.
@blackcoder41
Thanks. I'll look into them.
@chrisname
I am in no way doubting that I'd learn a lot, but I only have dial-up internet access at home and I want the guarantee (or at least a better chance) that everything will be working properly. If I change my mind I'll be sure to take your advice.
I'm a bit confused now considering I was set on getting Ubuntu. I have till Monday to make my choice so I'll look into the other distributions.
Thanks guys. This is really helping me.
EDIT:
Ubuntu, Linux Mint, Debian, and Puppy Linux are now all stuck in my head. Not an easy decision...
Scientific Linux (SL) is a Linux distribution produced by Fermi National Accelerator Laboratory and the European Organization for Nuclear Research (CERN). It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be "as close to the commercial enterprise distribution as we can get it."
http://www.scientificlinux.org/ (at time of writing there is server error)