A new way of using a programming language.
The Pable Programming language is not made to win. It is made to continue. We know we are not the best and most complete language. We made pable to help us in programming more advanced projects down the road. We want people to continue looking at Pable and see the progress that we will make. Pable was created by two high school friends that met at a CodeDay event while in middle school. Juggling work and school starting back up and 1,000 miles betweeen us, we did the best we could to compete in the Jam. We did not have time to complete Pable to the same extent as some as the other languages. In all that we still love Pable even thogh it is not finished.
Pable is a programming language that we made to help abstract the complex libraries that we made. We want something that is easy to use but can expand as much as possible.
We are not finished with Pable, but this is to show the progress that we have made so far.
The following things are what we will add support short-term: Functions,
Classes,
Floats,
Chars,
For loops,
Libraries,
Arrays, lists,
--And MUCH MUCH More!,
The following things are what we will add support long-term: Sockets,
Graphics - We are looking at adding Raylib support for a importable,
Compile Options,
We want Pable to be able to compile to a desktop app, this will work just like C and C++. A exe/.out file that you can simply run.
Also Pable can run in a Python like environment. This will allow you to run Pable code on the web or just help you debug your issues.
And Finally we want Pable to be able to compile to a java like environment for socket and server deployment.
Strings
Ints
Operations (+-*/) -- you can use multiple at a time :)
while
if
out
color_out
To start we made a simple bottles of beer on the wall program:
# this program will show a basic 'for' loop using a 'while' loop and a var named i
int i = 99 # set i to how many beer bottles we have
while (i ! 0) # while to count down
out (i) # output the beer bottle that we are on
color_out("bottles of beer on the wall", GREEN) # we output in GREEN
i = i - 1 + 0 * 1 # this is to show that we can do multiple operations together
readfile("ascii_art.txt") # displays the contents of ascii_art.txt
if (i = 0) # this is to see if we finish
color_out("We finsihed all the beer", BLUE) # output in blue when we are done
end
Pable without --DEBUG_INFO on, we made it as fast as we could. It can run about 1,000,000 lines in about 8 seconds while outputing to the console and could do it in about 100ms without outputing to the console.
With the new class based parser coming soon, we will enjoy even faster code!
** We also setup a super easy to use file to download and compile our project. Once you run it, it is super fast. **
Run it here: https://repl.it/@Hexcode/Pable-Example#main.sh
Look at Code here: https://repl.it/@Hexcode/Pable-Programming-Language#README.md