Tuesday, October 6, 2009

Surrogacy with NOOP

NOOP fundamentally refers to NO OPeration or NO Operation Performed in assembly language world. So why the new language from Google is termed the same?

Google is currently developing a language, the binaries for which can run inside Java Virtual Machine (JVM) i.e. the program will look different than a java program but after compilation it will result in java byte code. This is interesting since the purpose of this project is to eradicate the programming challenges without impacting the final executables.

Though we have seen significant evolutions in programming languages (all intended to improve the readability or ease with which it can be understood) but still maintenance of applications continues to be a challenge. Primary objective of high level language was to have programs in human readable form. But quite often we encounter situations when we find it hard to interpret (individual source code line may be making sense but the overall output of the program may not be clear). In today's world when sharing of components or applications are increasing e.g. open source software, it important to keep the source code clean so that it is readable and modifiable.

So it is not enough to produce code which works but it is equally important to have low maintenance. Infact there are tools or procedures to measure the quality of code e.g. Cyclometric Complexity Number (CCN) which measures the complexity of the source code.

Having said that, NOOP is indented to solve the programming challenges without impacting the end product. Surrogacy in some form or overall NO OPeration.