why Unix?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Apr 7 09:38:20 PDT 2009


Jesse Phillips wrote:
> Many people suggest Live-CDs for introduction, but this is only 
> go to show that you have a browser in Linux. It doesn't give a true Linux 
> experience.

I agree. Somehow I'm surprised that the discussion drifted into a pure 
user-level feature comparison though.

Below I'll give another shot at making a point.

There's an old joke circulating on the net about "Hello, world" written 
by programmers in various stages of their career, see e.g. 
http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html. I've 
seen that a long time ago. The "Unix guru" program looks like this:

echo "Hello, world"

I sort of got a chuckle out of it ten years ago "Heh, this guru doesn't 
even bother to write in C..." But there's a layer in the joke that I'd 
missed: In Unix you can do quickly and easily a large amount of work 
that would be routinely considered programming in Windows, without even 
really programming. You can automate a lot of things that are not even 
considered candidates for automation under Windows, unless you have some 
specialized tools that automate the exact problem you care about. 
Furthermore, the way of doing things in Windows is not conducive to 
certain sorts of automation - simply because most of Unix is dedicated 
to you writing programs, whereas in Windows only a handful of 
specialized tools are  dedicated to you writing programs.

If your notion of programming is "I plan to write Java" or whichever 
language and your notion of work is "I fire off the IDE" then you'll get 
little added value from Unix. If, on the other hand, the plan is "I plan 
to write programs" then a federation of languages and tools will be 
readily at your disposal, and you'll laugh at the narrow-mindedness of 
your former self who thought that if you wanted to index a file you'd 
have to fire your IDE.

I'll risk an example. A while ago my wife was looking for a place for 
her medical residency. There was an online service that would give her a 
long webpage with links to all institutions she was interested in. The 
links were in the hundreds. She had to click each, then a couple of 
others, then look through their program highlights to see some details 
she was interested in. Getting back or opening in new window were 
difficult due to some Javascript (of which disabling messed things up). 
All in all it was a very tedious task.

It took me a couple of minutes to write under her eyes a script that 
downloaded HTML, scraped the code for links, followed those of interest, 
and output a concatenation of all pages she was interested in, with 
details highlighted, that was loadable back in the browser. I'd show her 
one iteration, get feedback, and get the next iteration within seconds. 
All without "coding" in any sense as regularly understood by Windows 
programmers. She was pleasantly surprised as her entire framework of 
using the computer not only didn't include such tasks, but also didn't 
include a notion that it's possible to accomplish such tasks on a 
computer. My point is that I myself, a programmer, would have been 
surprised if I'd seen the same only five years ago. My only hope back 
then would have been that some add-on implements what she needs by 
accident, or that I could fire off my IDE and write a program to do what 
she needed before she'd actually do it by hand.


Andrei



More information about the Digitalmars-d mailing list