About Version 3.00

languageONE is a programming system that mimics a 3rd generation langauge by implimenting a set of assembler macros. These macros control access to a number of standard library routines that provide lower level runtime services.

The entire system is written in assembler and therefore a languageONE program is not compiled. Rather, it is assembled and the required runtime libararies are statically linked.

Version 3 brings a strategic change of focus by targeting 2 different assemblers rather than the one (NASM) that has been targeted in previous versions. Although 2 different versions are more dificult for me to maintain, it was made necessary by virtue of the fact that there is only one real source level debugger for Windows. To this end, and with hope that languageONE will be more accessable on a Windows platform, the system now targets MASM for Windows while retaining NASM as the target on Linux.

languageONE can be coded "raw", or it can be coded "cooked" and submitted to the reWriter to produce native code. Version 3 extends the value of the reWriter in that it will now produce NASM syntaxed code for Linux and MASM syntaxed code for Windows. The "cooked" code will remain the same for both OS's and it is this code that defines languageONE.

Because languageONE is infact assembler, albiet in disguise, it provides a good platform for developing assembler applications. Indeed the QuickSort algorhythm provided by the system was initially coded in languageONE and then quickly modified to native assembler.

The assemblers

Because macro preprocessors vary with each assembler, the decision to target 2 different assemblers, has come with a great deal of work. I am happy though that the decision was the correct one as languageONE on a Windows system will use ML64 (MASM->Microsoft Macro Assembler) and can be debugged using Microsoft's VisualStudo. The Linux version remains as is, targeting Netwide Assembler (NASM), and relying on GDB for debugging. [DDD is a GUI front-end for GDG and is excellent in combination with GDB]

Free to use

languageONE is free to anyone that would care to use it. At present it supports Linux and Windows terminal programs and GUI applications via a web browser. It will continue to evolve over time. From the download tab you can download the latest version and begin.