What is Java2k

Java2K is a new programming language, who's features are:
  • Java2K is not a deterministic programming language, but a probabilistic one. Even for built-in functions, there is only a certain probability the function will do whatever you intend it to do. All Functions have two different implementations. At runtime, based on a pseudo-RNG, the actual implementation is choosen. This is in line with common physicalist assumptions about the nature of the universe - there is never absolute security, there is always only probability.
  • Java2K uses a 11-based number system, which is a very good approximation of the 10-based decimal system for many purposes, including counting up to and including 9.
  • Java2K is a programming language with release versions that come in triple digit sequences, just like plain vanilla Java.
  • Java2K has numeric restrictions on valid keywords and instructions, which means you have implicit error checking at sourcecode level - a feature that makes Java2K highly secure. You cannot write a ILOVEYOU virus in Java2K!
  • Java2K has a garbage collection: memory is freed when the program exits, or, at random intervals, whichever comes first.
  • New version 7.3,with a completely new interpreter written in Python. Finally, it is safe to embed Python in Webpages!
  • java2k is an esoteric programming language (sometimes shortened to esolang)

Why ?

Because plain Java sucks. The more important reason is this: Because (almost) all builtin functions in Java2K have only a 90% chance of returning the correct result, actual results often deviate more-or-less from expected results. So, the real challenge is to develop techniques of getting a higher probability of correct results !
It is relatively easy to write a function that will return a one 90% of the time, but it is more difficult to write a function that has a 99.9999% chance of doing so, and even more difficult of doing this to a function that returns something as simple as the number two.

What is Esoteric programming language?
An esoteric programming language (sometimes shortened to esolang) is a programming language designed as a test of the boundaries of computer programming language design, as a proof of concept, or as a joke. There is usually no intention of the language being adopted for mainstream programming, although some esoteric features such as visuospatial syntax have inspired practical applications in the arts. Such languages are often popular among hackers and hobbyists. This use of esoteric is meant to distinguish these languages from more popular programming languages.
Usability is rarely a high priority for such languages; often quite the opposite. The usual aim is to remove or replace conventional language features while still maintaining a language that is Turing-complete, or even one for which the computational class is unknown.


Download

Starting with the brand new version JAVA2K 7.3 PRE-GAMMA, I rewrote the interpreter from scratch in Python. It includes DIE.py, the python-based IDE.
You can also download the old, now obsolete DIE for Win32, the Java2K Integrated Development Environment, including all binaries and files from the SDK.
You can download DIE for Linux, the Java2K Integrated Development Environment, including all binaries and files from the SDK.
You can download DIE for the AMIGA, the Java2K Integrated Development Environment, including all binaries and files from the SDK. (Tested with WinUAE only, comments welcome).

The Java2K Sample programs

  • Test instruction, a minimal way of getting the number one. It was used in the development cycle to proof the compiler is bug-free.
  • Obligatory hello-world program. Note that this program is not unlucky, because its name is a 11-based name which is actually 14.
  • A sample program will print out the letter F. This in itself would justify its inclusion in the Java2K SDK, but there is more: This example shows you how to declare AND use variables, at the same time.