Java++ is an imperative, interpreted esoteric programming language designed and implemented by NoyName.
Despite its esoteric nature and syntax, the language is fully functional and computationally powerful enough to implement complex algorithms, including a fully working. The reference interpreter is written entirely in Python.
All source files must use the .jpp extension.
You can use the @USING:: directive at the beginning of your lines to import modules (currently works as a stub for future library support).
@USING::STD
@USING::POS
The interpreter manages data using a dynamic storage model under the hood. Do not specify data types when creating variables; the parser handles types automatically based on the assigned value.
// Syntax: new.variables.create.stack [name] = [value]
new.variables.create.stack age = 25
Constants are immutable and will throw an error if you attempt to overwrite them.
// Syntax: new.constant.create.stack [name] = [value]
new.constant.create.stack name = "Hello, Mike"
Java++ supports both dynamic arrays and padded, fixed-size arrays.
// Dynamic array (unlimited length)
new.array items _ = {10, 20, 30}
// Padded array (automatically padded with zeros up to length 5)
new.array items 5 = {10, 20}
- Append: Use
.append(value)to push an element to the end of the array. - Read: Access elements using standard
array[index]syntax with a specific integer index.
Conditional branching is handled via the new.if.typedefender statement.
new.if.typedefender (age == 25) {
print.consolewrite.puts("Age is exactly 25"!)
}
The loop statement requires the type.integer keyword for the iterator variable. Code block modification utilizes plusplus (+1) or minmin (-1) keywords.
new.for.looping (type.integer i = 0; i < 3; i plusplus) {
print.consolewrite.puts(i)
}
Runs continuously as long as the specified condition remains true.
new.looping (condition)
Evaluates the expression inside ( ) and outputs it to the terminal. To print a clean string without raw quotes appearing in the console, terminate your string with "!.
print.consolewrite.puts("Hello, world"!)
Reads terminal input from the user and assigns it directly to a variable.
input.new.users.putss(counter)
To immediately terminate program execution with a specific exit code, use quit.program.uwu.
quit.program.uwu(0)
@USING::STD
new.function.script Test() {
@USING::STD
print.consolewrite.puts("Hello, Java++");
}
Test();
Test();
Test();
quit.program.uwu(0);
Developed by NoyName (2026).