Bookish is a low-level simple-to-learn cross-platform programming language that can be considered as an OOP language, however Bookish does not depend on OOP. This page is for the documentation, introduction of Bookish.
You are also able to ask for help via discussions, submit any issues you encounter or any requests. This can also be considered the help/issues/feature request page of the Bookish IDE. If you're wondering why we only have an .exe
for Windows in our IDE Releases, that's because the IDE is supported on Windows only, however you can probably use Wine on Linux to run the IDE.
But for the programming language, we will implement a cross-platform virtual machine for Bookish to run on Windows, Mac, Linux. The runtime
and compilation time
are promised to be the same, unless your computer has harsh performance issues.
What we currently support (IDE):
∞ Compilation of apps without the dependency of system hardware
∞ Encryption of apps created in the IDE
∞ Custom Compiler (Like JIT, but quicker; it compiles in 0-2 seconds)
∞ IntelliSense
∞ Code autocomplete/autosuggestions
∞ Resize mode, fullscreen mode
∞ IDE Settings
What we currently support (Language):
∞ Object oriented programming/Non-object oriented programming
∞ Quoted strings
∞ Definitions
∞ Classes
∞ Type inferance
∞ Nil support
∞ Functions (partial, non-partial)
∞ Conditions (if/else/else if/while)
∞ Definition types: int, float, string, bool, char (printing unsupported for char)
∞ Operations: ^ / * + - & % %% || | == !=
∞ init Constructor for classes
Arrays are currently not supported, but are being worked on. We are also adding in GUI to Bookish IDE, therefore people are able to create professional apps with Bookish.
∞ Usual Compilation & Run Timings:
41ms - 41 milliseconds to compile & run
130ms - 130 milliseconds to compile & run
157ms - 157 milliseconds to compile & run
235ms - 235 milliseconds to compile & run (most common)
These are the usual timings people will get once they compile an app programmed in Bookish. It's very rare to get over 0 seconds when compiling & running a Bookish application. The cause of the compiler taking over 0-1 seconds to compile may be:
- Errors in the code which were undetected
- Harsh hardware (Which the IDE depends on, so if it's bad, it will be slower)
- Code in the length of 100,000 —— 1,000,000 lines (runtime will be extremely slow if the code is a repeated process)
The speed mainly depends on the VM speed, which depends on your computer performance. However, even when your device may be crappy, it will (should) run in lower than 1-2 seconds.
Sample (OOP):
class bookish {
int x = 1;
bool isTrue = false;
func Example() {
if (x == 1) {
isTrue = true;
print "True";
}
else {
isTrue = false;
print "False";
}
}
}
bookish bksh = new bookish();
bksh.Example();
Sample (Non-OOP):
int x = 1;
bool isTrue = false;
if (x == 1) {
isTrue = true;
print "True";
}
else {
isTrue = false;
print "False";
}
We provide encryption to projects using a Bookish Key.
A Bookish key is a key generated by bookish via the IDE for application encryption, using a Bookish key, an algorithm is generated to protect your code. There are 3 different layers, making Bookish IDE a very secure software development platform. Unfortunately, we do not support decryption or viewing the key, as it will cause vulnerabilities.
If you would like to learn more about how to programme with Bookish, or if you're a beginner and want to use our docs to programme with Bookish, click here.
Make sure to read our LICENSE before using Bookish or using our open-source code. Whatever is not mentioned in the license is NOT ALLOWED without permission from the Bookish Developer and Founder (Pronner).