Path: utzoo!mnetor!uunet!husc6!purdue!umd5!mimsy!mangoe From: mangoe@mimsy.UUCP (Charley Wingate) Newsgroups: comp.lang.c Subject: Re: volatile isn't necessary, but it's there Message-ID: <11005@mimsy.UUCP> Date: 10 Apr 88 22:10:36 GMT References: <7794@alice.UUCP> <10988@mimsy.UUCP> <7642@brl-smoke.ARPA> Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Lines: 18 There seems to be a spurious issue over portability here. It would seem to me to be foolish to set up a standard only in the interests of portability, as though the language so standardized would not still be used in situations where there is no issue of portability. In any case, I have problems with Doug's notion of simplicity, because it is not the only such model which "makes sense." His model appears to be highly operational; I intuit that his view is along the lines of "`a<-b' means `pick up value from b and put it in a'". But there are other models, and in particular, the one that matters is the one in which a concurrent program is more complex than one which is a single process. Why? Because this model is the one which concerns itself about "what is happening." Optimizers have to have information given them to tell them when they can rely on a simple semantic model of computation, and when they have to fall back to a purely operational model whose semantics are much more complex. Pre-standard, this notion is hidden outside the code, in optimization flags. C. Wingate