View Full Version : Comp. science II. Why Linux?
daniel_g
09-01-2006, 04:54 AM
So the Fall semester just started, and to my surprise, the first two labs for Computer Science II will be foccused on learning Linux. Argh, I wanted to get to programming right away :mad: .
Anyways, I have never used Linux before, but the proffesor mentioned that she felt more confortable using Linux than Windows for programming purposes, but she like Windows better for teaching.:confused:
So I was just wondering, what advantage is there for Linux over Windows as far as programming is concerned?
I was reading this thread:http://www.codingforums.com/showthread.php?t=92416, but it seems to be foccused on other aspects that I might need to look for if by the end of the semester I end up liking Linux and decide to get it for myself :cool:
_Aerospace_Eng_
09-01-2006, 05:30 AM
Linux is a bit more hands on when it comes to getting things done. Mainly using the Terminal in linux which is similar to command prompt in windows but in linux the terminal is usually the main tool to use to get things done on the system. It uses a series of commands to get things to do what you want.
daniel_g
09-01-2006, 06:34 AM
Mainly using the Terminal in linux which is similar to command prompt in windows but in linux the terminal is usually the main tool to use to get things done on the system
So basically Linux looks more like DOS, but it's capable of delivering/performing most the functions that Windows does?
So far, based on the reading guide we got from class, I would assume handling files on Linux would be easier than in Windows (ie. moving a file from one directory to another, as long as you know the paths and the right commands).
In my quest for knowledge about Linux, I ended up in wikipedia, and found this somewhat interesting:
According to the market research company IDC, 25% of servers and 0.36% of desktop computers ran Linux as of 2002.[17] For web-servers, on the other hand, Linux holds the larger market share, with over 70% of web servers running Linux.
I guess that would be a good reason to learn Linux.
Spookster
09-01-2006, 09:21 AM
That sounds about right. I wonder if they grouped Unix in with those Linux percentages.
Beagle
09-01-2006, 04:26 PM
Generally, they don't group UNIX and Linux in those numbers unless explicitly stated, because they are two different products.
Anyway, Linux is for what we refer to as "power users". In a Linux/Unix/BSD environment, the power at your finger tips is VASTLY greater than in Windows. In an open-source environment, like Linux (as opposed to Mac OSX, though it is BSD based), you have even MORE power.
In the end, if you don't like the way something works in Linux, you can change it directly. You grab the source, change the code, and recompile it. You're done. You've changed your operating system in a way that is IMPOSSIBLE to do with others. With open-source tools, you have the same options. If you don't like the way a certain tool works, get the source, change it, rebuild it, done. You've changed the tool to your liking.
In practice, it's a lot harder than what I just said, and there are lots of relationships between software that you need to become aware of. But in Windows or Mac, you don't have this freedom (although, many tools you can get for Mac OSX are open-source). This is one major reason to use an open-source OS and toolset when going through computer science education. You can be taught to think for yourself, you can observe how things you use work, and you can experiment. Again, completely impossible in closed enviroments.
The other reason Linux and it's predecessors and contemporaries are for power users is that the toolset itself is not just broader in scope, but deeply more powerful. Tools like grep, sed, awk, and many others simply make you more efficient as you learn to use them. Ever sit down to some code and do some repetitive task that doesn't take any brain-power? Sometimes, somethings in Windows will help you automate it. In Linux, it's a given that for any repetitive task you have to do, there's a automated solution you can develop on the spot to do it for you. Perfect example, in one line I can replace all instances of <br> with <br /> for every file on my computer that contains an XHTML doctype.
As a CS major, learning linux practically IS learning programming. The operating system comes bundled with more development software than you can possibly imagine. Perl, C, C++, and Python are very common for modern distributions of linux to come with by default because so many things require them. On top of that compilers and interpreters for PHP, Lisp, ADA, Fortran, COBOL, Prologue, Ruby, and many others are only a few minutes away.
Oh...
Did I mention that it's ALL free?
Did I also mention it's ALL freely modifiable?
Did I also mention that you can contribute your modifications back to the community that develops the software?
There is no doubt that for a CS major, Linux is a priceless tool in your education.
daniel_g
09-01-2006, 04:51 PM
Did I mention that it's ALL free?
Did I also mention it's ALL freely modifiable?
Did I also mention that you can contribute your modifications back to the community that develops the software?
Hehe, I feel like you are just trying to make me switch :)
Don't worry, I might after I learn some of it. I was looking at some of the custom graphic user interfaces for linux, and gotta admit they look wayyyyy better than Windows.
I appreciate all of your comments :thumbsup:
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.