[Sussex] The Art of Unix Programming

Geoff Teale tealeg at member.fsf.org
Sun Dec 14 17:06:04 UTC 2003


Trevor wrote:
-----------
> Well, yes, probably.  The thing is that the Unix approach is /different/
> to the Windows approach (OK, better as well as different, this is a
> Linux list after all), but if you try and do things in a Unix-y way on a
> Windows system you'll have the same kind of problems:
> 
> "Why isn't there a decent shell for Windows?"
> "Why are binary and text files different?"
> "How do I log in remotely?"

Exactly.  The point is, if these people really _want_ to develop Windows
software then they should go develop open source applications for that
platform!  If you set out to write a program you should write it the
best way possible given the restrictions of your environment.  If you
are writing software for Unix you should understand the fundamental
concepts of systems development on that platform.

> I spend a large chunk of my professional time writing software that
> needs to work on a Windows platform, and it really is a mistake to try
> and write Unix software.  And using something like Cygwin just makes it
> worse, it's a kind of 'worst of both worlds' solution.  Windows is just
> different.

:)

I've written a lot of software professionally on Windows platforms and I
always endeavoured to the best thing possible on that platform - trying
to use the style of another platform would be a pain in the arse.

> Yup, I think you're right, although part of the trouble may be with
> expectations; if you're /expecting/ a windows clone 'cos there's some
> kind of GUI then you'll be disappointed.  If you've never experienced a
> Unix platform then you won't know how to get the best out of it.

There's nothing wrong with writing GUI apps per se.  Its that people
bundle up all their logic behind a GUI without gaining the traditional
benefits of Unix's pipes and streams.  If instead you start out by
writing standalone, small shell based programs and then wire a GUI onto
the front of them then you'll find your project much more flexible and
future scripting of the tool much easier.

> I reckon there's room for some GUI development tools - you don't /have/
> to use them.  But I take the point about flexibilty or the lack of it.

I wasn't talking about GUI development tools.  I was talking about
writing applications without separating logic from presentation.  There
are penalties for doing this on any platform, but those penalties are
greater in Unixland because you loose so much opportunity for unimagined
use as part of string of commands.  If no one tells new people to the
platform that they can utilise the massive power of the underlying
architecture then they'll go on making applications that can only be
used, standalone in a GUI environment.

> Not that he's biased, of course :-)

Oh, well, yeah ESR is clearly biased, but as a rundown of whats wrong
with Windows I found it quite succinct.
-- 
Geoff Teale 
tealeg at member.fsf.org 
Free Software Foundation. 

THE OLD POOL SHOOTER had won many a game in his life. But now it was time
to hang up the cue. When he did, all the other cues came crashing go the floor.

"Sorry," he said with a smile.
		-- Jack Handley, The New Mexican, 1988.





More information about the Sussex mailing list