Entradas

Mostrando entradas de abril, 2018

Technical Overview of the CLR

This last blog entry is about a comparison between the Java Virtual Machine and the Common Language Infrastructure, and well the idea is that I will talk about this reading and to give an opinion about it, first of all we are going to talk about the benefits of Java Virtual Machines (JVM) and why people use them. The reasons why people use JVM nowadays are the next ones: -        Portability, this is because it is easier to implement different languages on different platforms. -        Compactness, this is because the code is smaller while using them. -        Security, the deployment of everything is better. -        Efficiency, the behavior of a program is adapted to be better. -        Flexibility, better typesafe metaprogramming concepts are created As you can see JVM is a great tool with great advantages which would...

The Hitchhiker’s Guide to the Galaxy

The reading for this Compiler Design course was a book called “The Hitchhiker’s Guide to the galaxy” and it is a book written by Douglas Adams and overall, I believe it is a great reading which I enjoyed a lot, there are great characters and a great plot and I recommend it to whoever reads this blog entry, this is the last book I will read given by teacher Ariel and I really enjoyed the last ride. The book starts with the principal character called Arthur Dent, he is a guy from the earth and the main problem that he is facing is that his house is about to be destroyed to make room for a highway, in a very weird turn of events a great friend of him Ford Perfect (which really is an alien) tells him that the earth is about to go Boom because some aliens want to make an intergalactic highway and earth is on the way (ironic). The reading then follows the adventures of these two characters as they travel into the heart of gold which is one of the most advanced ships in the galaxy and ...

Building Server-Side Web Language Processors

This blog entry is called “Building Server-Side Web Language Processors” and as the last reading it is of our Compiler Design teacher Ariel Ortiz, I am going to talk about this reading and to give a brief opinion about it, nowadays the trend in computing is to leave the local processing behind and to use a new technology or idea which is running everything on the web and while we are focusing right now into building a compiler in our computers, the idea is to build a web compiler and this reading is about fulfilling that idea. There is a high demand for web-based applications nowadays, they make everything far easier to run and as I stated before the challenge is to build a compiler web based, and obviously to build a compiler you would need to follow the same rules which we follow to build a normal compiler, however the difficult part is to fuse this rule with concepts like syntax, security, protocols, etcetera. It is important take into consideration that, even though you ...

Ruby and the Interpreter Pattern

This reading is about an article titled “Ruby and the Interpreter Pattern” and I am going to talk about what I read in the article and my opinion about it, as we have learned many things into this course, there have been several terms used in the classroom, Interpreter, translator, these are words used in the context of compiler design but this reading is about Ruby and it is weird because ruby makes me think in another class, however there is a good reason why ruby is mentioned in this reading, and well it is because as we learned in our software architecture course there is something called the interpreter pattern and with this pattern we can have an interesting implementation (which is exemplified by our teacher the author of this article, Ariel Ortiz). By implementing the interpreter pattern our teacher tells us that we can build S-Expressions that are similar to functional programming languages like LISP, Clojure and F# using a framework called S-Expression Interpreter Fram...

Mother of Compilers

This blog entry is about  Rear Admiral Dr. Grace Brewster Murray Hoppe, also known as Amazing Grace, she is the person that built the first compiler and we are going to dedicate this blog entry to talk a little about her accomplishments, how she made history and perhaps how she changed the world. First of all it is important to talk about her most known accomplishment, creating the A-0 compiler this is the first compiler and well it should be taken as a great accomplishment if we take into account that back in those times men dominated the computer science area and being a woman meant that perhaps your opinion did not matter or that there was a man better suited to do what you were doing. However, she always showed her capacity as a woman to do whatever she wanted to, also being an important member of the army showing everyone that she was unstoppable. And as unstoppable she was, she was extremely important in the creation of the COBOL language, even getting the nickname...

Internals of GCC

This podcast is called “Internals of GCC” and I’m going to talk about everything that is said in this podcast and give a brief opinion of it, a student in the verge of graduate, I have used the C or C++ programming languages in some classes, and each and every time I have used the command “gcc”, this is basically a compiler which is used to compile languages like ADA or C and C++, many people just use the command because they are taught to but it is interesting to know that it is more than just a command, GCC basically provides the infrastructure needed to build whatever you need and this is something that Morgan Deters, the guest in the podcast tells us while explaining everything. In a small parenthesis Morgan Deters seems like a very interesting person and I envy the knowledge that he has and can only hope to have as much knowledge in something someday. Morgan Deters explains us in the podcast that GCC is a small portable compiler, which makes it perfect for our use (as I hav...

The Hundred-Year Language

This entry is about a reading called “The Hundred year language” and I am going to talk about the reading and also give a brief opinion of what I read and well I will start by talking about the evolution of technology, I still remember when I had my first cellphone, it was a big blue and white brick, with somewhat of a touch screen and I was amazed about everything, the camera, the usefulness, the games and in that moment it never crossed my mind to think that many years later I would have something far more useful, portable (and perhaps good looking). This is something in common in technology, everything we have right now was a dream or even something never thought of 10, 20 years ago and if we see the televisions of 10 years ago, the computers, the cars, everything has evolved so fast and become so much more than what they were before that it is crazy to find something that has not evolved from technology nowadays, and programming languages as crazy as it may seem, have not ev...

Making Compiler Design Relevant for Students

This first entry of my blog is about an article called ““Making Compiler Design Relevant for students who will (Most Likely) never design a compiler” and well first of all I want to talk about my fears while taking this course, as I was getting further into my studies, my friends always warned me of Compiler Design, the last difficult course of the career and well this first reading gives me a brief idea about why it is important to take this course and understand everything and how it is going to help me to become a better engineer. This reading gave a great insight into compiler design, as I have progressed in my studies I have used several compilers in several different courses that I have had, obviously they were important for development, however I never thought about how they were built, how difficult they were to build, their parts, etcetera. Now thanks to this reading I know a little about how a compiler works, the parts that compose one (Lexical Analysis, Syntactic anal...