From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 30 Oct 2012 09:07:07 +0100 From: tlaronde@polynum.com To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20121030080707.GB548@polynum.com> References: <15723310.yIARpoJMSL@coil> <4824335454f1b1d47dbc8439b4af8ea3@kw.quanstro.net> <20121029223541.8C198B827@mail.bitblocks.com> <0f05642b113b3ecfc160e82a9ca4db32@brasstown.quanstro.net> <20121029232652.5160BB827@mail.bitblocks.com> Mime-Version: 1.0 In-Reply-To: <20121029232652.5160BB827@mail.bitblocks.com> User-Agent: Mutt/1.4.2.3i Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: Re: [9fans] caveat... optimizer? the `zero and forget' thread on HN Topicbox-Message-UUID: ccf9389e-ead7-11e9-9d60-3106f5b1d025 On Mon, Oct 29, 2012 at 04:26:52PM -0700, Bakul Shah wrote: > > Best way to save developer time is to program in a HLL and not > worry about bit fiddling. C is not a HLL. The HLL will have to have a compiler. If the compiler is, finally, machine instructions, how does one guarantee that it does exactly what intended on different architectures. If the next level language, near machine but high level is used---it's C---you are relying on what you wanted to escape from... The only mean to be sure is to have a HLL that allows only HL instructions, like macroscopic, due to its complexity, escapes from the uncertainty of quantics effects. This is to say, the language will not allow you to do everything. The practical solution is to have a language that is near the machine, sufficiently abstracted from the machines that assembly is scarcely needed, with some small set of primitives, a small manual, a clear (once again: small) set of what is guaranteed and caveats about what is not, and let the programmer decide without the compiler "guessing" or improving---and a way of writting sources so that a programmer can optimize his code on this level (this is litterate programming). C was very near a perfect practical solution; C89 was not bad; C99 has improved some things but added too many things on the border (where there is already uncertainty about what has to be done because "it depends"). -- Thierry Laronde http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C