My name is Robert Einhorn from Hungary (Budapest).
I am interested in language design and ergonomics.
I am currently working on a C#-based language whose syntax would be BASIC-like, but its semantics would still be 100% C#.
My primary goal is a feasibility study of this idea with an ANTLR4-based parser.
Some of the main features of this new language:
-
Double transpiler:
from C# to BASIC#
from BASIC# to C#
After a translation in any direction, we would always get the same code, of course with some formatting differences.
In this way, the same application can be developed with C# or BASIC# syntax. -
the new language would not contain new features (at least for now)
-
the blocks are based on indentation/dedentation and the coder can select 3 formatting options:
named block termination like in Visual Basic:
while b
…
endwhileblock termination with ‘end’ keyword like in Ruby:
while b
…
endblock termination without keyword (with dedent) like in Python:
while b
…
Furthermore, last but not least, it is an experimental method for developing a new programming language, the essence of which is the evolving of a language without compatibility problems.
The source code of the programs written in the new language (in our case, BASIC#) would never be saved, copied, or shared.
Saving, copying, and sharing the source code would be done by translating it into the base language (in our case, C#).
This would be a very important base rule that should be followed.
In this way, syntax modifications and changes could be made in the new language without compatibility problems due to new or better ideas that may arise.
Moreover, even semantic corrections could be implemented in the new language to a limited extent.
In our case, this would also provide an opportunity to transfer future changes from C# to BASIC#, which would be very difficult or unsolvable in the new language.
This would be a revolutionary new method of language development, which would speed up the evolution of programming languages in an extraordinary way.
Of course this is only experimental for the time being.