Path: utzoo!attcan!uunet!hi-csc!slocum From: slocum@hi-csc.UUCP (Brett Slocum) Newsgroups: comp.sys.apollo Subject: Re: Apollo Pascal Message-ID: <432dfc92.805@hi-csc.UUCP> Date: 12 May 89 16:00:00 GMT References: <8905022002.AA00179@apollo.bucknell.edu> <20253@iuvax.cs.indiana.edu> <4887@pt.cs.cmu.edu> Reply-To: slocum@hi-csc.UUCP (Brett Slocum) Distribution: na Organization: csdd Lines: 62 In article broman@nosc.mil writes: >Except for the profiler and debugger, which work for C and Fortran also, >Apollo Pascal doesn't come with many tools. Well, there's DSEE, which is one of the finest software engineering environments around. We had a massive research contract that produced about 100K lines of code, and maintained/improved another 100K lines of code. We had a fluxuating staff of from 4-16 engineers working on it, sometimes for as little as a month at a time. Using Domain Pascal and DSEE, work progressed so well, that we were able to deliver major enhancements over and above the contract needs, and we came in on-time and within budget. > [. . .] >The language supported as DOMAIN Pascal has only a superficial >resemblance to real Pascal. Don't look for conformance to >any standard at all. Even the notion of "type" is changed >to use structural equivalence instead of name equivalence of types. >The compiler supports separate compilation, of course, >but does not provide any type consistency checking at all >across files. (none!) You have to arrange that yourself >by means of include files, make, etc. Procedure/function arguments >to procedures and functions are not allowed. >New reserved words are defined. Other fun stuff... Since we were working for the DoD, they had fairly strict requirements as to the Pascal we used. Domain Pascal was fine in their eyes. Part of the project was porting this monster of programs to a Vax, running VMS. This task was accomplished in a week, by student aides. 200K lines of code!!! Now, granted, we did make some attempt to write 'standard' Pascal, and not use Apollo-specific calls where avoidable. But this port shows that Domain Pascal is compatible with other Pascals. If you are using multiple source files, you're damn right you should be using include files. How else is the compiler going to figure out what you mean? Are you saying that all modules should be compiled at one time, so that the compiler can do proper type-checking? That's absurd! If you look at C, which was designed for separate compilation, you'll find those same include files all over the place. It's the best way to insure consistency. If you are looking to standards, there is a compiler switch that checks to see if your code conforms to ISO/ANSI standard Pascal. The problem with non-standard Pascal is not in Domain, but in the nature of Pascal itself. There is no standard for multiple source files, system calls, procedure parameters, etc. If you look at Wirth, there is no provision for functions and procedures as parameters. If you take a look at 95% of all Pascal compilers, they will all have the same problems you have just mentioned. If they don't, then many things will be impossible, such as separate compilation. >Don't bother screaming to Apollo about the atrocities they perpetrate upon >a nice language. The responses I've gotten from them are either illiterate >or else a variant of "That's not a bug, that's a feature." Most of the things you are complaining about ARE features. If you use them, then you better realize that you are writting non-portable code (the manual clearly states this). If you don't use them, then you have portable code. It's really a lot easier than you are making it out to be. -- Brett Slocum UUCP: ...uunet!hi-csc!slocum Arpa: hi-csc!slocum@uunet.uu.net