The Rewards of Creating a Programming Language
mikedrivendevelopment.blogspot.com
The Rewards of Creating a Programming Language
1–10 of 88 posts
Re: The Rewards of Creating a Programming Language
#2Re: The Rewards of Creating a Programming Language
#3Pretty cool, never even thought about this being possible.
Re: The Rewards of Creating a Programming Language
#4The world does not need yet another reskin of Java, but it could use new programming paradigms and new ways of solving problems.
As a learning exercise, implementing a language is worthwhile simply to gain the understanding that languages are not magic. To boot, you’ll pick up loads of useful techniques in the realms of parsing, data flow analysis, error reporting, and optimisation.
Re: The Rewards of Creating a Programming Language
#5Re: The Rewards of Creating a Programming Language
#6> Notice how not a single variable in this code has a name. They all only have types. Pretty cool, never even thought about this being possible.
Re: The Rewards of Creating a Programming Language
#7Another interesting thing to try (and maybe complementary as well) is building an interpreter or compiler for a language you like, trying to match the spec and feature set as closely as possible, and (hopefully) gaining more insight into the tradeoffs the language designers made when deciding why things are the way they are.
Re: The Rewards of Creating a Programming Language
#8Re: The Rewards of Creating a Programming Language
#9Another interesting thing to try (and maybe complementary as well) is building an interpreter or compiler for a language you like, trying to match the spec and feature set as closely as possible, and (hopefully) gaining more insight into the tradeoffs the language designers made when deciding why things are the way they are.
I definitely recommend targeting languages that already have robust test suites. It makes things a lot easier. I was going to do a JS implementation a while ago, and there is a pretty solid suite for that from the ECMA[3], but it's kind of hard to extract. One of the things that made ruby so fun was that the test suite that existed at the time was rubyspec, which is actually written in ruby. Just getting to the point where I could run the specs was a huge moment where the implementation reached a measure of usability.
[1] https://github.com/stormbrew/channel9 -- it's a perennial project for me, it can run an old version of mspec+rubyspec as a ruby 1.8.6 implementation. Note that I skipped the parsing, leaving that to an existing parser written in ruby, because parsing ruby is a bigger project than a ruby-compatible VM.
[2] https://github.com/stormbrew/channel9/tree/master/environmen... -- see class.c9s and object.c9s for the vm specific script the fundamental implementation of language features is written in.
Re: The Rewards of Creating a Programming Language
#10The author says he turned to Coursera, but doesn't mention the course(s) he took, but I'm going to guess it's the the 'Compilers' class from Stanford[0]. I've heard good things about the course and the lecturer (Alex Aiken) so I really wanted to take the course while it was being offered but was too busy last year. I hope they offer it again this year. https://www.coursera.org/course/compilers