

Should a senior in Comp Sci know what a .tar file is? - jcromartie

Today at work I met an intern who happened to be a senior in computer science at a well-known area college.  While helping them to get started on an assignment, it struck me as odd when they were working in Notepad, double-clicking what were obviously command-line programs, and didn't know what a .tar file was.<p>Who is to blame here?  Clearly the student doesn't have a passion for what they are studying.  On the other hand, how does a computer science department let students go nearly 4 years without exposure to things like UNIX-like operating systems?
======
bilcorry
Computer Science can be taught without a student ever having used a computer;
it's a branch of mathematics. Would you expect a mathematician to know what a
.tar file is?

Reminds me of a quote from one of the most famous Computer Scientists, who was
really a mathematician:

"Computer Science is no more about computers than astronomy is about
telescopes." \- E. W. Dijkstra (1930 - 2002)

~~~
jcromartie
This is true, in the purest sense of CS. However, how much pure mathematical
theory can you fill _three and a half years_ of university education with?

I would imagine that a comp sci department where they never reach a point
where the "rubber meets the road" is not worth the trouble.

~~~
derefr
> I would imagine that a comp sci department where they never reach a point
> where the "rubber meets the road" is not worth the trouble.

...unless your rubber has already met your own personal road long ago. I,
personally, learned everything _practical_ I needed to know about programming
long before I stepped into a CS class, mostly from self-teaching and the web;
I only took CS to "straighten out" my theoretical knowledge. I would have
loved a CS department with no computers installed (except perhaps for
interactive debugging after it's already clear that you can express yourself
in pseudocode.)

~~~
aristus
OT: I'm in a similar situation: I've 11 years' experience and want to take
some CS classes now that I live near Berkeley. Any tips?

~~~
Xichekolas
I can't speak for Berkeley, but my favorite classes in CS were always the ones
on Algorithms and novel languages.

Avoid classes that teach syntax, unless the syntax is used to highlight a
language feature you have never encountered before, like continuations or
currying.

~~~
fugue88
English is my favorite novel language, but I didn't have much time for reading
fiction in school. ;)

~~~
Xichekolas
hehe... I meant the adjective, not the noun.

------
bootload
_"... Should a senior in Comp Sci know what a .tar file is? ..."_

This is a statement telling me what the comp-sci is not doing:

\- not interested in "systems" by not downloading installing free operating
systems & servers

\- not interested in software "tools" by not using free software compilers
downloading new & interesting code to sample and understand

\- not interested in "making things" because a lot of software is still
delivered as source code wrapped in tar.

\- just plain not interested

From physicists to chemists, archaeologists to biologists people in science
use, hack and develop their own tools on computers to solve their problems and
would most likely encounter tar.

    
    
        $ tar -zxvf foo.tar.gz
    

The computer is just another tool. For comp-sci's to not know what a ".tar",
how it works [0] is just plain ignorance of the worst kind.

[0] <http://en.wikipedia.org/wiki/Tar_>(file_format)

------
andreyf
Short answer: No, assuming you meant "should _every_ CS senior know what a
.tar file is?".

Long answer: Not always. Large and fascinating branches of CS has nothing to
do with computers. A programmer looking to work on UNIX-based file systems
should know what a .tar file is.

A commitment to GUI interfaces (and general mouse love) and not knowing .tar
files probably just means the person had only seen Windows. I'd say the
average child will take a week of dedicated learning before OK at using
command line/Linux-based OS's. It would probably be a good idea to have a
little intro-course to people who haven't seen Linux (kind of like a summary
of OS class in college) at your company to catch these people up.

One of the things that bothers me most about the snobbier computer enthusiasts
is how much pride they take in their curiosity, even if what they learn isn't
all that impressive - it would take less than a minute to explain .tar file is
to a degree more thorough than understood by half of the people who use them.

~~~
Xichekolas
On the other hand, the CS program has a pretty glaring hole if it doesn't at
least have an intro seminar into Unix-like operating systems, where things
like tar files would surely be on the syllabus. I know I was offered a free
week long seminar (about an hour a night) on Linux and gnu tools as a freshman
at KU. Unix-like OS's make up a sizeable chunk of the programming landscape,
so it would be strange to never mention them.

Maybe his CS program is super-theoretical and doesn't concern itself with
implementation. Of course, it's far more likely that it's a lightweight shop
turning out blub programmers.

------
dallasrpi
We had a guy at our company with a Masters in cs and he didn't know the
shortcuts for copy and paste! His first code review was unbelievably painful.
Suffice to say he didn't last too long.

~~~
ken
Funny, I find the people who are expert at copy and paste tend to generate the
more painful code.

------
utnick
eh

I don't really feel that a professor should go through and explain common
filetypes, that really isn't computer science.

However, if a 21 year old is passionate about programming, they will have come
into contact with a command line and tar files on their own obviously.

~~~
paulgb
Agreed. It's not the school's responsibility to teach a student what a .tar
is, but if the kid is doing any programming out of personal interest he should
have come across it.

In my experience, CS students who know what they are doing are usually using
Mac or Linux by the time they graduate.

~~~
ks
At my university, we used Unix for everything. We never had any lectures about
how to use make, tar, cvs or LaTeX. But we were required to use them, so we
had to learn stuff ourselves. I think that is the best way to learn, since it
made us more independent.

------
crystalarchives
I'm not worried about him not knowing what a tar file is - fine, he likes
Windows, whatever.

What greatly disturbs me is his choice of text editor. Notepad? Seriously?! If
you've only programmed with IDEs or Notepad, that is a serious problem. I love
vi, and am competent in emacs, but even in a Windows environment he should go
for Notepad++ or something...

~~~
jdavid
uhmmmm as a windows user, tars are all over the place if you look for them,
but then, i might have found them as a hacker.

------
jdvolz
I had something similar to this happen to me in my 2nd semester programming
class at Berkeley. I was in the lab for a class that was taught in Java for
data structures (and C when the memory management talk started). We were 5
weeks into a 10 week class. The guy programming to my left turned to me and
asked me what "double equals" (as in ==) meant. I was stunned, but then
answered. Later it struck me: how the hell did this guy get through the
metacircular evaluator in the first semester? How had he gotten through the
previous 5 weeks of assignments? I think about it even now and wonder.

~~~
tobiazz
Switch statements?

------
hernan7
For what it's worth, I have 15 years of Unix work experience and I don't think
I saw any tar file until graduating (my university was a mostly-DOS shop). I
learned mostly on the job... man vi was painful... but now I can't use an
editor for humans anymore.

------
eb
Interesting. To become a competent programmer, a person has to spend a
significant amount of time exploring and learning all of the nuances involved.

What other fields of study require this sort of initiative outside of the
classroom? Is it enough for a chemist to go to class and complete the
homework?

I can't think of any field where curiosity is as important as in computer
science and where the classroom is so insufficient.

~~~
maxwell
Programming is an art. All fields of art that I know of require this kind of
outside initiative to be any good.

------
Tichy
To be honest, I still don't completely see the point of tar - isn't it
redundant, since zip puts things into an archive anyway? Coming from windows,
I never used tar, I just zipped everything. Any now that I am on Linux, I
never had the need to tar anything. Untaring thankfully is provided by the
Gnome File Explorer.

Using Notepad for programming, however, is really odd...

~~~
tim2
If you have a folder full of media files (jpg|mp3|avi) then zip is going to
waste a lot of time and CPU cycles over just tar-ing it all up.

Other than that, I've just used tar directly in some edge-cases to fit within
some constraints.

------
pius
In my program, we had classes (6.033 <http://web.mit.edu/6.033/www/>, I'm
looking at you) with tasks that practically required you to use *NIX systems,
know how to open LaTeX'd Postscript files, install open source libraries from
tar files, etc. before you graduated. It's not that those things were
explicitly the point of the assignments; it's that those things were simply
part of the requisite yak shaving for successfully completing the real tasks.

------
mixmax
I'm not a programmer and I found your example horrific.

It seems like a biz guy not knowing what excel is.

------
dangrover
I meet a lot of kids like this at my school. They don't learn anything on
their own or do any work if it's not part of some pre-defined "program" or
"track".

------
cardmagic
4 years without a single CS professor using tar to distribute anything to
their students sounds like a crummy CS program to me.

------
holygoat
My answer: no, but he should want to find out.

------
kuratkull
That's just stupid :S Clearly, he hasn't compiler a single proggie from
source, except maybe his own.

------
aggieben
yes.

------
sabat
The point is moot. Storage schemes are not important in themselves.

------
amichail
This isn't a big deal.

~~~
Kaizyn
Why isn't it?

~~~
amichail
What's important is whether this person has any important skills that you care
about. Also, it's quite possible to get by under Windows without knowing
anything about tar files.

~~~
axod
"Getting by under windows" doesn't really scream 'great coder' to me.

~~~
amichail
Windows has excellent development tools.

