Creating your own programming language is normally not an easy task. It involves a lot of trial and error processes until one figures out how to go about it especially if he or she does not have a guide. The problem is that many of the guides whether video tutorials or books normally give you shallow information. It’s very frustrating trying to follow a guide that only offers you what you already know. The first thing one needs, is a great manual and how to create your own freaking awesome programming language a book by Matz is a good example of such a manual.
The author has a variety of other well renowned books that have to do with computer languages. The book has fifty three pages which are well divided to providing the key information starting with the basics. The book starts with a short introduction that also contains pointers to well established projects which is then followed by different chapters that are divided into various subjects. This book offers comprehensive and detailed information on different subjects. Some of the subjects are covered include;
- Runtime, bootstrapping and self hosting
- Compilation using LLVM
- Lexer with python style indentation
- Parser using Racc
The skills that you learn can be added on to your resume and can make you land a really cool job. The skills are also fun to use and can be a great pass time activity. The language is similar to ruby and python but very dynamic in its own unique way. It can be also understood even though you are not experience on ruby. This is because the author has kept the code as simple as possible although it’s in ruby. The book does not focus on how to build a production ready language but rather dwells on giving you a great introduction on building your own first toy language.
The creating your own programming language system will give you a walk through each step of building a language in a way that you will understand. The new concepts that are introduced at different sections of the book apply the principles highlighted finally all build together to a language. In every training that impacts skills on an individual, practice is very important. That is why at the end of each technical chapter there is a do it yourself section that give you a chance to practice. The section also has some language extending exercises and solutions can be found at the end of the book.
The step by step method that is used has a huge advantage over other books because of its ease to understand and very practical. For highly advanced programming experts, the book might not be ideal for you since it is designed to give relevant and basic information to beginners. Another advantage is that they offer a money back guarantee if one finds that the book does not work. The book is value for your money since it is hard to find a good source of comprehensive information outlined in a clear and easy to understand matter.