Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Aug 1997 09:33:36 +0200
From:      j@uriah.heep.sax.de (J Wunsch)
To:        freebsd-chat@FreeBSD.ORG
Subject:   Re: ATT Unix for Windows !
Message-ID:  <19970827093336.NX00626@uriah.heep.sax.de>
In-Reply-To: <19970826235525.22143@grendel.IAEhv.nl>; from Peter Korsten on Aug 26, 1997 23:55:25 %2B0200
References:  <199708251245.WAA23142@oznet11.ozemail.com.au> <19970825204932.12036@grendel.IAEhv.nl> <34020362.7DB1@fps.biblos.unal.edu.co> <19970825224258.55928@grendel.IAEhv.nl> <19970826083051.FR52594@uriah.heep.sax.de> <19970826235525.22143@grendel.IAEhv.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
As Peter Korsten wrote:

> The fact that I like windows, mice, pop-ups, buttons and the like
> perhaps lies in my Amiga background.

Since the advent of useable graphics adapters, i like windows much
myself.  I couldn't imagine the daily Unix work without X11 anymore,
and i'm fighting hacky approaches like `svgalib' (in particular, those
people who think that they need to use it) for these reasons: why the
h*ck do they wanna force me to turn X11 off for their lousy
application?

>  I find the
> flexibility that Unix offers with it's pretty free-format confi-
> guration files rather a disadvantage.

Well, and that's the difference.  Once you know the very basics of
each, you also start to value the flexibility.  I could also say i
hate LISP since writing my applix-mode.el took me three or four hours,
and i had to lookup almost every LISP primitive in the manual!? :-)
But then, which language can you really learn within three or four
hours?  It was possible, it didn't make me a LISP wizard, but it
offered me the ability to get done what i wanted to get done (a
certain form of formatting required for an ApplixWord document, mostly
the line breaks in a fairly strict and backslashified form as Applix
did expect them).  I don't believe any MS-Win editor (not counting a
Windows port of Emacs, of course :) would have allowed me to get this
done at all, simply since their developers didn't take into account
that someone else might have such a weird request at some time.  (Even
worse, Windows apps tend to ship their own editor each, which is
usually much inferior.  Think of regular expression search and
replace, something i have yet to see any replacement for.  I don't
appreciate regexp's being write-only, but i simply haven't seen
anything else that would offer at least 50 % of their power at a less
cryptic syntax.)

> For the project I was talking about, I've made a clever (though
> rather simple) Makefile, that takes the input files (I saw no way
> to take all .c files with the standard - not Gnu - make) and creates
> the names of the .o files out of it. It also does something with
> Yacc.
> 
> In VC++, I just add all the .c files into my project.

So, why didn't you do:

SRCS=	foo.c bar.c mumble.c grammar.y lexer.l
OBJS=	$(SRCS:S/.c/.o/)

PROG=	myprog

$(PROG):	$(OBJS)
	$(CC) -o $(PROG) $(OBJS)

That's basically all that's needed in your case.  I fail to see why
this is much more complicated, except of the OBJS deference rule --
which i had to lookup in the man page, but which you can also express
manually like:

OBJS=	foo.o bar.o mumble.o grammar.o lexer.o

make(1) has a fairly complex set of pre-defined rules, like the
knowledge how to compile a .o file from a .y or .l file.  So far, so
good.  Now consider that you've got a GIF image that should be
included as a (for example) X11 bitmap.  How do you do this in VC++?

Here's the solution for make(1):

.SUFFIXES: .gif .xbm

.gif.xbm:
	giftopnm ${.IMPSRC} | ppmtopgm | pgmtopbm | pbmtoxbm > ${.TARGET}

foo.o: foo.c myimage.xbm

...assuming that your foo.c has something like

#include "myimage.xbm"

(The dependency for foo.o could even be derived by `makedepend'.)

With the above four additional lines, every time you edit myimage.gif,
it will be re-computed, and cause a recompilation of foo.o and myprog.
(I've used ${.IMPSRC} and ${.TARGET} since they are easier to memorize
than the historic names you gotta use with SysV's make(1).  Yes,
there's some legacy around in Unix, but wonder how much legacy will be
around after 25 years of Windows? :)

> The real mess begins, when you want to program a Windows application
> or use the Microsoft Foundation Classes. But I doubt that programming
> an X-application is much simpler.

That depends.  If you're going to program Xlib, maybe.  But that's
usually only something you're doing as a homework in an X11
programming course, or something to program a new widget for a
toolkit.

>  X is an improvement over the text
> interface that preceded it, but it misses the integration, like a
> uniform interface and drag-and-drop.

You can get a uniform interface (CDE).  I hate it, and every time i
had to work with this interface, i had to search everything.  Does
your (wooden) desktop really look like your neighbour's?  No?  If so,
why are people proud that their electronical desktop looks like their
neighbour's?  People have different personalities, so why aren't they
allowed to have different preferences (and *not* just only expressed
by a differently ugly-looking set of colors)?  We aren't at the army
here.  I usually can also work at my colleague's X11 desktop, but i
don't prefer doing it, since he's developed a totally different layout
which fits him better.  He hates working at my machine since he
doesn't even find the German umlaut keys -- my keyboard mapping is
fairly different, since i prefer it being this way.  I think i would
have a hard time to tell MS-Win about my keyboard mapping preferences.
(I once convinced MS-DOS of it, by writing an entire keyboard
interpretation layer.  Ugh.  In X11, i just define a piece of metacode
for the xkb map.)

> So the developers may like a text interface, many people don't.

Developers like graphical interfaces as well.  I much love X11's
simple cut&paste functionality, something i always found terrible to
use in other environments.  (Note that X11 also provides for the
semantics for e.g. image cut&paste, yet only very few applications use
it.  That is sad.  Even offering multiple choices for the selection is
supported, so the target application could select either image or
text, whatever fits better.)  I prefer a graphical layout editor (like
xf) when designing a graphical application.  But i wouldn't the heck
use a horri^H^H^H^H^Hsimplified text widget, and call it `editor', in
order to fill in the application's ``meat''.  Once the layout is
ready, i'm simply using the editor of my choice again to write the
procedures behind the graphical surface.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970827093336.NX00626>