When reading Knuth a long time ago, I never cared much for his MIX code; I just skipped over it. Why should I waste my time trying to understand some assembly code for a non-existent computer? I used to like elegant instruction sets: the PDP-10 and the Motorola 68000. National Semiconductor came out with a yet better instruction set in their 32000 microprocessor. We seriously thought about using the 32000 in our medical lasers at Coherent, but when we talked to the National Semiconductor rep, they had totally inferior in-circuit emulators and such development hardware. We went with the 68000. As hardware technology advanced, we had prefetching, simultaneous instruction execution, pipelining, and so on. The nail in the coffin for me (or should it be the stake through the heart?) was when I was told by someone I trusted that modern compilers can produce faster executing code than all but the most expert hand coding of assembly. At that point, I changed over completely, and now I just couldn't care less about instruction sets. Warren, what is this better architecture that Intel ran up a flagpole? What should we search for to look it up? Why did Apple switch from the 68000 to the x86? Steve Jobs may have been an asshole, but he was a smart one. Yes, backward compatibility is very important. Nobody wants to be endlessly rewriting their code; we want to move on to newer and better things, not rehashing the old. What makes a computer language "better"; that seems to be a matter of personal opinion. I did my 68000 coding at Coherent Medical in C, and I liked the language. Later, Coherent switched over to Windows based controllers and C++, but by then I had moved from software engineering to optics and laser engineering. I never learned C++, but I can appreciate its usefulness. I'm still fond of Fortran. I tend to detest new languages, and the only one I've embraced is Python. Once at a computer show, I asked a Forth guy what's so good about Forth. He told me astronomers like it, but otherwise go read about it. When I asked a real astronomer, he said "Nah, we don't use Forth." Then there was Smalltalk; it was supposed to solve all the problems of the universe. I said that when it takes off, there will be plenty of books to read about it; I'm still waiting. So, why are we not speaking Esperanto? Maybe because its only use is to converse with fellow fanatics. -- Gene
________________________________ From: Warren D Smith <warren.wds@gmail.com> To: math-fun@mailman.xmission.com Sent: Saturday, April 19, 2014 3:55 PM Subject: Re: [math-fun] math-fun Digest, Vol 134, Issue 40
Hah! Knuth has 8x8 bit-matrix instructions in MMIX! Well, a lot of people, including me, have been saying for a long time instructions sets sucked in some easily-improvable ways. Let's hope Knuth gets listened to. He's trying harder than most of the whiners.
Thing is, I think Intel actually KNOWS they've painted themselves into a corner with a fundamentally bad architecture, but they did an experiment where they tried to make+sell a better one and nobody bought it since their old x86 software would not work on it. The lesson they learned was: to hell with good architecture, the only thing that matters is backwards compatibility back to the stone age.
And I think to a considerable extent the same is true with computer languages. The amount of wasted effort that has gone into creating better languages which then do not achieve commercial success and high use, is tremendous. (And human languages too, e.g. why are we not speaking Esperanto?)
-- Warren D. Smith http://RangeVoting.org