LANGUAGE ONE

Welcome to the home of languageONE. languageONE is the both the newest and the oldest of programming languages. By the strictest of definitions it is assembler code, but you would never know that by looking at it. More broadly, it is a set of macros that provide for all the functionality required when programming. And it is more. It provides a framework to support the macros in an assembled program and systematically defines the structures required to manage data and program flow. languageONE povides for 64bit coding and can be used "as is" or can be used to gain an indepth knowledge of the system to realise the full power of the language. Unlike some other systems which allow inline assembler languageONE is assembler, so if you want to write some assembler code, just do it. languageONE is extensible (able to be extended). Because the language is based on macros you can code a solution, give it a macro name and it then becomes part of the language. Additionally, the existing systax can be changed to suit your programming style. ie. The delivered syntax allows 'isGreaterThan', 'GT' or '>' in decision making. However, as this is just a predefined token and accessable via an %include file, your are free to modify this to whatever you prefer.

This is what makes languageONE not just another programming language. It makes it THE programming language.

So..What is a macro

a macro is a single instruction that expands automatically into a set of instructions to perform a particular task.And what makes macros so powerful is that the preprocessor of a macro assembler allows you to code parameters that may differ each time the macro is expanded. Consider the following assembler macro:-

    %macro Initialise 1-2 ' '
   
mov al, %2
   
mov rdi, %1
   
mov rcx, [%1-8]
   
cld
    rep stosb
    %endmacro

this probably doesn't look too familiar but when coded in languageONE it looks like:-

   Initialise w_FirstName    This is how you would initialise a data item

Get Involved

languageONE is free to anyone that would care to use it. At present it supports Linux 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.

The assembler

Because macro preprocessors vary with each assembler, NASM (a free Linux assembler) has been used to develop languageONE. NASM comes with most versions of Linux and is also free. It also supports Microsoft Windows. Please refer to www.nasm.us

A couple of debuggers

Debugging macros is a little more tricky than normal code but there are a couple of free debuggers that perform admirably