When ARM came out it was a sizzler! Bravo BBC! It still is a sizzler in many ways but usually laden with the huge baggage of Linux or whatever small OS MS ships these days. And then they go and stick a bloated JVM on top of that! It’s criminal!
I developed a minor fondness for RISC with the Data General Nova and Eclipse competitors to DEC PDP-11. I’ve also worked on ARM under Windows CE where I wrote my own replacement for their GDI. I wrote a much bigger implementation of the general Windows GDI that also worked faster. Coding efficient bezier and line drawing functions in ARM Assembler / C/C++ was Kewl! Especially as the device had no Floating point so I had to generate integer implementations and as well develop fixed point transcendental functions. (Incidentally the MS compiler generated very efficient code)
I’m not sure what interesting means? From my point of view probably very low BIPS / watt would be a start. Perhaps lots of concurrent execution units as well?
C was designed as a systems implementation language. I was doing a lot of PDP-11 assembler language programming when I got the first C report, and my first reaction was “++, --? Where have I seen this before?”
It, and its predecessor BCPL which lived on Multics, were good for this stuff. And more complex stuff - we build a lot of complex EDA tools out of C when I was at Bell Labs.
Though I was familiar with object oriented language long before C++ - the language I designed for my dissertation used these principles - I was never fond of it. I took a class in C++, but since I was a manager already at that time I could excuse myself from actually using it.
Oh yes, I think not fixing a bug in Sun OS is excusable today. I bought some Sun 3s for my group, just before Sparc and Solaris started, but I’m old. I just went to the IEEE SPARC ceremony, and not a lot of people there ever used Sun 3s.
I thought C was a dumbed down derivative of ALGOL with abbreviated syntax. It was certainly in that family and distinct from say COBOL and FORTRAN. It was invented to write the UNIX operating system.
ALGOL/ESPOL/NEWP had been used to write the Burroughs Operating system well before C and UNIX appeared. ALGOL is a quite sophisticated language compared to C which to my mind is one step above assembler.
There were other systems and languages similar to the Burroughs exercise but I’m only familiar with Burroughs.
As in, the sort of thing that you have to petition for weeks of supercomputer time to run? Yup, that’s all C. Maybe it should be Fortran, but most young physicists don’t know Fortran, and those who do are usually sufficiently traumatized by it (because maintaining legacy code is always traumatic) that they won’t use it whenever given the choice.
There is a huge difference between Fortran IV and Fortran 2008. So much so that really the only thing they have in common is a name. It is a great same that people somehow get blinded to the capabilities of Fortran 2008 due to some sort of race memory of Fortran IV. Fortran 2008 makes C look like the glorified assembler that it is. Teaching a young scientist C is a pretty brutal thing to do. Indeed C is much closer to Fortran IV than Fortran IV is to Fortran 2008.
People get rather bemused by the idea of an OO Fortran, but there it is. You get the usual abstractions you expect in an OO language in addition to intrinsic support for a number of high performance parallel paradigms directed at numeric computing. Better still, good implementations of these get you very good speedups, better than you might expect with the more mundane paradigms. Making people code with MPI calls is cruel.