I have been programming for 50 years. There is always the personal challenge of "keeping up with the edge".
In the wire-board and punched card days it was the ability to choose the optimal sort for your data (almost everything involved sorting). Then came the cpu optimizations... write self-modifying code that fit into the 64 byte cache. Or pick specially chosen chebyshev values optimized for your sin function. Or do function-maps using the Translate-and-Test instruction. Or micro-coding your loops to enhance the CPU microcode for your program. Then it was CMOS ASICs and FPGAs so your 16-bit multiplies could REALLY pipeline. Then PASCAL showed up and you weren't leading-edge if you didn't do types. and so on... Now you're not even in the game if you aren't at least doing $F_\omega$. (see Lambda: The Ultimate Sublanguage) https://dl.acm.org/ft_gateway.cfm?id=3342713&ftid=2076175&dwn=1&CFID=149744317&CFTOKEN=2f53f2232d5db617-85952791-F402-7A5C-37FE69F835BDD124 It's what all the leading-edge kids are learning in school. Next week you're behind the times if you aren't proving your programs correct. You think your code "works"? Prove it. And in two weeks you need to be using $\lambda{}C$. Oh, wait... I'm already behind the edge. All of this learning is time consuming and painful. But when the Boeing plane crashes and the Airbus plane loses its fly-by-wire and the Arianne rocket blows up and the Therac-25 kills patients and the Uber runs down pedistrians and the facial-recognition AI system sends you to jail...It is time to get serious about correct programs. Since Axiom is computational mathematics it seems to be a good place to start. Tim "it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that" -- The Red Queen in Through the Looking Glass" _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org https://lists.nongnu.org/mailman/listinfo/axiom-developer