Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site ucbvax.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!houxz!vax135!floyd!cmcl2!seismo!hao!hplabs!sdcrdcf!sdcsvax!dcdwest!ittvax!decvax!ucbvax!faustus
From: faustus@ucbvax.UUCP
Newsgroups: net.unix-wizards
Subject: re: THE new subject.
Message-ID: <977@ucbvax.UUCP>
Date: Tue, 5-Jun-84 06:11:14 EDT
Article-I.D.: ucbvax.977
Posted: Tue Jun  5 06:11:14 1984
Date-Received: Thu, 7-Jun-84 19:17:31 EDT
References: <402@sri-arpa.UUCP>
Organization: U.C. Berkeley
Lines: 23


		># define extern
		># include "foo.h"
		># undef extern

    Remember please that there are hacks and there are hacks.  Some hacks
    are nasty and crude, and no self-respecting programmer would admit to
    having committed them.  Other hacks are nifty and elegant and provide
    a touch of POSH and class to one's code; these haques are items of
    pride to good programmers and are caried around in one's wallet and
    show, with inordnate pride, to anyone who will stand still long enough.

So what is this? I think that if anything qualifies as a nasty
and crude hack, this one does. It doesn't save much time or
effort, and it works only because external declarations happen
to look very much like regular declarations. It has already been
pointed out that you can't initialize the data if you use this,
and besides, does it specify anywhere what things are defined as
when you just say #define foo ? The null string? 1 ? ("1"
wouldn't make the compiler very happy I'm sure...) 

	Wayne