Posts

Showing posts from September, 2021

Ruby and the Interpreter Pattern

 Language Design and Implementation using Ruby and the Interpreter Pattern Hi everyone, hope you and your family are doing great. Today we are taking a look at the paper   “Language Design and Implementation using Ruby and the Interpreter Pattern”  by  Ariel Ortiz , the excellent teacher that had showed me and my colleges really difficult but interesting topics throughout the hole Computer Systems Engineer degree.  The main topic of the paper is the S-expression Interpreter Framework (SIF), which is based on the interpreter design pattern and is written in Ruby (I personally have only worked with Ruby in another class with professor Ariel, and I really enjoy it, I’m looking forward to learning more about it, specially Ruby on Rails), but the main focus is how this can be use as a tool for teaching language design. A good software engineer needs to study and practice multiple programming paradigms, such as functional programming and imperative programming, and here is how SIF can help w

Mother of Compilers

 Rear Admiral Grace Brewster Murray Hopper was a pioneer and genius women, responsible for really amazing advances in the computer science field: She saw an opportunity and a way to make easier for all people to develop software, here vision was to write code in plain English, and with that idea she developed Cobol language. Grace Hopper saw the necessity for a high-level language before anyone else, she wanted computer to be able to use the same language regardless of the machine type, she was really ahead of her time.  Both the article and the video   gives us a great resume of her amazing life, her impact and her legacy that remains to today. I was left with an open mouth to hear her achievements and genius. Truly a remarkable woman that we as software engineers own her a lot. One important factor is that Grace Hopper achieved this in a man only environment, she was fighting a battle that still remains to our days, the inclusion an opportunity for women is a problem that we are figh

Internals of GCC

Compilers are a tool that most programmers don't think about, we are used to high performance, quality compilers that we just use them and give them as granted. However, know I find very interesting to learn how a compiler works, how it interprets my code, how it optimizes it, the components of the compiler and all the parts that form it. This is also really important because learning the low level of a compiler could be useful in another areas of software engineering. Thanks god we live in an era that computer software is really advance, in most cases we work with compilers as black boxes, we write the program and the compiler do all the hard works for use, I'm not saying writing a good program is easy, but we now just work with high-level stuff.  This week, we listen to the podcast " Internals of GCC " by Software Engineering Radio with Morgan Deters as guest. The podcast does not get too technical, but it gives us enough to understand more than just the high-level