On Fri, Nov 13, 2015 at 1:03 PM, Anne & Lynn Wheeler <[email protected]> wrote:
> [email protected] (Paul Gilmartin) writes: > > Well, yes. Something about core competency. Spend programming > > resource on an optimizing compiler which can produce object code > > faster, better, cheaper than redundant effort by human programmers. > > And the next generation ISA can be exploited merely by recompiling, > > not recoding. > > modern compilers will have detailed knowledge of ISA and lots of > programming tricks/optimizations/techniques done by the very best > assembler programmers (compiler stat-of-the-art is typically considered > having reached this point for most things at least by the late 80s). > > One of the issues is C language has some ill defined & ambiguous > features that inhibits better optimization (that is possible in some > better defined languages). > > minor reference (not only optimization issues but also bugs) > http://www.ghs.com/products/misrac.html > > This flexibility comes at a cost however. Ambiguities in the C language, > along with certain syntaxes, consistently trip up even the best > programmers and result in bugs. For software developers, this means a > large amount of unexpected time spent finding bugs. For managers, this > often means the single largest risk to their project. > > ... snip ... > > The original mainframe TCP/IP product was done in pascal/vs ... and had > none of the programming bugs that have been epidemic in C language > implementations. > > > All good points. Unfortunately, for me, GCC does not have a Pascal (or PL/I - my fav) branch. And IBM, for whatever reason, made the PL/S, PL/X, PL/AS compiler series "internal use only". So what else is left? Please don't say COBOL. I haven't had the pleasure(?) of using version 5 (my company stopped upgrading at 3.4.1 and is about 8 months from eliminating the z entirely), so I don't know how good its code generation is. 3.4.1's code looks like <elided> to me. On Linux, my choice of _compiled_ languages seem to be: C, C++, FORTRAN (gfortran), ADA (gnat), COBOL (GnuCOBOL), and Pascal (fpc). All but the latter are part of GNU. I don't consider Lua or Java to be "compiled" because they don't produce native executable code. Oh, I guess gcj does, sort of. But, honestly, for what I do, I use Perl more than anything else. Java comes in a distant second. -- Schrodinger's backup: The condition of any backup is unknown until a restore is attempted. Yoda of Borg, we are. Futile, resistance is, yes. Assimilated, you will be. He's about as useful as a wax frying pan. 10 to the 12th power microphones = 1 Megaphone Maranatha! <>< John McKown ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
