D++ Scripting Language

D++ is a scripting language I created in Microsoft Visual Basic 6.0. I worked on D++ for many years when I was in middle school and high school, and it was a fun way to learn how to program better. I started this project when I was pretty young in the summer of 1999. It supports major language features including variables, arrays, if statements, do/for loops, functions, and more. It compiles scripts into an executable file in with a customized D++ console.

D++ had a small community of developers in the early 2000's who helped contribute and write D++ scripts, back when PageMac hosted forums.

FAQ

Why did you write D++?

I started working on D++ when I was about 12 as I was just getting into VB and programming. I wanted to write a program that actually had an impact on people, more than just the dinky little apps I had previously written. So I decided to write a programming language. I don't know why or how I chose to write a language, especially considering I hadn't a clue of how to do any of it. But I started small with very basic features and just continued to add language functionality to help improve my coding skills.

D++ was not meant to replace C++, Java, or any other language. It's a language for fun, “because I can”, and I've provided the source to help others learn as well.

Why did you call it D++? Were you following C++?

Not really. It was more of the fact that my name is “Daniel”, and D++ sounded like a pretty good name. Also, a successor language to C++ would be the letter, P, based on an old programming language called BCPL.

Is D++ related to the D programming language?

No. I created D++ before the D programming language existed. D++ first appeared in 1999, and D first appeared in 2001 (according to Wikipedia). D++ and D have absolutely nothing in common.

How does D++ work?

D++ is an interpreted language - the D++ source code is parsed and executed on-the-fly by the D++ core application. (don't let the word “compile” throw you off, I just wanted to sound cool). When I was first starting D++, I discovered that I could add as much text as I wanted to the end of a VB6 executable without causing anything to break. So I came up with a way to create my own applications - the D++ compiler takes the source code, obfuscates it so it's not human readable, adds a header, appends it to the end of DPPAPP.dll and makes a new executable file. The DLL is actually the D++ core executable, disguised as a DLL. When the core application runs, it reads itself, searches for the header, de-obfuscates the code and executes. To the user, it appears as their own application, with no need to download a runtime (except for the VB6 runtime, but most people had that anyways). I thought this was pretty clever (especially when I was 12).

Why did you write D++ in VB, not C++? Or even assembly?

The biggest reason is that when I started working on D++, VB6 was my strongest programming language. D++ began with VB6, and that's why it remained VB6. In 2007 I started re-writing the language in C++ as another exercise in programming. (I got quite good with pointers by doing this!) Ultimately, my interest declined. The experimental C++ code is available for download, although it's only functional as an expression parser and evaluator.

Download

You may also need Visual Basic 6 Runtime Files.