Development Blog & FAQ
Update 2023: I am happy to developed the first Windows live application with V1 a Password manager.
Why V1 is not object oriented?
V1 should be only a procedual language to keep it thin and easy. Maybe in some years V1 will understand classes and object oriented programming.
What languages inspired V1?
V1 is the little brother of PHP.
How is the performance and resource usage of V1?
The Windows binary executable is about 360 KB and requires VC++ 2010 DLL's about 1.3 MB. The Linux binary executable is about 630 KB and can run as stand alone. The memory usage is about 5 to 13 MB, depending on the loaded modules. The speed is faster than Python 3 and equal to Python 2. I tested a while loop 1000000x with internal number addition of a double value and it is equal to Python but cannot afford the performance of PHP which is 3x to 9x faster. On complex long term mathematical operations PHP 7.3 is about 15x faster on a Core(TM) i7-6700m 3.4 GHz, 8 Cores. But on Windows PHP 5.4 is maximal 5 times faster. Short CGI scripts are faster than PHP, Python and Perl, because of the startup process of V1 is faster. I am happy that V1 can give the performance of Python and Perl. I will be in charge to increase the speed in further updates.
What applications and scripts are available now?
In /app directory currently there are a WGet utility, a Webserver and a File hashing tool written in V1. In /lib directory there are libraries to access MySQL databases, SMTP protocol, ZLib and bzip compression, extracting TAR files, working with OpenSSL. In /editor/scripts/examples there are the examples for the Web editor: Create GD images, a SSL client and scripts to handle HTML formulars and file uploads. In /cli-examples there is a tool to calculate the current rising of sun and moon, also a example how to show directories and to play sound on Windows. In /x11-examples there is a script which create a X11 Window and plot a sinus curve. In /win32-examples there are WIN32 GUI applications, a simple image editor, a clock tool, GTK and Cairo examples.
How i can develop own modules?
In time you can develop own modules with Native function calling. Thats the main concept how to interact with external DLL's and shared object libraries. Take a look at /lib/mysql.inc.v1 and /lib/openssl.inc.v1 to understand how to create own modules for external libraries. Otherwise you can use the C/C++ API to integrate V1 into own applications.