Welcome, guest. You are not logged in.
Log in or join for free!
Stay logged in
Forgot login details?

Stay logged in

For free!
Get started!

Text page

code small - Newest pictures

≡≡ Basic machine code ≡≡

BASIC and Machine Code (Rule!)

I often wonder why, if people are using computers to save time, that they so often fall into the trap of letting computers actually waste their time. Why learn a new language every two years?

None of the new languages have added anything to the functionality of computers, none of them have made programming easier, none have changed the style of programming. (I have yet to be convinced that object-oriented programming was a new style of programming, let alone whether it justifies creating new language structures).

Have computers been able to do anything radically new since the introduction of so new many languages? No, computers refuse to perform any new functions. All they can do now, is to perform the same actions a little faster. The only thing which has increased is the program's desire for memory space. This is directly due to the unoptimised nature of these ugly languages.

I have always despised fashion. Of course new things must be tried, but when an item is performing well, why change, just for change's sake?

Sure, it is great for business. Changing languages every so often is just like changing operating systems, utterly pointless, but gives a lot of employees something to do for 6 months. (This is a highly prized function, in a world where mediocrity is the norm, and innovation must be stifled).


If you want to write a program quickly then BASIC is ideal. It uses simple, well defined structures. It has an easily understandable instruction set which, more importantly, makes the instructions easy to remember.

The reason I love BASIC is not sentimental, it is purely that if I want to produce, say a bit of code to produce data which another program will incorporate, it makes it much faster for me to write it. Speed. Speed makes money. Speed, well it wastes less of my life.

BASIC is clear, reasonably concise, and is very close to English. Combine this with the fact that BASIC was designed to be easy for people to learn and you will see why the choice of JAVA and JAVAscript for the language of the internet was so wrong. The whole point of the internet is that it was for everyone to be able to use, but "Oh, no", here comes big business to provide us all with another way of wasting our time.

The final reason I think BASIC has a bad press is this: People think it is slow. Well, if we use the argument that C users, or RISC advocates use, that the compiler, rather than the programmer, should be made to produce the most optimised code, then why not apply the same amount of effort to compiling BASIC? There is no job, whatsoever, that you can do with C, Perl, Java, [etc] that cannot be done in BASIC. Thus, if you could produce a very powerful compiler, to produce highly optimised code for them then you could just as well do it for BASIC.

Machine Code

Why fool you're self? You may think you are writing in a highly structured language, or an object oriented language, but in the end, the machine code the compiler produces will still be the same old mess of GOTO (jmp) statements that we were all told not to do when we learnt to program. In fact, there will be more. More pointless data passing to more pointless subroutines calling more subroutines... Just how anyone could even think of writing an operating system in anything other than M/C is incredible to me. (Oh, sorry I forgot, windoze is merely a fancy shell)

Think the compiler could do a better job at coding than you? Never. Ok, a compiler that actually checked every possible method of coding a high level subroutine, might, might just come up with a better version, just as Deeper Blue, finally managed to out compute Kasparov with shear brute force and ignorance (Oh, and a bit of reprogramming halfway through I understand!). However, that amount of processing is for just one subroutine... Modern computers cannot hope to be able to handle the numbers of permutations produced by even smaller program lengths.

Intel? There is a total absence of intelligence inside a computer. When you write in M/C you can shape the entire program to suit, you can optimise the variable list to make the most efficient use of the registers, you can write specific code, optimised for speed or length, in short, you can USE YOUR BRAIN. Which is something a computer will never be able to do...

I program in machine code because there is nothing more efficient, and because, given a rival program, coded in a high level language, you can always better them. (Run rings around them would be more accurate). This is something, all computer firms should be acutely aware of...

Some people say that M/C coding is tedious and error prone. Rubbish. If we had the benefit of the huge library of precoded subroutines which you get with a 'C' compiler then M/C would be simple even for the novice programmer as a first language. Or even for the business programmer, who's programming stretches to loading and chaining a few precomputed functions together.

Sadly, with the continued use of higher level languages, even the processor manufacturers are becoming influenced. Standard, Machine Code tricks, such as self modifying code are suddenly becoming illegal, registers are being 'hidden away' and the power of M/C programs are being castrated by over-protectionism. Sadly this trend will continue as the manufacturers continue to squeeze very old technology to go faster, not realising that the real power of their processors is slipping through their fingers. (The brain uses self modifying code).

Before I close I would like to make one last thing clear, why am I talking about 'Machine Code' instead of 'Assembly Language'? Well, firstly any distinction drawn between the two is meaningless since they are both different names for exactly the same code, whether represented as a number or as a mnemonic. Secondly, I do program with just the numbers sometimes, if I am feeling particularly masochistic!

This page:

Help/FAQ | Terms | Imprint
Home People Pictures Videos Sites Blogs Chat