PDA

View Full Version : Unix in the Playground?



Artega
2008-09-01, 04:11 AM
Hello folks its Artega here, one of the manymanymany minor posters on the forums. I figured seeing as we've got a wide range of individuals here, I could toss out a few questions regarding -you guessed it- Unix.

In about a month I'm going to ship off to college up in Northern California for an education in Computer Science. Unfortunately one of the classes I signed up for requires "basic knowledge of UNIX" to which I replied "LOLWUT?". In all seriousness though, I've been a Windows user all my life *waits for the rotten vegetables to pass* and have no prior experience with any other OS of the sort. I read the Wikipedia article on it, and didn't learn much besides its history. I picked up a few "Learning UNIX" books from the library, and felt it was telling me far more information than I needed to know.

So to start off...
What is UNIX?
How is it different from Windows?
What's important to keep in mind when working with UNIX?
What are the basic essential command prompts to know?
What's a Kernel?
What exactly is Bash?

A few more general questions...
Anyone here a Comp Sci major?
Any tips on what to know?
" " what to expect?
Any warnings?
Favorite programming language, if any?
I know Java and some C++, would Python be a good follow-up?

Dave Rapp
2008-09-01, 04:31 AM
What is UNIX?
Universal National Interior Xylophone

How is it different from Windows?
Windows are made of transparent glass and usually open and close.

What's important to keep in mind when working with UNIX?
Xylophones are precision instruments, not a drumset.

What are the basic essential command prompts to know?
Hit the xylophone with the little stick thing, and it makes a noise.

What's a Kernel?
Stuff corn grows from.

What exactly is Bash?
What happens whenever anyone mentions any OS.

Anyone here a Comp Sci major?
Nope, they all died in the great intertube plague of '06

Any tips on what to know?
How to play a xylophone.

" " what to expect?
Launghing.

Any warnings?
Warning: The cake is a lie.

Favorite programming language, if any?
Swahili.

I know Java and some C++, would Python be a good follow-up?
Larger snakes can be dangerous and should only be handled by a trained professional.


Bull**** aside, this (http://forums.xkcd.com/viewforum.php?f=12) is basically the best forum on the intertubes for you to ask about unix.

Kaihaku
2008-09-01, 04:45 AM
A DUNGEONS AND DRAGONS web-comic board isn't a good place to find nerdy computer science majors? Times must really be changing... Fortunately, I guess, I'm behind the times as usual.

What is UNIX?
Unix is a non-graphical operating system that's highly efficient and marvelous. Comparable to DOS.
How is it different from Windows?
It's non-graphical, it doesn't crash very often (actually, if you don't count OSX, I don't think Unix has ever crashed on me), doesn't have any viruses that I know of, and makes efficient use of system resources.
What's important to keep in mind when working with UNIX?
The various prompts and such.
What are the basic essential command prompts to know?
It's extremely user fiendly operating system for its age and being non-graphical. Just type in help to try out more prompts and navigate with the basic ls (look) and cd (change directory). If you've ever ftped to a server through command line it should be at least passingly familiar.
What's a Kernel?
The core of Unix that is loaded into RAM. It's the active operating system.
What exactly is Bash?
Unix uses programs called Shells to increase the core Kernel's capabilities. BASH is the most popular of these extension programs.

Anyone here a Comp Sci major?
I was once, then I graduated. So, I guess I'm a Computer Scientist.
Any tips on what to know?
Beforehand? Just have some programming experience. If your program is good, the professor will get you up to speed on theories.
Dungeons and Dragons late nights in the Computer Science Lab is a must, just get on good terms with the night guard first. ;)
Postel's Law of Network Robustness: Be conservative in what you send; be liberal in what you accept from others.
" " what to expect?
Don't focus on any one programming language or get frustrated when they throw a new one at you. Getting comfortable with a popular programming languages is for someone getting an Associate's degree. In a Bachelor's program the goal isn't to teach you an array of useful programming languages, it's to teach you how to THINK like a Computer Scientist. By the time you're done, you should be able to pick up any language easily.
If your program is anything like mine, you'll be doing a bit of everything from electronics to creating your own operating system to networking. Most of its fun, enjoy it.
Any warnings?
Work with your classmates and learn from them but NEVER copy their work without understanding how to do it yourself. I saw a lot of my peers do this to themselves and it screwed them majorly later. It's shooting yourself in the foot...or maybe the face.
Computer Science builds on itself, if you missed or forgot something from an older lesson or even class, go to your professor or another student and get some help.
The hardest class you'll probably have to take is Assembly Languages. Budget your class load accordingly.
Otherwise... Nope, not really. Brush up on your math. Oh, right, when they tell you that you're one class away from a math minor, say no. Multivariate Calculus is not worth it. Unless you actually like math...then weirdo.
Favorite programming language, if any?
Pascal is my favorite nostalgically but Python.
I know Java and some C++, would Python be a good follow-up?
Python is a great follow-up, it's a lot more intuitive than Java or C++.

Last_resort_33
2008-09-01, 07:10 AM
Favorite programming language, if any?
Pascal is my favorite nostalgically but Python.
I know Java and some C++, would Python be a good follow-up?
Python is a great follow-up, it's a lot more intuitive than Java or C++.

http://imgs.xkcd.com/comics/python.png (http://xkcd.com/353/)

Whoracle
2008-09-01, 09:30 AM
Kaihaku already answered your questions, so I will now give you a few tips to get you started.

Make yourself familiar with the basic bash commands for filehandling.
These would be:
cd /path/where/you/need/to/be - change directoy to the specified paths.
mkdir DIRECTORY_NAME - makes a directory (which means "folder" btw) with the given DIRECTORY_NAME
rmdir DIRECTORY_NAME - remove directory DIRECTORY_NAME
ls DIRECTORY_NAME - list contents of DIRECTORY_NAME. If no name is given, it lists the contents of your current directory.
rm FILENAME - removes file called FILENAME

These commands are enough to get you around in your UNIX' directory structure.

As a precaution I would install one of the bigger, more userfriendly Linux distributions out there in addition to your windows and play around a little bit with it.
I would recommend either Debian (http://www.debian.org/), openSUSE (http://www.opensuse.org) or Ubuntu (http://www.ubuntu.com) for starters.

Wraithy
2008-09-01, 10:29 AM
Oh thank goodness, for a moment I though you were spelling eunuchs with koolz letrz... and no, I do not have anything to contribute :smallyuk:

Lord Tataraus
2008-09-01, 01:25 PM
As a 2nd year Comp Sci major I'll help as much as I can so...

What is UNIX?
Already answered, not much for me to add, we use Linux anyway. However, I would highly suggest getting a Linux OS on your computer since it has some handy built in tools and makes you more familiar with Bash.

What's important to keep in mind when working with UNIX?
Commands. Though help is your friend so memorizing isn't that big of a deal.

What are the basic essential command prompts to know?
Basically what Whoracle said.

What's a Kernel?
The second layer of software organization right above the processor level and just below the System Software and Libraries level. Basically, its all the parts that make up an OS.

Anyone here a Comp Sci major?
Yep.

Any tips on what to know?
Most college CS classes freshman year assume no experience so as long as you know how to work a computer and are ready to learn you'll be fine. Of course if you finish a 2 day lab on "learning how to program" in the first five minutes of lab they might bump you up to the next level and then you better be experienced in some high-level language, preferably C++ or Java.

" " what to expect?
If you're going into the first level class and you are very comfortable with programming you might want to ask to go to the next level. Also, expect to learn the language on your own, the class is mostly there to give you the theory and then lab time to apply it, the actual learning is on your own time.

Any warnings?
Plan out your programs. Never jump right in, I wasted 2 weeks on a project because I started too quickly.

Favorite programming language, if any?
C :smallbiggrin: I know I'm weird, but I like the control of C especially when compared to Java. Python is really nice, but anything between the rugged control of C and the ease of Python annoys me. I hate Java.

I know Java and some C++, would Python be a good follow-up?
Personally, I suggest you look into C and Assembly first. Then when you are thoroughly frustrated with those enter the bliss of Python. I don't suggest Perl, but those fanatics would say the same about Python...The reason I say this is because once you start getting used to Python its hard to go back to C because you will be used to the ease of Python.

Neftren
2008-09-01, 05:56 PM
Since the other questions have basically been answered... I'll just give you my $0.02. Depending on your computer experience, I would suggest starting with the basics. Essentially the mother of all webpages. HTML. From there, depending on what you wanted to do, you could go to XML for more stuff on webpages and cool doodads. If you're into applications and stuff, start with C. Start up the chain to Java and once you have Java and XML down, learn AJAX (Java+XML essentially). Python is great and easy to learn. Good language, but starting to get a bit old.