<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Aug 28, 2016, at 12:40 PM, Tom Mitchell <<a href="mailto:mitch@niftyegg.com">mitch@niftyegg.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Aug 28, 2016 at 12:16 AM, Ron Garret <span dir="ltr"><<a href="mailto:ron@flownet.com" target="_blank">ron@flownet.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
On Aug 27, 2016, at 7:16 AM, Howard Chu <<a href="mailto:hyc@symas.com">hyc@symas.com</a>> wrote:<br>
<br>
> Ron Garret wrote:<br>
>> All of these are reasons why I dispute the claim that C is “a good portable assembler.”<br></span></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
> We live in a world of finite resources. We are all always operating under very tight resource constraints. Wasting cycles or bytes is not doing anyone any favors.<br>
<br>
</span>You can’t be serious.  Remember, we’re not talking about the efficiency of the compiled code here, we’re talking about the efficiency of the *compiler*.  Arguing that we should use unsafe languages in order to conserve electricity is just ridiculous.<br></blockquote><div><br></div><div>I once thought that modern processors would remove a lot of the frugal </div><div>habits of many old timers (Clearly emacs is not frugal.).  The resources of<br></div><div>a Raspberry Pi are luxurious... </div><div><br></div><div>However the IOT is emerging on some rather sparse resources</div><div>and those tool chains and programmers are wrestling with the old</div><div>fast vs space battles.  Stacks so small that recursion of any kind </div><div>is a big risk and should be recast as looping structures.  And no operating</div><div>system...<br> <br>For this and other reasons C is not going away quickly and the freedom</div><div>and ambiguous bits of C make optimization near impossible.<br>Instruction sets are growing in complexity so quality hand coding </div><div>has become very uncommon and a "portable" assembler is still</div><div>needed.</div></div></div></div></blockquote><div><br></div><div>The first half of my career I worked on autonomous mobile robots.  Back in those days (late 80’s, early 90’s) we didn’t have Raspberry Pi’s, we had 8-bit processors with typically 16k of flash and 1-2k of RAM.  If we were lucky we had a 68020 with 8MB of RAM.  We programmed those systems in Common Lisp.  On the 68020 systems we ran Lisp directly, and on the 8-bit processors we wrote code in Forth and in DSL’s whose compilers were written in CL because writing a compiler in CL was (and still is) really easy.</div><div><br></div><div>Yes, a portable assembler is a very handy thing.  But C is not the only option.</div><div><br></div><div>rg</div><div><br></div></div></body></html>