I started to setup a testing environment for development of web code using the AngularJS library. As a Python programmer, I have gotten used to using the interpreter to develop in a more-or-less test driven fashion, using REPL (Read, Evaluate, Print, and Loop). Mozilla's C++ based open source JavaScript environment, Spider Monkey, has an interactive JavaScript shell, as well as full source for the whole environment.
I was curious about the implementation and started reading through the source. This is the complete JavaScript environment that supports all of the platforms that Firefox runs on, including Linux, Mac, Windows, Intel ARM, MIPS, Sparc, the whole Universe. (Well, the whole planet, anyway. Maybe that's why the fox is embracing the entire globe.) Major subdirectories in the SRC tree include ASSEMBLER, BUILD, CTYPES, DEVTOOLS, JIT, JIT-TEST, PYTHON, SHELL, TESTING, TESTS, V8, VM, and a few others. SRC.ASSEMBLER.ASSEMBLER includes C++ code for ARMAssembler, MacroAssemblerARM and MacroAssemblerX86.
Looking at the (C) Directives in the comment blocks, it was interesting the different companies and schools that had contributed "chunks" of knowledge towards definition of this JavaScript cross-assembler. The Sparc code was from (C) Mozilla, while the MIPS code was (C) Apple (no surprise!). The biggest surprise to me was the (C) for ARM assemblers - University of Szeged. It is a large research university in Hungary which is located in Hungary's third-largest city, Szeged. According to the Academic Ranking of World Universities by Shanghai Jiao Tong University (2003, 2004, 2005), the University of Szeged was ranked 80-123rd in European Universities and first in Hungarian Universities.
I shouldn't have been surprised. John von Neumann, a Hungarian mathematician demonstrated in 1945 the concept of the stored-program technique of computer architecture which allows computers to execute different programs without hardware modification. He demonstrated the use of a main routine calling subroutines stored in libraries. While Edward Teller (another Hungarian!) is generally regarded as the father of the H-Bomb, it was von Neumann that "proved" through modeling that Deuterium, Tritium and Lithium Deuteride would burnwhen ignited by an atomic bomb. In 1946 von Neumann collaborated with Klaus Fuchs on further designs of atmic weapons, and in late 1946 von Neumann and Fuchs filed a secret Patent on Improvement in Methods and for Utilizing Nuclear Energy which used radiation implosion to compress Deuterium and Tritium for burning.
He became a member of the Atomic Energy Commission and participated in targeting studies for ICBMs, and helped develop the concept of MAD, Mutually Assured Destruction, as a method of stability.
When I took my first two courses in Computer Science some 25+ years ago, the Computer Science professor that made the greatest impression on me was Donald Knuth, and his three volumes on Computer Science. Donald Knuth cites John von Neumann as the most influential Computer Science professor.
No comments:
Post a Comment
I welcome your helpful comments, but please remember these are just random musings on life, not life philosophy. YMMV!