Create Your Own Programming Language

How To Create Your Own Programming Language (Using Ruby and/or Java)

Create Your Own Programming Language is a interesting new information product and community by Marc-André Cournoyer (of Thin fame) that promises to teach you how to create a simple programming language. The official site is well worth checking out, even if you don't want to buy it, as it's a great example of how to sell a product like this. Create Your Own Programming Language costs $39.99 and has a two month money back guarantee.

What You Get - 2 Different Approaches

The package includes a 53 page PDF (only 44 pages in the earlier copy I received), a pile of source code (for two different types of bootstrapped languages), and a screencast, along with access to a community of other users. Out of the box, you can create your own "programming language" (of sorts) with a single shell script.

Two different types of approach are provided. The first is a pure Ruby lexer, parser, and interpreter that lets you build your programming language using mostly Ruby. This is what the PDF covers. The second is a JVM (Java Virtual Machine) based language that provides a bootstrap and execution environment upon which you can build a higher performance language; this is what the screencast covers. In both cases, the default languages are ultra-bare Ruby variants of sorts.

Quick Results Rather Than Detail

The PDF is short but well produced. It leads you through building a new Ruby-like language called "Awesome" upon the Ruby powered lexer, parser, and interpreter supplied in the package. It lacks detail but covers the broad concepts well with a focus on quick results rather than detail or inane computer science.

Likewise, the screencast video isn't a "everything from start to finish" production in the PeepCode manner. It's only 11 minutes long and moves incredibly quickly. The screencast covers adding a "while" construct to the JVM-backed language, as well as a "substring" string method and "eval". The video is good to get a "high level" view of what's involved (and is probably worth watching before opening the book, just to get a feel) but to get the most out of it you need to be either familiar with the terminology and concepts being covered (partially covered in the PDF) or ready to hit the pause button a lot.

It Whets The Appetite; Great For Dabblers

Create Your Own Programming Language is suitably titled but potentially misleading, since although it does let you create your "own" programming language, the resulting language is within a small gamut of what could be considered to be a "programming language." No, CYOPL isn't going to meet lofty technical expectations but it provides a great way to dip your toes into the waters of creating a language, and I wouldn't hesitate to recommend it to those who want to have a dabble and learn a few things.

If, however, you consider yourself a bit of a hotshot and want to really dig deep into building compilers and programming languages, the materials in CYOPL lack the detail and the frankly intimidating level of knowledge you'd need to really design and build a robust programming language. If that's you, buy a copy of Compilers: Principles, Techniques and Tools by Aho, Lam, Sethi, Ullman and enjoy the ride - it's an awesome book and considered canonical in the compiler construction field. Alternatively read Loren Segal's awesome (free) online Writing Your Own Toy Compiler Using Flex, Bison and LLVM series.


Create-Your-Own-Programming-Language

Free Sample Chapter

Let’s say you have the following code:

1 print( 2 "I ate", 3 3, 4 pies 5 )

Once this code goes through the lexer, it will look something like this:

1 [IDENTIFIER print] ["("]

2 [STRING "I ate"] [","]

3 [NUMBER 3] [","]

4 [IDENTIFIER pies]

5 [")"]

What the lexer does is split the code into atomic units (tokens) and tag each one with the type of token it contains. This job can be done by some parsers, as we’ll see in the next chapter, but separating it into two distinct processes makes it simpler for us developers and easier to understand.


Lexers can be implemented using regular expressions, but more appropriate tools exist. Each of these tools take a grammar that will be compiled into the actual lexer. The format of these grammars are all alike. Regular expressions on the left hand side are repeatedly matched, in order, against the next portion of the input code string.


When a match is found, the action on the right is taken. Learn more about Programming Code.

Create-Your-Own-Programming-Language

Download Free Sample Chapter

Create-Your-Own-Programming-Language

create your own programming language

how to create a programming language

make your own programming language

create a programming language

creating a programming language

create you own language

create your own language

how to make your own programming language

how to create your own programming language

make your own language

create programming language

easy programming language

create your own language online

creating your own programming language

making your own programming language

build your own programming language

creating your own language

how to make a programming language

how to make your own language

make a language

create own programming language

how to create your own language

make a programming language

create own programming language jvm

create your prog lang

how create programming language

how to build your own programming language

how to create programming language

how to make my own programming language

making a programming language

programming language creation

build your own language

building your own programming language

create a jvm programming language

create a programming language guide

create my own programming language

create your language

create your own programming language ebook

creating a jvm language

how are programming languages created

how to create a new program language

how to create a programing language

how to make a language

how to make a programing language

how to make programming language

how to make your own programing language

make language

make my own language

make programming language

make your own language online

simple programming language

simplest programming language

a toy language source code

awesome create programming ruby

book jvm language

book make own language programming

build a simple programming language

build language ""on top of"" jvm

build my own programming language

build own programming language

build your own language in python

build your own programming language from scratch

build your own scripting language

building own programming language

building you own dynamic language is fun and easy

code in your own language

creat your own langua programing

create a language online

create a language virtual machine

create a new jvm language

create a new programming language

create a simple language on jvm

create an own programming language

create jvm language

create new language code

create own language

create own programming

create own system

create prog lang

create program language book

create you programming language

create you're own book

create your own

create your own awesome programming language

create your own jvm

create your own lang

create your own language jvm

create your own machine level language

create your own prog lang

create your own program

create your own programing language

create your own programming lang with java

create your own programmng language

create your own scripting language

create your programming language

create yourt prog lang

creating a new jvm language

creating a programing language

creating a programming langu

creating a programming luaguage

creating a simple programming language

creating a virtual machine for a programming language

creating jvm language

creating own language in jvm

creating owr own programming language

creating programming language

creating programming language ruby

creating your own coding language

creating your own scripting language

easy language for the jvm

easy money programmer

easy programing languages

easy way to create new programming language

free online create your own montre and create your own play

how can i create my own programming language

how can i make my own programm

how do you create a programming language

how do you create your own programming code

how do you make your own language

how do you start your very own lang.

how to build a programing language books

how to build a programming language

how to build a programming language from scratch

how to build programming language

how to build you own programming language

how to build your own programmming language

how to build your own scripting language

how to come up with your own language

how to create a language book

how to create a own programming language

how to create a programming language for the jvm?

how to create a programming language?

how to create language programmer

how to create my own programing language

how to create new programing language

how to create own programming language

how to create programing lenguich

how to create simple programming language

how to create you own programming

how to create you own programming language

how to create your own language ( programming language )

how to create your own program

how to create your own programming code

how to create your own programming language?

how to create your own scripting language

how to create your programming language

how to make a email server in proggraming lanuage

how to make a programming language for the jvm

how to make a simple programming language

how to make jvm

how to make my own language

how to make my own programing language

how to make my own programing lenguich

how to make my own programming language?

how to make own programming languages

how to make programming

how to make simple programming language

how to make ur own language

how to make ur own programming language

how to make your own coding language

how to make your own programming lang

how to make your own written language

how to start your own programming language

how tocreate simple progaming language

howto build a programming language

howto make a programming language

i created a new programming language

i created a programming language

is it okay to make up your own language for a book?

language creation template

language to create programming language

learn how to create your own language

make a jvm language

make a programing language how to

make a programming langauge

make a programming language in

make own programming language

make ur own programming language

make your own coding language

make your own compiler for your own programming language

make your own languafe

make your own language and virtual machine

make your own languge code

make your own program code

make your own programation language

make your own programing language

make your own programming language book

make your programming language

making your own language

own computer language

own programming language

programme language books

programming in jvm

programming language create

programming language to create good programming language

programming languages newsletter

ruby build your own programming language

simplest jvm language

toy programming language

up and coming programming languages

who is minded in programming langauge

write your own programming language

your own scripting languages

create new programming language code

create your own programming language free

create your own programming language python

how to create own programing language

make your own language using python

write your own programming lnguage