-
Notifications
You must be signed in to change notification settings - Fork 0
Steps moving forward
Lay out the groundwork for what needs to be done:
An open issue for this topic is also found here
Steps moving forward
We have python and .py, C and .c, Javascript and .js.
What does this language have?
This language is based on the concept of plain english. Anyone should be able to read through and understand, irrespective of experience as some programing languages can be difficult to understand at face value:
ie: This example in Assembly:
extern _printf
global _main
section .text
_main:
mov iter, 0
mov maxit, 5
loop1 nop
push iter
push format
call _printf
pop iter
inc iter
cmp iter, maxit
jl loop1
format: db '%d', 10, 0
Is roughly equivalent to this example in C:
#include <stdio.h>
for(int x = 0; x < 5; x++)
{
printf(x)
}
Which is equivalent to this example in Python:
for x in range(0, 5):
print(x)
Which could potentially be this, in VerboseLang:
start a counter at zero, then repeat the following five times:
show the counter
Each layer of abstraction becomes easier to understand in plain english, at the cost of requiring a more complicated program to execute it (Assembly is executed directly by the CPU, while Python needs a C compiler, which itself needs an assembler, before it can be execute)
How does this language represent variables, loops, functions?
Does this language try to understand spelling mistakes, like in english?
Come up with a whole host of useful examples, and possibly their equivalent in python.
Is this language Static or dynamic, Interpreted or compiled, etc...
Build the python scripts that will make this language work
And a testing suite that compares equivalent python scripts to this language, so we can ensure behaviour is correct.
ie: if this language uses show hello world
to print to the screen, then it should give the same result as python's print("hello world")