From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Cross Message-Id: <200104262032.QAA22251@augusta.math.psu.edu> To: 9fans@cse.psu.edu Subject: Re: [9fans] the declaration of main() In-Reply-To: <20010426194237.43F56199DC@mail.cse.psu.edu> Cc: Date: Thu, 26 Apr 2001 16:32:39 -0400 Topicbox-Message-UUID: 9239ca74-eac9-11e9-9e20-41e7f4b1d025 In article <20010426194237.43F56199DC@mail.cse.psu.edu> you write: >> No, that choice pretty much forced the existence of an APE. >> If the standard extern interfaces had been honored, Plan 9 >> C could support both the native Plan 9 way of doing things >> *and* Standard C, without requiring any flags etc. > >This is just bogus. The whole point of Plan 9 is that >everything has been rethought. What forced the existence >of an APE was the desire to compile and run some large legacy programs >without infecting the rest of the system with external >garbage. Changing the definition of main to return int >would not eliminate the benefits of an APE any more than >anarchy would eliminate the benefits of prisons. Interesting perspective (all, including Doug's on Plan 9, yours on Plan 9, and yours on prisons :-). I think that Doug's point is valid, though: the APE, or perhaps more specifically pcc, is the ``mode bit'' of Plan 9. The idea of having ``another'' main() is also completely valid, and indeed, quite intriguing. BUT, your point is valid as well; the APE is a crutch to get some useful programs to run under Plan 9 with minimal effort, and legacy compatability must still be provided through a set of libraries. My suspicion is that it wasn't considered worth the effort to try and find a `better' solution than the APE as it stands now. It probably isn't. Besides, as Russ implies, one doesn't necessarily want to allow smooth integration of Unix compatability into Plan 9, in order to facilitate a clean break with the past. (Can we now say that the best way to get over an operating system is to get a new, completely different operating system? :-) - Dan C.