Nothing

From Esolang
Jump to: navigation, search

The Nothing is an esoteric programming language designed for bug-free programming.


Design philosophy

In the current software industry focus lays on solving complex problems by using complicated algorithms. The language "Nothing" was created to shift this focus from complex problems towards the expectations of the programmer and the user. This way even the most complicated programming challenges swiftly disappear as if they never have existed before. Basically, the main strengths of the language "Nothing" are:

  • to create bug-free and portable software
  • to shift focus from complex technical solutions towards the expectation of the programmers and users

Program structure

Nothing has a very simple and straightforward structure. It is a typeless language which does not use any of the known programming constructs like loops, choices and the like. It is the only language which can be considered 1GL, 2GL, 3GL, 4GL and 5GL all at the same time.

Example of a Nothing program implementing "Hello world"


Note: if the output does not meet the expectation of a "hello world"-program, this does not necessarily mean the Nothing program has a bug. The programmer primarily is supposed to contemplate on his expectations, and has to accept that a Nothing program always is bug free.

Compilers interpreters

A Windows graphical IDE here.
A compiler implementation in BASH Shell Script can be found here.

Quine

A Quine is very easy to implement. As a matter of fact, each Nothing program is a Quine by itself. Also all Nothing programs have a palindromic nature.

Advantages

  • It is very easy to learn.
  • All Nothing programs are guaranteed bug-free.
  • Sizes of executables are extremely small.
  • The only language which is compatible with all hardware platforms.
  • Most existing compilers and interpreters can also run Nothing programs.
  • Compared to other languages Nothing offers superior performance.

Disadvantages

  • A known disadvantage is the amount of time it may take to adjust one's expectations of a Nothing application appropriately. The acceptance by users and programmers typically is time-consuming and sometimes does not happen at all.
  • As Nothing programs may not have visible output, this often leads to the false assumption that the program does not work correctly. However all Nothing programs work correctly by design of the language.
  • Nothing programs are hard to distinguish from one another. Most Nothing programmers therefore use unique and descriptive filenames.

Nothing and the real world

Programs created with the Nothing language seem to be rare, however, as Nothing applications have no output it is almost impossible to identify their success rate. Therefore, it can safely be assumed that Nothing applications are in fact wider spread than currently can be observed. It is expected that the amount of implementations in the Nothing language will increase dramatically in the near future.

Nothing Website