Easylang

A programming language to teach und learn programming. The language is reduced to the basics with built-in graphics commands. The easy to use browser IDE includes an interactive course for beginners.

IDE

easylang.online

Github Pages

HTL-Leonding

These links may be used without restriction.

Open source

Github

Samples

for i = 1 to 10
   print i * i
end

Embedding in a web page (needs easy.js, easyw.js, easyw.wasm)

<canvas height=150 width=900 style="width:50vh"></canvas>
<script> easyscript = `

x = 21
v = 0.4
on animate
   if x > 77 or x < 0
      v = -v
   end
   clear
   linewidth 8
   color 333
   move x + 9 96
   line x + 13 96
   color 900
   move x + 4 91
   line x + 18 91
   color 333
   move x + 5 85
   circle 3.5
   move x + 16 85
   circle 3.5
   x += v
end
on mouse_down
   swap v vx
end

` </script><script src=easy.js></script>

More

Target group

Mainly children from about 12 years. But of course also all other programming beginners. First textual programming language after for example Scratch.

As a beginner programmer, it is important to have fun. High entry barriers - installation marathons, boilerplate code, obscure magic code, surprising results are counterproductive.

Why Easylang is easier than Python

Technical

It is a DSL (domain specific language) for learning programming and also for small web canvas apps. It has a reduced feature set, a simple syntax, a browser IDE and built-in graphics commands.

It is statically typed and has as data types only strings and numbers (floating point), arrays of strings and numbers, and arrays of arrays. Arrays are 1-based and can grow. Programs compiled into an AST tree run in the browser (or in the browser IDE).

Easylang is written in C and Javascript and runs in the browser using WebAssembly (WASM). The IDE is designed as a progressive web app (PWA) so it can be used offline.


christof.kaser@gmail.com