Newsgroups: | comp.compilers |
From: | Dave Lloyd <dave@occl-cam.demon.co.uk> |
Keywords: | C++, optimize |
Organization: | Compilers Central |
References: | 95-07-068 95-07-141 |
Date: | Mon, 31 Jul 1995 13:56:56 GMT |
This old chestnut keeps cropping up again and again with every new
language and then reiterated for all the existing languages.
This has been resolved properly many times and promptly ignored by
the next language committee. Algol 68 did a very good job with
collateral and serial evaluation which leads to no surprises once the
easy fact that left precedence does not imply left ordering is
accepted. The Algol principle is don't over specify what needn't be
specified - and this is not just for compilers to have some edge to
get additional optimisations but more importantly to avoid possible
hurdles when porting to radically different architectures (which is
usually where C and C++ have appalling problems with the gap between
language lawyer and programmer expectation).
But as far as I'm concerned the definitive work on ordering and
side-effects has to be Tony Hoare's Communicating Sequential
Processes which is a must read and the language OCCAM, its child, is
a must teach!
----------------------------------------------------------------------
Dave Lloyd Email: Dave@occl-cam.demon.co.uk
Oxford and Cambridge Compilers Ltd Phone: (44) 1223 572074
55 Brampton Rd, Cambridge CB1 3HJ, UK
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.