top | item 6164866

Create Your Own Programming Language

56 points| shawndumas | 12 years ago |createyourproglang.com | reply

32 comments

order
[+] velik_m|12 years ago|reply
It looks interesting, but there is something about the copy that puts me off. Maybe it's the way it focuses on what it's not, i don't know it feels kind of scamy, like one of those shopping channel ads.
[+] agotterer|12 years ago|reply
I had the exact same feeling. Couldn't put my finger on it at first. The book itself interests me, but something about the copy made it seem "too good to be true" and as you said a bit scamy and off-putting.
[+] suyash|12 years ago|reply
Seems very scamy..the price is not even listed on the home age, just the buy button. Neither the author has justified his credibility in the matter.
[+] Alterlife|12 years ago|reply
Additionally, the proxy server I'm behind (at work, oh no :-( ) is showing me a "malicious downloads" warning.

It's very likely a scam.

[+] nucleardog|12 years ago|reply
It may have changed in the past 31 minutes since you posted, but currently the price is in the copy directly above the buy button. Still reads as scammy, though.
[+] lolproglang|12 years ago|reply
The book has tons of code listings that make up the majority of the pages.

It used to be 53 pages, but is now somewhere over 100 pages, according the new updated site. The original's code listings are in Ruby; I can't help but wonder if he just redid them in Java to make the book longer. Seriously. And no, I'm not picking on Java.

Here's the old version:

https://anonfiles.com/file/e98ca909d4e62fb0d6f59f67bf0bfaf6

[+] ioddly|12 years ago|reply
The book is made by the creator of tinyrb (https://github.com/macournoyer/tinyrb). I've never read it, so I don't know whether it's any good, but I'm sure it's not a scam.

Implementing a programming language is a pretty difficult but rewarding task. It's become a lot easier these days now that there are giant runtimes you can target (JVM, CLR and so on). I would encourage anyone who is interested to give it a shot, and to find a good book or course to do so. (That book from Brown dmunoz posted looks excellent) And once you've done that, try writing your own runtime too (garbage collector/virtual machine or native compiler). It will teach you a lot about the tools you use every day.

[+] why-el|12 years ago|reply
This pops up from time to time on Hacker News. I got the book and went through it, but couldn't go beyond the basics and found myself in a state of limbo. I would love to hear from other people about their experience with the book and whether they continued beyond what this book has to offer.
[+] bionsuba|12 years ago|reply
I purchased this about a year ago, so I will give any potential buyers a fair warning, if you don't know ruby, this book is very hard to follow. All of the examples are in ruby and no pseudo code is provided.
[+] yolesaber|12 years ago|reply
I was really stoked to buy this since I've always toyed with the idea of creating my own language but this is disheartening to hear.

Do you have any recommendations for books in a similar vein?

[+] dmunoz|12 years ago|reply
I have no idea if this book being offered in this posting is good or not. Echoing some of the comments in this thread, here are some alternative resources.

The following book [0] popped up on reddit [1] the other day. I'm not sure how it compares, but it looks like a decent option. Surely better than the suggestion in this thread to "get the dragon book" which I feel is too obtuse of a recommendation.

My favourite free resource in this area is Programming Languages: Application and Interpretation [2], which has video lectures [3] from the online offering last year. Udacity also has a programming languages course in the vein of building a web browser.

There were also two interesting videos from PyCon USA 2013, All-Singing All-Dancing Python Bytecode [4], and So you want to write an interpreter? [5].

Some of the above are not precisely for creating your own programming languages, but they are great resource in the general area.

[0] http://nathansuniversity.com/step.html

[1] http://www.reddit.com/r/programming/comments/1jnd95/pl101_cr...

[2] http://cs.brown.edu/courses/cs173/2012/book/

[3] http://cs.brown.edu/courses/cs173/2012/Videos/

[4] http://pyvideo.org/video/1777/all-singing-all-dancing-python...

[5] http://pyvideo.org/video/1694/so-you-want-to-write-an-interp...

[+] pinchyfingers|12 years ago|reply
I would turn to the Racket community first to learn about creating programming languages, they kind of have a thing for it.

Here's a start:

http://queue.acm.org/detail.cfm?id=2068896

[+] frozenport|12 years ago|reply
Did Matz, creator of the Ruby language actually read the book or just voice interest in reading it :-)
[+] cLeEOGPw|12 years ago|reply
Another page with "few simple tricks to create programming language". Looks really fake, regardless of it being real or not.

Putting bad marketing aside, are there currently areas which would require another programming language, that would provide something current languages do not provide, or make it so much better that the change would be rational?

[+] lysa|12 years ago|reply
No need to be so aggressive, but to answer your question:

     1. Yes, there are probably a lot of areas that need new
        programming languages or improvements of the current  
        programming languages, everything is quite far from 
        "perfect" at the moment (and it will probably always
        be). There's still a huge amount of research going
        in this direction.
     2. Learning. Should you ever be stopped from learning
        something new by the fact that something similar 
        already exists? Probably not. This is just business 
        thinking utter bullshit.
     3. This "resource" was the starting point before few
        quite young popular programming languages. I haven't
        read it myself but it must be something good to learn
        from it judging by the outcome. Show some respect.
[+] marpalmin|12 years ago|reply
If you want a very well written book (donationware) by an expert in the area on how to create your own language go to http://dslbook.org/
[+] radicalbyte|12 years ago|reply
Seconded. Nice chap on twitter, too.

I'd also recommend any of Terrence Parr's books on ANTLR.

[+] mattjaynes|12 years ago|reply
I haven't read this book of Marc's, but his Owning Rails course is excellent. It's definitely not for beginners, but is great if you're at least intermediate in Rails.

In the course he walks you through how to make a simple clone of the Rails framework. Once you've done that, digging into the Rails source isn't so intimidating.

http://owningrails.com/

[+] jawerty|12 years ago|reply
It's not a scam. I read through the book, it's very interesting. It does actually show a side of javascript I never thought of before.
[+] bencollier49|12 years ago|reply
Wow, that's a hard sell. Quite impressed by the sheer intensity of it.
[+] emersonrsantos|12 years ago|reply
This is a scam. The best way to create a new programming language is using Forth.
[+] swartzrock|12 years ago|reply
So your recommendation is to... go forth and create a new programming language?