A platform where kids can learn programming in a simple and attractive way
Project milestones:
- Build an interpreter that defines a new programming language. the purpose behind this language is to have a very simple, very readable and intutive programming language
- variable declarations
- function declarations
- function invokations
- if, else if, otherwise
- logical comparisons
equals
,not equals
,less|greater than
,and
,or
- Build a simpe react application around that interpreter
- Read code from a textbox, interpret it, and print either errors or output.
- Add a descent online code editor the application
- Add custom syntax highlighting that matches our keywords
- Refine the language syntax
- Remove program wrapper
- Remove types
- Improve variable creation (
create
,variable
, ...) - Get rid of semi colons
- Improve function creation (
function
,takes
, ...) - Add assignment on declaration
- Improve function invocation (
call
,with
,of
, ...)? - Improve variable assignment statements (
assign
,set
, ...) -
arrays
- loops:
for
,while
, anddo-while
-
classes
andobjects
- ternary operator
x if y otherwise z
- named/labeled arguments
- Add default parameters
- Improve Editor usability
- Auto format
- Auto complete
- Syntax validation
- Color theme
- Visually group one operator keywords by having common background
- Read input from the users
- Enable debugging mode, or let's call it a
step-by-step
execution - Visualize the memory at runtime
- Visualize the call stack