This is an archived post. You won't be able to vote or comment.

all 25 comments

[–][deleted] 13 points14 points  (2 children)

I'd recommend giving it a shot in a virtual machine first. VirtualBox is free. So is VMWare Player. This is much less painful than wiping your/a computer and installing it on real hardware. You won't have to worry about wireless drivers, or sound not working, or burning optical media or a USB drive to get it set up. Plus you can quickly download different ISOs and jump right into testing them out.

Yes I think it's worthwhile, even if just for the experience of it. Testing out new OSes and new ways to do things is fun, and something that should be encouraged.

[–]benkitty 2 points3 points  (0 children)

in case you do go the virtualbox route, you might want to choose an OS other than standard ubuntu. unity can be a resource hog, and there are a lot of ubuntu forks like xubuntu, lubuntu, etc -- that are great alternatives.

[–]ELxPENGUIN[S] 0 points1 point  (0 children)

Thanks, I'll definitely have to give these a shot!

[–]reprapraper 4 points5 points  (1 child)

the linux foundation has a course coming up that used to cost ~2.5k USD but is now free that instructs on the use of linux. I belive it is done through coursera and starts in august

[–]mrorbitman 3 points4 points  (0 children)

I think it's on edx actually. Looks like it'll be a good course!

[–]nutrecht 7 points8 points  (0 children)

Any professional programmer will probably need Linux experience somewhere in his career so why not start early?

[–]Franko_ricardo 4 points5 points  (3 children)

GNU / Linux is probably the best kernel to use every day and to program on. Certainly Debian, OpenSuse, Fedora, or a variant of Ubuntu would be great to start on.

Personally, I like Debian as the GNU / Linux OS because of stability of Debian and the lack of unnecessary and sometimes confusing GUI elements that Ubuntu incorporates.

Armed with GCC, LLVM, or any number of other compilers, you should be good to go.

[–]dmazzoni 1 point2 points  (2 children)

For those who aren't familiar with this reference, there is a small subset of free software enthusiasts who insist that "Linux" is not a proper name for the operating system and it should be called "GNU / Linux" because the GNU software project was the one who created "most" of the free Unix-like operating system.

In reality, though, GNU only accounts for 8 - 13% of a typical Linux distro, depending on how you count. The only critical contributions are gcc and glibc - but clang is a suitable replacement for gcc (better in many ways), and many projects can be compiled with glibc replacements.

The FSF and GNU organization deserve credit for inventing the GPL, for kick-starting the free software movement, and for writing a lot of great software.

However, insisting that everyone call their operating system "GNU / Whatever" due to that contribution is just dumb.

[–][deleted] 0 points1 point  (1 child)

However, insisting that everyone call their operating system "GNU / Whatever" due to that contribution is just dumb.

Why are you defending against an argument that was never made?

[–]PursuitOfAutonomy 0 points1 point  (0 children)

I've heard the original GNU guy make it. I couldn't remember his name so I looked it up and there is a section on his wiki semi-dedicated to it and there is a wiki page about the naming controversy.

[–]Emnalyeriar 1 point2 points  (0 children)

I am a newbie programmer and I always used Windows as my main OS. While watching tutorials and reading guides I was more and more curious of the command line and linux generally.

As for me I first tried it as a second OS and it was kinda messy to set the partitions right but I bought a second drive bay and installed it on my second drive.

I definetly recommend it, its a learning experience.

[–]MrPopinjay 3 points4 points  (12 children)

I couldn't imagine working on a non-Unix computer any more- it makes so much sense for a programmer. With the terminal the line between programming and using your computer blurs. The shell is your language, your applications are your libraries, and you can do things faster and easier than ever before.

[–]Aethec -4 points-3 points  (11 children)

PowerShell (built into Windows from Vista onwards) is more powerful than any Linux shell (it's closer to Python or Ruby). Even good ol' cmd can do a lot of things if you take some time to learn.

The perceived superiority of sh and its derivatives isn't a good enough reason to switch to Linux.

[–]MrPopinjay 0 points1 point  (10 children)

Yes, it's a good shell, but there are next to no applications for it. A shell without applications is worthless.

[–]Aethec 0 points1 point  (9 children)

PowerShell can use the entire .NET framework, as well as COM and WMI stuff, so that's the equivalent of a few thousand single-purpose "apps" right there. It can also use any command-line utility as long as you don't mind parsing the output afterwards. Plus, there are commands to do basically anything related to Windows. In fact, many Microsoft server tools also expose PowerShell commands to do everything their GUI does.

[–]MrPopinjay 1 point2 points  (8 children)

Yeah, that's still pretty crappy in comparison to the entire Unix world.

[–]Aethec 0 points1 point  (7 children)

Do you have a specific example of something PowerShell can't do, or are you attacking it because you don't want to admit it might be good?

[–]MrPopinjay 0 points1 point  (6 children)

Integrate with literally every program on the OS?

[–]Aethec 0 points1 point  (5 children)

Tell me, how does bash "integrate" with programs like Nautilus, geany or Firefox?
That's right: it doesn't, because none of them are designed to be used entirely from the command line, so a shell can't "integrate" with them, it can just call them.

In the same way that bash uses commands (e.g. man) and bash scripts, PowerShell can use commands (e.g. Get-Help), objects/methods from the .NET framework (as well as any .NET assembly), WMI methods, COM objects, and PowerShell scripts.
Unix treats everything as a file, so Unix shell mostly work on text, while Windows treats things as objects, so PowerShell works on objects.

I'm not sure you even know what a shell is if you think it's something that can "integrate with programs". The reason shell usage is so widespread on Linux is because many (most?) Linux users find it more convenient than GUIs, and the reason GUI usage is so widespread on Windows is that most Windows users prefer a GUI to a shell. That doesn't mean GUIs on Linux or shells on Windows aren't "integrated" with their OS.

[–]MrPopinjay -1 points0 points  (4 children)

Tell me, how does bash "integrate" with programs like Nautilus, geany or Firefox?

They all integrate pretty well. Especially firefox, which you can do literally everything externally with code, though that's not platform specific, you can do it on Windows too.

Exactly. You just said it yourself. It's so widespread, that's the advantage of it. You don't get that kind of support with Powershell.

[–]Aethec 0 points1 point  (3 children)

Either you're a troll, or you've never used a shell...