
Create your own programming language in JavaScript - fogus
http://nathansuniversity.appspot.com/
======
emeraldd
I ran through something like this a couple of years ago and found it to be one
of the most entertaining side projects I had worked on in a long while.

Scheme from Scratch - [http://peter.michaux.ca/articles/scheme-from-scratch-
introdu...](http://peter.michaux.ca/articles/scheme-from-scratch-introduction)

~~~
fogus
I admired (and still do) your posts very much. Thank you for them.

~~~
emeraldd
As a note, I just followed along with Peter, using his posts to get a handle
on scheme. Mine was <https://github.com/arlaneenalra/Bootstrap-Scheme>

------
DanI-S
I love the idea of offering your own mini-course. Teaching is by far the
fastest way of cementing your knowledge of a subject. It would be great if
someone could create a platform /'app store' for providing stuff like this,
free or otherwise.

~~~
JocoProductions
I believe Udemy.com does very similar to this and has a wide variety of
courses.

~~~
DanI-S
That's very cool, thanks. I'd heard the name before, but never checked it out.

------
spacemanaki
This is also starting in 3 weeks:
<http://www.udacity.com/overview/Course/cs262>

~~~
dbh937
Thats learning about different programming languages... Not creating your own.

~~~
MaxGabriel
Check the syllabus; you create a Javascript/HTML parser and learn about syntax
trees, grammars, etc. So the content will be similar to creating your own
programming language.

------
aoe
Are there any other good tutorials on creating a toy programming language?
Something that teaches about lexers, parsers, etc.

~~~
eterps
These are my favorite resources:

Compiler Construction: <http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf>

The Elements of Computing Systems: <http://amzn.to/GQycqj>

MetaCompilers: <http://www.bayfronttechnologies.com/mc_tutorial.html>

How to Create Your Own Freaking Awesome Programming Language:
<http://createyourproglang.com/>

Bootstrapping a simple compiler from nothing:
<http://www.rano.org/bcompiler.html>

~~~
fogus
Correct me if I'm wrong, but wasn't "How to Create Your Own Freaking Awesome
Programming Language" the motivation for CoffeeScript. That alone should be
enough motivation for sending your money that way.

~~~
rbxbx
You're correct. That's why the first version was written in Ruby :)

------
cconroy
I like his teaching style. To get a sense for yourself check out
<http://nathansjslessons.appspot.com> where he covers functions as values,
closures, and CSP in javascript.

I dunno about you guys but I seem to spend almost all my professional time
programming in javascript these days. This is perfect!

------
bliss
i created a programming language of sorts in javascript, it was awful to code
in (stored code as strings and used eval to run everything), but it did work -
it is used for creating macros on an in-house billing system and only worked
under ie6 trusted (which was the mandated browser) - more modern browsers
balked at the cross site scripting exploit it took advantage of, but it was
pretty useful way to deploy batch scripts as a bookmark. will share if anyone
dares!

------
MatthewPhillips
You can also just fork one of the many that are out there. Makes it easier
than starting from scratch (although I realize for some people that eliminates
the fun part). I'm liking Sibilant a lot: <http://sibilantjs.info>

------
wingspan
Why redirect from nathansuniversity.com to nathansuniversity.appspot.com?
Shouldn't it be the other way around?

~~~
dbh937
He might think he'll get a lot of traffic, so google's servers would help.

------
jhuni
Why build a programming language in a language other then Lisp?

------
leon_
I bet he will be building some RPN language ... which is a rather boring task.

