Skip to content
My version of a simple language that anyone can learn.
Python Shell Batchfile
Branch: master-version
Clone or download
Pull request Compare This branch is 75 commits ahead, 1 commit behind JoshSCF:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A simple language that anyone can learn.
- based on (a forked version of) the original idea, JoshScript, in my copy of that branch.

A huge thanks to derns#5715 ( for completely rewriting the source code
which was published as version 1.2. He also released the language-josh package on the atom text editor!
This allows you to get your syntax highlighted when writing code in JoshScript.

What's new?

JoshScript 1.3 has been released and contains a new code which cubes the value.

Release history - new in older versions:
JoshScript 1.2.2 release contained a few bug fixes and updated functions.
JoshScript 1.2 included a new ability to loop! Examples and usage will be coming soon.

Operations (codes for usage)

- uses 4 characters, each from a group of 2-8 ascii (basic
latin) characters, a bit like low-level computer programming.
eoo1 / "JOSH" increases the value by 1

eo-1 / "josh" decreases the value by 1

eox2 / "Josh" multiplies the value by 2

eod2 / "josH" divides the value by 2, rounding down to the nearest integer

eopc / "JOsh" outputs the ascii symbol with Unicode number equal to current value

eooi / "JoSH" takes integers as input and sets the value to that

eoic / "JOsH" takes characters as input and sets the value to ascii number of char

eooo / "jOsh" resets the value to 0

eoxx / "JOSh" squares the value

exxx / "jOSh" cubes the value

eoop / "JosH" outputs the current value (aka. print/echo)

eoom / "joSH" moves one to the right on the tape reel of values (aka. memory)

eo-m / "joSh" moves one to the left on the tape reel of values (aka. memory)

eol1 / "JoSh" starts loop if the value is not 0, else jump to matching end loop tag

eolo / "jOsH" ends a loop

( starts notation space

) ends notation space



> A

JOSHJoshJoshJosh (hiya)JoshJoshJoshJOSHJOsh

> A


> 0123456789


> Hello, World!


  1. If execute_script.bat* has the text "D:\Documents\Dev\JoshScript\source\",
    change it to "" (original name "", uses the relative file path
    of your downloaded folder).

  2. If you would like to use an execute_script.bat* for (GNU/)Linux or one that
    has "mac"/"linux" in its name and are going to run it from the command line,
    you need to add executable rights (change mode bits) - using this command
    in a terminal (command line) app, opened in the folder that has the file:

chmod +rx
#or:# chmod +rx exec_script.mac.command
  1. Open a text editor, write a program using the codes
    (above) of E-Script / JoshScript then click "Save As".

  2. Change the file type to "All Files", if the dialog window has that option, name your
    program anything you like that ends in .jsh (for example "program1.jsh") and save it.

  3. To run your program, open the file with execute_script.bat* - find it
    using your file manager's "choose another app" or "browse" option.

* the file execute_script.bat, for (Microsoft) Windows, or one
of the following to be used on other operating system(OS)s:
-, a bash shell script for (GNU/)Linux.
- exec_script.mac.command, a bash script for MacOS.

Your E-Script or JoshScript code should now run successfully.
(Note: you need Python 3.6 installed for this to work)

About this language

In this section, there's some information about this language that could help
to answer questions about the original version called JoshScript, or E-Script,
for example "why was it created?" and "what can it be used for?".

• Why and when created

The JoshScript scripting / programming language appeared (in GitHub)
on 23 August 2017 and the E-Script version was created in December 2017.
E-Script was made as an experiment idea, a simple language, for fun.
Both languages were made with the thought that "anyone can learn" them.

• What use, links to low-level programming

The languages have many "Usage codes" / "Operations (codes for usage)"
that can be used for anything, mainly math(ematic)s calculations.

They are a bit like low-level computer programming and a Turing machine.
[to-do: add more here]

You can’t perform that action at this time.