Entradas

Mostrando las entradas de septiembre, 2020

Language Design and Implementation using Ruby and the Interpreter Pattern

 I have got to be honest, it is a tough read. I had to read it a couple of times because the way it is explained is a little tedious, specially if you know nothing about the Ruby language.  After reading about it a couple of times I think I got the general idea about what the text is trying to get to, however it was still kind of difficult and a little bit confusing at first glance.  What the author was trying to get at with the explanations described in the article was the use of a bunch of tools that describe a sorta direct way to translate from a language directly into machine code using the language Ruby and the tools it provides. While the idea is a little bit complex at first, it makes sense since languages like common lisp and Clojure work in the same manner.  In fact while reading the article some flashbacks of my days of programming Clojure came rushing back as those days were the days I suffered a little bit with the new (at the time) way of creating structures and making the

Mother of all compilers

 Grace Murray Hopper was an exceptional woman that settle the basis for modern computing, and that not many people know the name or the story, which is kinda sad. Personally I had heard the name before but I always forget and I shouldn’t. Specially since she is the one that contributed the most to the language Cobol. While that language isn’t used as much as it was in the old days. It is one of the most influential programming languages of the modern era.  I now will remember her because of the famous story of the bug in the Mark I, which apparently she was also one of the leading officers of the entire project. Which is also by no means a small feat. I personally find surprising that in the video “The Queen of Code” of Vimeo, it is mentioned that she also helped with the math involved in the creation of the detonation mechanism of the nuclear bomb dropped on Japan during the second world war.  While surprising I really don’t find it weird due to the need during those times of computat

Internals of GCC

 During the interview many ideas crossed my head, for example, I always thought that GCC meant “Gnome C Compiler” instead of “GNU Compiler Collection”. However it was kinda interesting to listen to what one of the collaborators of such a successful and well known compiler has to say about the implementation of a functioning compiler.  As I agree with a lot of the stuff that he mentioned, optimization, removing dead code, bettering the use of memory. But what surprised me the most was that he mentioned that a bunch of different compilers were combined in the same place, because most of them have a bunch of similarities, and not just in the way this were implemented.  He mentioned that the use of context free grammar and compilation trees makes the process of joining a bunch of different languages and contexts to a common point were there can all be implemented, compiled, optimized and deploy. To me that has a very big impact because what that is telling me is that having a very good com