I am Hong Feng, a computer hacker (not the security cracker) from China Mainland, I used to study philosophy, mathematics, programming, economics and linguistics. I write in 2 natural languages (my native, Chinese in the traditional and modern forms, English as the foreign) and a number of programming languages. My most favourite programming languages are Scheme (a modern dialect of Lisp), and Standard ML.
I've written "Annotated Hackerdom Training Program", an 848-page-Chinese-book on how to train system programmers. You can download the pdf file of the book's cover and the table of content here. For the feedback of questions, suggestions, criticisms about my books, please send to:
Ultraneo GmbH Forchstrasse 100a CH-8125 Zollikerberg Switzerland
A new upcoming book is "Web Continuation Servers", a book about web application development for Web 3.x. Also pay attention please to the companion book "The Queen Scheme". Both books are published in English by "Singularity Press" in Switzerland.
Aug 22, 2008.
In short, `Web 3.0' means the Lisp takes over the conquer over the WWW. One direct result would be web continuation server starts to be the main technology for the web applications --- which makes the web applications look like the traditional desktop ones. IMHO, Lisp is the programming language that every programmer should learn and master.
Then what about the C/C++/Java and the scripting programming languages like Perl/Python/Ruby? I prefer the hybrid programming approach, your time spent on C/C++ can be protected this way: to write the atomic procedures in C/C++, and glue up all the resource on the server using the Lisp as the universal electronic glue. Implicitly, this requires a programmer to master at least 2 programming langauges: Lisp and C. The advanced programmers even need to know more.
Note that Lisp has a large family, and Scheme is my suggestion for the newcomers to learn first. Scheme has the superior elegance and simplicity. As a unique feature, the continuation is the first class object in it, so Scheme could become the lingua franca on the WWW application development. To creat a web continuation server is easy for the Scheme programmers. For more detailed information, please read my works, the "Web Continuation Servers".
Aug 28, 2008.
A Compiler can generate the target code to:
MNM Scheme is a modern Scheme compiler, which compiles the Scheme source code to the Intel 80386 native machine code. MNM Scheme is aimed to be R6RS compliant. MNM Scheme compiler takes two-step mechanism to work --- the first step is to compile the Scheme source code into the assembly code (still human readable), in the second step, an assembler (I wrote, also a part of the MNM Scheme compiler) transform the assembly code (from the first step) into the native machine code for the i386 architecture. Details of the implementation are kept into the Volume 2 of "The Scheme Algorithm Langauge", Singularity Press.
Nov 20, 2008.
The assemblers used in the Linux kernel project are as86 and GNU AS, but without a linker (ld86 for as86, and ld for GNU AS), both can not generate the machine code. That is why I designed MAS, the assembler for MNM Project. MAS translate the assembly code directly to the machine code, and they can be loaded into the memory to run and drive the computer (no ELF, COFF or whatever). At the moment, MAS only works on x86 arch (8086/8088 real mode, and 80386/80486/Pentium the protection mode). One device you need to work with MAS --- an FPGA based development board which Ultraneo GmbH designed and sells, it can take the assemble code from your desktop, and translates the byte stream into the binary stream, the output can be saved into the on-board memory, and using the binary data kept in a USB flash memory, you can boot up your desktop computer (if your PC has the USB port). Your old BIOS can be replaced by the output of this device too.
Dec 06, 2008