Skip to content

Latest commit

 

History

History
75 lines (44 loc) · 2.24 KB

README.md

File metadata and controls

75 lines (44 loc) · 2.24 KB

What is it?

  1. A simple stack-based virtual machine that runs C (missing features below) in the browser.

alt text alt text

  1. The beginning of an interactive tutorial that covers C, how the VM works, and how the language is compiled, everything from the ground up.

Why?

7 years ago I was writing my very first line of code.

I knew I liked programming, but I didn't really know what I was doing. What's going on? Why do I have to write this? What's happening under the hood? I was frustrated and confused. I've always hated learning things by heart without really understanding them.

For years I had wished someone could break programming down and teach it from the groud up, concepts first, details later. If someone could answer my "why?" questions, everything would be much easier to learn.

With this project, I want to teach programming one step at a time, from the very ground up.

And no, it's not going to take forever. I am not covering unnecessary details, those are easy to look up.

Can I see it?

  1. Sandbox

  2. Tutorial (for people with 0 programming experience or willing to learn C) :

Subscribe

Get notified when new tutorials are released.

Feedback

Join the discussion on our subreddit.

Support

Consider supporting the project.

Missing language features

  • operator new is working (like in C++), no malloc

  • static arrays and structs (dynamic arrays and pointer to structs work fine).

  • Arrays of structs (arrays of pointers to structs works fine).

  • for, switch statements

  • preprocessor directives

  • bit operators

  • only bool,int,char as primitive types and they all have the same size in memory

  • ++,--,ternary

  • union,enum

  • global variables

  • macros

  • delete / delete[]

  • function overloading