> the possibility of automatic code generation is potentially something that > can, over time, change the problem domain.
Particularly because it allows for both dynamic structure and efficient runtime. In the end, we have finite resources available, so efficiency allows for systems that otherwise would be impossible in practice, which can in turn lead to new insights and generalizations. > for example, people may take it for granted that they can push out some 3D > geometry and have it appear as a 3D object on-screen, execute "p**q" and > raise one quaternion to the power of another quaternion, or simply share > objects and call methods between several unrelated programming languages, or > run the same program on multiple combinations of CPU+OS. > > but, at the lower levels, lots of work goes into making all of this work: > 3D rendering is not a simple task in general; > nor are things like quaternion exponents (well, maybe, this mostly boils down > to the Taylor Series); Quaternions are more Linear Algebra and less Taylor series. An interesting comparison between programming languages and math is that Geometric (Clifford) Algebra is the high-level language to Linear Algebra, which is the assembly language. GA gives lots of insight into seemingly unstructured LA matrix representations. Keep in mind that GA first appeared in the mid 1800s and has only recently (in the grand scheme of things) been utilized extensively in physics and CS. It's not even taught as part of the canon (calculus, diff eq, LA, abstract algebra, analysis) of mathematical knowledge except in very few specialized labs despite its clearer structure and higher level constructs. Something similar could easily happen to programming languages. http://staff.science.uva.nl/~fontijne/phd.html wes _______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc