A Scripting Language for Web, Linux and Windows

A Scripting Language for Web, Linux and Windows

Development Blog

Questions to the Developer:

1. What is your plan for 2021?

2016 when i decided to develop a own script language, i was mainly interested how a parser generator based on Flex and Bison works. During the years i focussed the development of V1 on simple modules, such as ssl and gd. And i ported the Windows 32 Bit version to Linux 64 Bit.

Now i think its time to support GUI development.

Therefore i will publish shortly a version which can handle WIN32 GDI Applications and GTK Window Applications under Linux.

2. Why V1 is not object oriented?

V1 should be only a procedual language to keep it thin and easy. Object orientation is a concept which could be added when the underlaying system is verry stable and V1 is widely used in real world applications. Maybe in some years V1 will understand classes and object oriented programming.

3. What languages inspired V1?

I can say V1 is the little brother of PHP.

4. How is the performance and resource usage of V1?

The Windows binary executable is about 340 KB and requires VC++ 2010 DLL's about 1.3 MB. The Linux binary executable is about 560 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.

5. 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 how to handle HTML formulars and file uploads in Web mode of V1. In /cli-examples there is a tool to calculate the current rising of sun and moon, 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.

6. 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.