Uyjhmn n

From Esolang
Jump to: navigation, search

Uyjhmn n is a programming language that was written in Visual J# 2005 by Truttle1. (Why Visual J#? Well...why not?) Uyjhmn n was designed to annoy the user by combining verbose syntax with a terrible looking IDE that rushes the user. It was named after the gibberish that gets typed when you bang your head on the keyboard out of frustration.

IDE

The horrible...I MEAN...AMAZING IDE!!!

All Uyjhmn n code must be written in the Uyjhmn n IDE. If you try to copy code from another IDE or a text file and paste it into the Uyjhmn n IDE, the IDE will simply close. The IDE features a white textbox where code is inputted. After the timer highlighted in cyan runs out, the top line of the white textbox is removed and it is added as a new line to the green textbox, which contains all previously typed code. The timer is then reset to 10 seconds. The text in the green textbox is in Webdings so you can't read it, and it is read only so you can't fix it. If the top line of the white textbox happens to be a bad command, it is not added to the green textbox, and the amount of time that the timer resets to gets divided by two to punish the user for writing an error. If the top line of the white textbox is empty, the program code currently in the green textbox is immediately interpreted. The IDE also features two radio buttons that do nothing, as well as a progress bar that constantly fills up and resets itself, but ultimately does nothing useful. Above the input box is a "JUST INTERPRET MY CODE ALREADY" button that allows you to quickly run your code at the expense of allowing you to copy it. Uyjhmn n code is displayed using a console that is built into the IDE.

NOTE

Even though PASTING CODE is disabled, you can still select and copy the code in the green textbox in case you want to use it later. (Even though you would need to re-type it)


Commands

Uyjhmn n features commands that are annoyingly verbose and usually don't fit in the tiny textbox you are allowed to use. They also need to be typed in all caps. Lowercase letters inside of square brackets (such as [a]) represent arguments that the user can specify.

Command Description
PRINT THE CHARACTER WITH THE ASCII VALUE [a] Prints the character with the ASCII value of [a] onto the console.
DECLARE THE NEW VARIABLE [a] Defines an integer named [a]. All variables in Uyjhmn n are integers. If two integers have the same name, only one will be usable, and the other will be unaccessable for all eternity.
OPEN THE VARIABLE [a] Sets [a] as the open variable. The open variable can have math operations performed on it, it can receive input, and it can output it's value.
ASSIGN [c] TO THE OPEN VARIABLE Assigns the open variable to a constant integer value.
ADD [v] TO THE OPEN VARIABLE Adds [v] to the open variable. [v] must be another variable, not a constant.
MULTIPLY THE OPEN VARIABLE BY [v] Multiplies the open variable by [v]. [v] must be another variable, not a constant.
PRINT THE OPEN VARIABLE'S CHARACTER Prints the character with the ASCII value of the open variable onto the console.
PRINT THE OPEN VARIABLE'S VALUE Prints the open variable's numerical value onto the console.
DEFINE THE NEW LABEL [l] Defines a point that can be jumped to. (Because of course this language uses GOTO-like statements)
JUMP TO [l] IF [v0] IS EQUAL TO [v1] Jumps to label [l] if the values of variables [v0] and [v1] are equal.
JUMP TO [l] IF [v0] IS GREATER THAN [v1] Jumps to label [l] if the value of[v0] happens to be larger than [v1].
JUMP TO [l] IF [v0] IS LESS THAN [v1] Jumps to label [l] if the value of[v0] happens to be smaller than [v1].
GET INPUT AND STORE INTO OPEN VARIABLE AS A CHARACTER Receives a single character as input from the user and stores it's ASCII value into the open variable.
GET INPUT AND STORE INTO OPEN VARIABLE AS A NUMBER Receives a numerical value as input from the user and stores it's value into the open variable.
END THIS PROGRAM Yes

Examples

Hello World

Here's a basic Hello World program. It outputs the phrase in all capital letters.

 PRINT THE CHARACTER WITH THE ASCII VALUE 72
 PRINT THE CHARACTER WITH THE ASCII VALUE 69
 PRINT THE CHARACTER WITH THE ASCII VALUE 76
 PRINT THE CHARACTER WITH THE ASCII VALUE 76
 PRINT THE CHARACTER WITH THE ASCII VALUE 79
 PRINT THE CHARACTER WITH THE ASCII VALUE 32
 PRINT THE CHARACTER WITH THE ASCII VALUE 87
 PRINT THE CHARACTER WITH THE ASCII VALUE 79
 PRINT THE CHARACTER WITH THE ASCII VALUE 82
 PRINT THE CHARACTER WITH THE ASCII VALUE 76
 PRINT THE CHARACTER WITH THE ASCII VALUE 68
 PRINT THE CHARACTER WITH THE ASCII VALUE 33
 END THIS PROGRAM

Video

https://www.youtube.com/watch?v=2_-D1GLEs-8

External Resources

IDE: https://www.dropbox.com/s/56gdd18n2j0912j/uyjhmn%20n.exe?dl=0

Java Interpreter (So you can use it on Mac, Linux, and Windows 10): https://github.com/TermerMC/jUyjhmn-n