IMHO IBMAP, Assembler (XF) and Assembler (H) stack up pretty well against Macro-11. I'd rank the S/360 instruction set as better than the PDP-11 but not as good as the VAX-11.
Shirley you mean tools for manipulating SGML, e.g., XSLT, rather than SGML itself. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List <ASSEMBLER-LIST@listserv.uga.edu> on behalf of Paul Raulerson <paul.rauler...@me.com> Sent: Thursday, January 25, 2018 3:18 PM To: ASSEMBLER-LIST@listserv.uga.edu Subject: Re: Fair comparison C vs HLASM > On Jan 25, 2018, at 1:43 PM, Seymour J Metz <sme...@gmu.edu > <mailto:sme...@gmu.edu>> wrote: > > CDS is an example of something more sophisticated than C statements, but > even on the S/360 there were instructions like TRT. TRT has to be one of the most elegant instructions anyone ever thought up. I love it, but you still have to build the translation table. You have to build one in C too, so far as I know. The actual code in C is two or three lines, so yes, I would easily concede that TRT is more sophisticated than C code. ;) > I'm not sure whether ++ and -- came from the PDP-11 or from the earlier > PDP-7/PDP-9. A decent compiler would have optimized x=x+1 and x=x-1 to > utilize the increment and decrement features of those machines without > having to add them to the language. PDP-7. > > If you know VAX assembler, a great deal is missing from C. (grin) > > The "good reason" is that they were using a machine with a small memory. A > large subroutine library is no substitute for a good macro facility. > > It can be argued that the 650 was a more powerful machine than the 7030, but > will anybody believe the argument? > I thought it was something like that. Thanks! > "Must have missed the DEC PDP and VAX line..." > > Close but no cigar. The C preprocessor is also grossly inferior to, e.g., > Macro-11. E Unibus plurum. I think every Macro processor - at least until you get to SGML and up - is grossly inferior to Macro-11. To make up for it though, Macro-11 can be pretty impenetrable to figure out if you don’t work with it regularly! :) -Paul > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 SM Seymour J Metz Reply | Today, 1:01 PM IBM Mainframe Assembler List <ASSEMBLER-LIST@listserv.uga.edu> Sent Items IMHO IBMAP, Assembler (XF) and Assembler (H) stack up pretty well against Macro-11. I'd rank the S/360 instruction set as better than the PDP-11 but not as good as the VAX-11. Shirley you mean tools for manipulating SGML, e.g., XSLT, rather than SGML itself. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List <ASSEMBLER-LIST@listserv.uga.edu> on behalf of Paul Raulerson <paul.rauler...@me.com> Sent: Thursday, January 25, 2018 3:18 PM To: ASSEMBLER-LIST@listserv.uga.edu Subject: Re: Fair comparison C vs HLASM > On Jan 25, 2018, at 1:43 PM, Seymour J Metz <sme...@gmu.edu > <mailto:sme...@gmu.edu>> wrote: > > CDS is an example of something more sophisticated than C statements, but > even on the S/360 there were instructions like TRT. TRT has to be one of the most elegant instructions anyone ever thought up. I love it, but you still have to build the translation table. You have to build one in C too, so far as I know. The actual code in C is two or three lines, so yes, I would easily concede that TRT is more sophisticated than C code. ;) > I'm not sure whether ++ and -- came from the PDP-11 or from the earlier > PDP-7/PDP-9. A decent compiler would have optimized x=x+1 and x=x-1 to > utilize the increment and decrement features of those machines without > having to add them to the language. PDP-7. > > If you know VAX assembler, a great deal is missing from C. (grin) > > The "good reason" is that they were using a machine with a small memory. A > large subroutine library is no substitute for a good macro facility. > > It can be argued that the 650 was a more powerful machine than the 7030, but > will anybody believe the argument? > I thought it was something like that. Thanks! > "Must have missed the DEC PDP and VAX line..." > > Close but no cigar. The C preprocessor is also grossly inferior to, e.g., > Macro-11. E Unibus plurum. I think every Macro processor - at least until you get to SGML and up - is grossly inferior to Macro-11. To make up for it though, Macro-11 can be pretty impenetrable to figure out if you don’t work with it regularly! :) -Paul > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > ________________________________________ > From: IBM Mainframe Assembler List <ASSEMBLER-LIST@listserv.uga.edu> on > behalf of Paul Raulerson <paul.rauler...@me.com> > Sent: Wednesday, January 24, 2018 11:54 PM > To: ASSEMBLER-LIST@listserv.uga.edu > Subject: Re: Fair comparison C vs HLASM > >> On Jan 24, 2018, at 10:14 AM, Seymour J Metz <sme...@gmu.edu> wrote: >> >> Like many old sayings, it's worth what you paid for it. The z instruction >> set includes operations far more powerful than anything in C, and the lack >> of a Turing complete macro language makes C highly inflexible. >> > > I am not sure that really makes sense. What exactly do you feel is “more > powerful” about the zArch instruction set than “anything” in the C language? > Not that they are exactly comparable to be honest, but curiosity gets the > better of me here. > > The C language was actually modeled on the PDP-11 instruction set, and > designed to make writing programs on a very rudimentary UNIX possible. Check > out the AT&T Bell Laboratories Technical Journal, October 1984, Vol 63, No > 8., Part 2 for just tons and tons of interesting details about that. > > But long and short, if you know PDP-11 or VAX assembler, a great deal of the > C language is very familiar to you. > > That happened in about 1972. In 1973, the entire kernel for the then new > Unix operating system was rewritten in C. To this day, the greatest part of > any UNIX or UNIX derived kernel is still written in C, and it works just > fine as a system programming language. > > As for Macros, well, C macros are generally much simpler than HLASM, though > with good reason. Most of the functionality embedded in Macros off HLASM is > provided by the standard C libraries. Want to open a file? It is the same > call on just about any platform. The c libraries are specific to each > platform. Want to cross compile for a totally different platform? Easy > peasy, just add a flag into the compile indicating the platform. And so on > and so on. > > I think it can be argued that the c library provides a complete, and easily > extended or modified equivalent of HLASM macro processing. > > Now, when you get into modern C with typing and so many other built in > libraries, you can *still* make an argument. :) > > But the most probably truth is that C is far more efficient to program in > than HLASM. > > A few years ago, a friend of mine declared he could write anything faster > than the GCC C compiler, and his program would run faster. Oh, I couldn’t > resist… > > I asked him to write a program to add 1 to a value 100 million times then > print out the answer. He dived in and wrote a sweet little assembler > program, assembled and linked it (under z/Linux) and it ran like greased > lightening. > > Of course, the C compiler took this: > > #include <stdio.h> > > int main(int argc, char *argv[]) { > int c=0; > int x=0; > > for (x=0; x< 100000000; x++) { c++; } > > printf ("\nThe final value is [%d]\n", c); > } > > > and optimized it during compile time. > > In fact it optimized it so much it simply generated a LHI of a register with > 100000000 in it. (grin) Needless to say, it ran somewhat faster than my > friend’s program. Even counting the screen print. :) > > > >> C may be similar to SOAP 2 on the 650; it's certainly not similar to any >> assembler that I used in the last half century. > > > Must have missed the DEC PDP and VAX line... > >> >> >> -- >> Shmuel (Seymour J.) Metz >> http://mason.gmu.edu/~smetz3 -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3