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