Where should the type information be 119
Herman, et al,
Where should the type information be 122
Steve Richfie1d I'm told it's been done - specifically, as I understand it, the AS-400 got it right. The key is to not store-distribute software as machine code, but as byte code...
Point of clarification. My '754 replacement proposal does NOT include implicit typing. Maybe in another decade or two ...
Where should the type information be 120
snip If you mean that you must consider every aspect of the Burroughs large scale system architecture together and not try to...
I think Burroughs had it right, but the arguments are really complex. The sum total was that their system was virtually crash-proof - the things that normally crash computers had no way of even being stated in their architecture. You can't really argue the issues one-by-one, but rather they must be taken as a whole. For example, to compute a subscripted location, you did not (and indeed could not) simply add the offset to the origin of the array. Instead, you performed an array access via an array descriptor that was in memory protected from your potential modification. Full subscript checking was a fully automatic part of these operations. These sorts of complex operations did NOT slow these computers down at all, as they had the additional hardware to perform all of the extra work in parallel.
The mess we are now in came from two sources, early micros where there was a severely restricted supply of transistors, and early supercomputers where the transistors themselves were very expensive, e.g. the hand wiring of a CRAY. Until we shed this legacy, computers will continue to be unreliable contraptions, with people arguing over how things "should" be to save a cycle here and there. How many cycles are lost when your system crashes? How many cycles are lost because you are unemployed because of uncontrolled outsourcing?
The perfect optimizer theory: With a perfect optimizer, it doesn't make any difference exactly how you write your program, the binary comes out the same.
Compiler complexity goes as the SQUARE of the number of syntax and semantic features, because the writer must consider all possible interactions.
Put together, this means that languages should be SIMPLE like FORTRAN rather than C-C++, but with an optimizer to recognize cumbersome code to do simple things that is replaced with the appropriate machine instruction(s) to do what is wanted.