DDE: Dexter Development Environment.

A JavaScript based Robot control IDE.

How to Think like a Computer

"Central to constructing working code is understanding how the computer interprets your code. eval is the function in JavaScript that accepts a string of source code and "runs" it. By running "eval" in your head as you are reading code, you can know what the computer will do with it. This is the core technique of understanding and debugging JavaScript source code. The best way to know what eval does is to know how to write eval. This webinar helps you understand how eval works by incrementally defining it in JavaScript." - Christopher Fry. Fry wrote DDE and is an MIT professor.

Starting with Jobs

"Central to constructing working code is understanding how the computer interprets your code. eval is the function in JavaScript that accepts a string of source code and "runs" it. By running "eval" in your head as you are reading code, you can know what the computer will do with it. This is the core technique of understanding and debugging JavaScript source code. The best way to know what eval does is to know how to write eval. This webinar helps you understand how eval works by incrementally defining it in JavaScript."

https://drive.google.com/file/d/0B6PCkmO9RJLJUzZJbGJZVGtHb3c/view

There have been a couple of changes to DDE since this video was produced 3 years ago.

Also note that you can select and Eval the items in the comment below the main program. E.g. "Job.j3" If you have previously Evaled with nothing selected (which evals the entire window) then that should allow you to "INSPECTing" the job. 

Debugging

In DDE, there are some tips and tricks that can make debugging easier:
https://drive.google.com/file/d/0B6PCkmO9RJLJTDFfYTNqYS1PdHM/view

In the video, note that current versions have incorporated the for (item of thing) syntax so that no longer shows a "linter" error. The linter is an automatic code checker that Fry didn't write, but included in DDE. You will find other issues that the linter doesn't like, which are actually ok. For example, adding things without spaces between the + and the item. e.g. "1+1" vs "1 + 1". Those are NOT a problem, because the linter is a bit over active sometimes, but sometimes it does find an issue, so I like to follow all it's suggestions and let it find the bad stuff as well as the not so bad stuff.