I think that this article :-

https://www.theregister.co.uk/2018/01/23/serverless_exhilarating_terrifying_ridiculous_name/

shows the futility of this discussion. Note that its about software 
development, not about hardware. It illustrates that in most cases there is 
more than one way to get from a to b.
.. given a shortage of good system developers lets make the process simpler...
.. no matter that the hardware required to deliver the process...

So in the last week I have sent a few emails, bought a couple of things on 
Amazon, searched in google, and unusually flown on a plane. Most of the IT 
things I do do not involve mainframes, or assembler, even at the lowest level.
Yes when I use banking, or if I fly, but note that as far as I know in the UK 
Air Traffic control no longer uses real IBM mainframes. There is still 
mainframe code buried in there, but its run under emulation.  The last failure 
was in the mainframe code when a table over flowed..

http://www.computerweekly.com/news/4500246924/Nats-failure-down-to-bug-from-teh-90s-and-redundant-code

So in terms of new systems the world has moved on. The old world still exists, 
but its ring fenced because its getting too hard to change the core business 
logic, not because its Assembler, COBOL or Fortran...

Dave

> -----Original Message-----
> From: IBM Mainframe Assembler List [mailto:ASSEMBLER-
> [email protected]] On Behalf Of Jon Perryman
> Sent: 24 January 2018 06:00
> To: [email protected]
> Subject: Re: Fair comparison C vs HLASM
> 
> > There is an old saying "C combines the power of assembly language with
> > the flexibility of assembly language": the point being that C as a
> > language is very close to assembly language.
> 
> 
> LOL. We are discussing HLASM. Have you used the assemblers in the
> comparison.
> 
> > Both require the programmer to express their code at a very low level:
> > "close to the metal".
> 
> LOL. To the contrary, HLASM is often used to abstract the programmer from
> the hardware. In the past, it was used for IO, CICS and IMS definitions. I
> believe it was used for the MVS stage 1 build. It's used for TSO parsing. I 
> used
> it to allow easy form creation. I'm sure there are many more.
> 
> The alternative in C would require the creation of new languages because C
> does not allow for this flexibility. Case in point is XML where the C 
> solution is
> the new programming language called "schema" (which by the way has many
> varied flavors). Instead of creating new languages, the developers were able
> to quickly, easily and consistently create these solutions and concentrate on
> their product design.
> 
> > The main advantage of C over HLASM is that C has an optimizing compiler.
> 
> C programmers are given a task and they do it well within the limitations of
> that tool. It's not their fault but "garbage in, garbage out". You can do all 
> the
> mechanical optimization possible, but at the end of the day, the language
> forces certain techniques. Case in point is XML. Over the years with several C
> implementations, the basic design has not changed. HLASM can on the other
> hand uses abstraction to allow programmers to easily and optimally generate
> code. In fact, HLASM is one of the only languages that can significantly alter
> it's behavior on the fly. For instance, Ed Jaffe specifically mentioned SPM
> (e.g. IF opcode).
> 
> Regards, Jon.
> On Tuesday, January 23, 2018 1:26 PM, Martin Ward <[email protected]>
> wrote:
> 
> 
> 
> There is an old saying "C combines the power of assembly language with the
> flexibility of assembly language": the point being that C as a language is 
> very
> close to assembly language.
> 
> C has few of the powerful abstraction features found in modern
> programming languages: automated memory allocation and garbage
> collection, first class functions, higher order functions, closures, hash 
> tables,
> abstract data types and so on.
> 
> C and HLASM both have support for basic, low-level programming features
> such as prodecure calls, conditional statements and while/repeat loops. Both
> require the programmer to express their code at a very low level: "close to
> the metal".
> 
> The main advantage of C over HLASM is that C has an optimising compiler.
> If performance is of ultimate importance (and why would anyone use such
> low-level languages otherwise?) then the C compiler can automatically
> provide register allocation, loop unrolling and procedure inlining where
> heuristics indicate these transformations will improve performance.
> 
> A good assembler programmer might make reasonable choices for register
> allocation on first writing the program:
> but will they be willing to recalculate a new register allocation after each
> addition or modification to the program?
> Will they choose to write optimal, but unstructured and unmaintainable
> spaghetti code or readable but less efficient structured code? With a
> compiler, the programmer can write structured code and allow the optimiser
> to apply common subexpression elimination, pointer chasing, loop unrolling,
> procedure inlining, and so on, creating mode efficient code which would be
> unmaintainable if it had been written that way in the first place.
> 
> Finally, modern C compilers, such as gcc, can perform whole program
> optimisation, applying interprocedural optimisation to all functions and
> variables, including statically-linked libraries.
> 
> --
>             Martin
> 
> Dr Martin Ward | Email: [email protected] | http://www.gkc.org.uk
> G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4

Reply via email to