Posts

The Hitchhiker’s Guide to the Galaxy

The Hitchhiker’s Guide to the Galaxy has been one of my favorite book of the year, I typically enjoy the most of fantasy books and of imaginary worlds and tales, so I found very intriguing the story behind the book. Honestly as I was reading, I found many unexpected turn of events on what direction I thought the novel was going to take, which obviously maintained me reading it because I was never certain what was going to happen, one that impressed me the most, was at the beginning, although I did not know much what the novel was going to be about I was very surprised when the earth was blown so quick and without much hassle just at the beginning of the story. Another thing that I liked about the novel was its humor, it was sometimes quite subtle or maybe sometimes it was unintended but one of my favorites was when they were bothering Arthur to move so they could demolish his house a build a bypass and then the same happens but with earth, they destroy to build an intergalactic by...

Technical Overview of the CLR

In this blog I will be discussing about the paper call Technical Overview of the CLR written by Erik Meijer and Jim Miller. At the start the authors speak about how Virtual Machines and intermediate langauges are important nowadays and how some of the trending technologies that exist in the media and why people have found them very usefull. It is mentioned why these type of technolgies are becoming a trending, the authors consider this is because the following characteristics: portability, compactness, efficiency, security, interoperability and flexibility, which we can agreed are things we are expecting in technologies nowadays. In the next section of the paper, it is explained the architecture of the common language infrastucture, in which explain every elements that includes de CLR. To resummy this article. we could said that is basically it's purpose is to give an introduction to the concepts and elements of an intermediate language, which is a very complex and generic language...

Building Server-Side Web Language Processors

For this entry the article is from our teacher, this article is called “Building Server-Side Web Language Processors”, the article wants to explain that it is possible to build a language processor in a web environment, the importance of adapting our work to a web interface and the different areas which need to be considered when trying to do this ourselves (because it can get tricky). The article tells us that developing a language processor for web its not easy, it has a lot of challenges, not only the challenges we face while making a regular programming language, but also the challenges that come with having a web development, for example the handling of the HTTP, security, adaptability, the specifics of each browser, etcetera. There are several tools and practices which we can use to deal with these problems and overall it is a very laborious task. It is important to know the inner works of how a web language implementer works, the reading emphasizes a lot in this, and it is recom...

Ruby and the Interpreter Pattern

The article Ruby and the interpreter pattern, written by my professor of compilers design and software design, Ariel Ortiz, is a paper that describes the SIF Framework which basically is, using Ruby as a base, he created a framework to be able to make LISP-like functions or more well known as S-Expressions. The Author mentions he uses Ruby to teach about this design pattern because of its functions and way it is made that does not make the students feel like they are cheating on how they are approaching the problem. In the article que mentions he uses the interpreter pattern which he mentions it is a way of structuring the data like a tree and in which every part of the source code is represented as a specific kind of node. I can see why we are reading this for our class, since our professor is teaching us how to make the design of a compiler and the example given uses the same design of a tree with nodes for each specific need. And understand why this design pattern since it simplifie...

Mother of Compilers

Everything has a mother or a father, sort of, everything must be created first by someone or something and when we talk about compilers Grace Hopper is the one we should be looking for, as the title says, Grace Hopper is called the mother of compilers because she rightly won herself that name in an era where there were already computers and everyone had to wrote programs depending on which computer they we working with and not everyone could write programs because it usually required big knowledges in mathematics she thought that thing should change and because of that she developed what has come to know as the first compiler next to the first programming language for a more common use COBOL so more people could use computers and program things that would help them in the different task, if you know about compilers you will understand that this is not a trivial task, even more considering the time in which she was working where this area was completely new, because of this we can assu...

Internals of gcc

For this week’s blog, we listened to the podcast about more or less how the gcc compiler works. I find interesting the fact that the compilers has 3 levels, these levels are crucial to the correct functioning of the compiler, because this compiler has to work on different platforms, operating systems and computer architecture. This approach makes the compiler modular, so the front end of the compiler only has to worry about the analysis of the source file and parses it into a tree called the abstract syntax tree. I’ve always wondered how a compiler get all the information from the code and execute everything in the right manner, specially recursion, that is something that blows my mind when I use it (specifically because it generally takes me more time to debug a recursion in comparison with an iterative approach). On the podcast they talked about the abstract syntax tree, which is a tree based on the hierarchy of each operation that was once source code. It is very fascinatin...

The Hundred-Year Language

 This reading is called “The Hundred-Year Language” and the idea behind this reading is that we live in a time in which everything around us is evolving, mainly technology which nowadays has changed many things in our society, how we interact with each other, how we search for things, how we even buy things and overall everything that we have of technology right now would have been impossible many years ago, if we compare the first computer to the device in which I’m writing this entry right now, first of all the first computer was giant, while this device fits in my backpack and has several times more power than that first computer, this is crazy and the rate in which this technology evolves is amazing, in some years perhaps my phone is going to be far more portable than my computer, and far more powerful and well this is the world we live in right now, a world where everything has evolved for the best, right? Well the answer is that no, some things have been left behind and one o...