Running D in the Java VM

Jeremy DeHaan dehaan.jeremiah at gmail.com
Thu Nov 14 23:13:32 PST 2013


Hey everyone!

I have been experimenting for the past couple of days with an 
idea I had, and since I recently made a little progress I thought 
I would share some of what I have been doing with you. What I 
have done, in a nutshell, is began the process for a language 
converter that takes D source files, converts them into Java 
source files, and then compiles them as Java class files so that 
they can be ran on Java's VM. It is extremely limited in what it 
can do right now, only being able to convert/compile a simple 
Hello World program, but I was proud of myself for getting even 
that far so I wanted to brag. :P

You may want to ask, "Hey, man. D is a great language. Why would 
I ever want to convert it to Java?" Normally, you wouldn't. Java 
blows. What I am envisioning for this project is something quite 
magical in my opinion. If we can take D code and have it compile 
into Java class files, we can then compile them into Android dex 
files. This would make D able to build and run on Android devices 
through its VM. Sure, people are working on getting D to compile 
to ARM binaries, but this could be another option as a Java 
alternative on Android.(eventually)

Unfortunately I do not know much about compilers, but even in the 
last couple of days I feel like I have learned a great deal about 
what kinds of stuff goes into them. Eventually I'd like to make a 
full blown compiler that takes D code and can go right to dex 
files, but that would be something that would happen way down the 
road. In order to get D working on Android sooner, I figured a 
language converter would be the easier route.

I can, and would love to go in to more detail about this, but it 
is getting late and this post is already quite long. Maybe I 
should start a blog about my D escapades? Anyways, I would love 
to hear feedback on this idea! Thanks for your time!


More information about the Digitalmars-d-announce mailing list