jbn@wdl1.UUCP (05/15/85)
The idea of machine-dependent medium-level languages was worked to death in the late 60s and early 70s. Look up ``PL/360'' in a good computer science library. In retrospect medium-level languages were a bad idea; nothing more machine-dependent than Bliss ever went anywhere. John Nagle
dgary@ecsvax.UUCP (D Gary Grady) (05/17/85)
> The idea of machine-dependent medium-level languages was worked to death > in the late 60s and early 70s. Look up ``PL/360'' in a good computer science > library. In retrospect medium-level languages were a bad idea; nothing more > machine-dependent than Bliss ever went anywhere. > John Nagle I've seen PL/360 and I believe it still has some users at Stanford; at least you could still get documentation from them as recently as about three years ago. IBM today uses a machine-dependent "medium-level" (one might argue about that in this case) language called PL/S for its operating systems nowadays, though I don't believe this is quite as powerful as what I have in mind. And I repeat that Burroughs large systems have no assembler but use instead a dialect of Algol. So the idea is not quite as dead as all that. If problems were found using these languages, what were they? Was it really that, say, PL/360 was unusable, or was it inertia or unavailability that caused the problem? In short, if they're better than assemblers, why not use them, and if they're not as good, what is it that keeps them from being as good? -- D Gary Grady Duke U Comp Center, Durham, NC 27706 (919) 684-3695 USENET: {seismo,decvax,ihnp4,akgua,etc.}!mcnc!ecsvax!dgary
jbn@wdl1.UUCP (05/24/85)
Burroughs Algol was a high-level language, at least as high-level as C or Pascal. So is PL/S. But PL/360 is totally nonportable and makes the register structure of the target machine, for example, very visible. It's a different kind of language than most programmers are used to. One of the key properties of a medium-level language is that the programmer is not insulated from the machine architecture at all. Stanford may still have PL/360. They still have ORVIL, WYLBUR, Algol-W, and a number of other antiques running on the IBM iron. In fact, the Stanford CS department's latest new machine is a DECsystem 2060 that DARPA had left over from some project elsewhere and offered to Stanford. Stanford still has the old Incompatible Time-Sharing System running on SAIL, after all these years. The fact that something is still in use at Stanford reflects only that Stanford got into the business early. John Nagle
darrelj@sdcrdcf.UUCP (Darrel VanBuer) (05/25/85)
I used PL/360 on my own for System Programming 10 years ago, but there were two deficiencies, one minor, one major. The minor one was that the opcode coverage implied by "conventional" programming was fairly narrow, mostly branching, integer and address arithmetic. Other opcodes were written as procedure calls, and you were able to define new opcodes easily. The more significant one was the almost complete lack of system interface support. In assembler you have a large library of macros for system calls (SVCs) and standard idioms. PL360 came without such a library, and its register use conventions tended to conflict with those of SVCs, so it was a little tricky to call the operating system. I had my own library for these things, but most of the systems calls became subroutine calls to short routines which dealt with the funny register mismatches. -- Darrel J. Van Buer, PhD System Development Corp. 2500 Colorado Ave Santa Monica, CA 90406 (213)820-4111 x5449 ...{allegra,burdvax,cbosgd,hplabs,ihnp4,orstcs,sdcsvax,ucla-cs,akgua} !sdcrdcf!darrelj VANBUER@USC-ECL.ARPA
asente@Cascade.ARPA (05/28/85)
I feel obligated to defend Stanford, at least a little, after the following message appeared: > Stanford may still have PL/360. They still have ORVIL, WYLBUR, >Algol-W, and a number of other antiques running on the IBM iron. >In fact, the Stanford CS department's latest new machine is a DECsystem 2060 >that DARPA had left over from some project elsewhere and offered to Stanford. >Stanford still has the old Incompatible Time-Sharing System running on SAIL, >after all these years. The fact that something is still in use at Stanford >reflects only that Stanford got into the business early. > > John Nagle "Stanford" is a reasonably large university. It's computing environment is far from monolithic. ORVIL, WYLBUR, and the IBM iron are part of the university computing service and have nothing to do with the Computer Science Department. There are a LOT of places out there that still use IBM machines as their main computing resource; the above remarks make about as much sense as stating that some physics department somewhere is antiquated because they use a PDP-8 to analyze data from some machine. Also, SAIL doesn't run, and has NEVER run to my knowledge, the Incompatible Time-Sharing System (ITS); I don't think that ever got out of MIT (thank God!). The CS & EE departments have at least 10 Vaxen running 4.2 Unix. Stanford's computing resources may not be all that we could wish, but they're far from being in the dark ages as John suggested. -paul asente decwrl!Glacier!Cascade!asente asente@Cascade.ARPA
dgary@ecsvax.UUCP (D Gary Grady) (05/30/85)
John Nagle writes: > Burroughs Algol was a high-level language, at least as high-level as C > or Pascal. So is PL/S. But PL/360 is totally nonportable and makes the > register structure of the target machine, for example, very visible. > It's a different kind of language than most programmers are used to. > One of the key properties of a medium-level language is that the programmer > is not insulated from the machine architecture at all. Burroughs Algol is a fairly machine-specific Algol - I certainly don't know of another computer it would run on. This is true in practice of PL/S as well. And I certainly wouldn't argue with the points about the concept of a medium-level language being unfamiliar and their not insulating the programmer from the architecture. But I fail to see what you're getting at. All these failings (if they are failings in the context in question) apply to assemblers as well. What I would like to see is a good alternative to assembler language, one that would allow high-level constructs when they are useful and low level machine control when that it useful. It is obvious that such a language would have to be machine specific, though it is also reasonable to suspect that some degree of portability in syntax could be achieved (there have been portably assemblers written, believe it or not). However, I think portability is quite irrelevant. If I want low-level machine control I HAVE to give up portability, absent considerations of what language I write in. To restate in a sentence: I'd like a language that gives me the power and convenience and readability of a high-level language but the low-level control of an assembler. I see no reason for incompadibility between those two needs. -- D Gary Grady Duke U Comp Center, Durham, NC 27706 (919) 684-3695 USENET: {seismo,decvax,ihnp4,akgua,etc.}!mcnc!ecsvax!dgary
chuck@dartvax.UUCP (Chuck Simmons) (06/02/85)
> To restate in a sentence: I'd like a language that gives me the power > and convenience and readability of a high-level language but the > low-level control of an assembler. I see no reason for incompadibility > between those two needs. > D Gary Grady Why can't we write most of the program in our favorite high-level language and then write critical portions of the program as subroutines in the local assembler? This requires that the assembler have a way of specifying type information, etc to the linker, and it requires that the subroutine interface of the high-level language be well documented. On the other hand, to port the program to another machine would (hopefully) require only rewriting the assembler routines; which we would expect to be short and well-written. (This is how we write programs around here.) On the other hand, it has been argued that C is a high-level language. Meanwhile, C appears to provide the programmer with the low-level control of an assembler. Chuck Simmons
dgary@ecsvax.UUCP (D Gary Grady) (06/04/85)
> Why can't we write most of the program in our favorite high-level > language and then write critical portions of the program as subroutines > in the local assembler? This requires that the assembler have a way of > > Chuck Simmons First, there's the matter of subroutine calling overhead, which is sometimes a problem. Second, I still wind up writing in assembler. Maybe what I should be squawking about is a better syntax for assembler language than the traditional one... -- D Gary Grady Duke U Comp Center, Durham, NC 27706 (919) 684-3695 USENET: {seismo,decvax,ihnp4,akgua,etc.}!mcnc!ecsvax!dgary
oz@yetti.UUCP (Ozan Yigit) (06/10/85)
>Maybe what I should be squawking about is a better syntax for assembler >language than the traditional one... >-- >D Gary Grady Have you heard of SMAL/80 ??? It was a "structured assembler" written in Bell Labs for 8080/Z80 processors. It looked much like C, and it was VERY readable..For example: intel zilog smal/80 JPE addr JP PE,addr if even goto addr XRA C XOR C A = A xor C INR A INC A ++A MOV B,A LD B,A B = A It also contains a LOOP - REPEAT construct and IF cond stmt construct. Maybe it is time to revive this neat little language for the newer set of architectures. Ref: IEEE MICRO, Feb. 1982, Vol 2 #1. Pp. 63-71 Oz [whizzard of something or another, no doubt..] Usenet: {decvax|ihnp4|allegra|linus}!utzoo!yetti!oz Bitnet: oz@yuyetti