Posts

Showing posts from March, 2018

Chapter 7: The Hitchhiker´s Guide to the Galaxy, The Ultimate Deluxe HD Remake Edition 2.

So yeah, we have finished reading “The Hitchhiker´s Guide to the Galaxy”, amazing read. I just discovered I have been quoting this book without ever knowing its existence (I said 42 was the answer to everything, don’t recall why, should have seen my face when I got to that part of the book). I enjoyed reading every chapter, long or short, it just compelled to my sense of humor (I have curiosity of reading the rest of the series). Not being fond of reading, I enjoyed this book (As well as Ready Player One, that I read last semester, Ariel got a great taste regarding books as far as I am concerned) The references included in this book are incredible, everyday chores, sayings, stories, myths, all taken to the extremes, things that are impossible to happen find a way to be materialized in the story. Everything felt into place in a way to see everything we know as universally improvable (I mean, we could product of the Improbability Drive and we will never know). While there is no (de...

Chapter 6: Should instructors approach Language Design and Implementation with Server-Side Web tools?

The paper I read this time was how Ariel Ortiz explains us the advantages and shortcomings of approaching language design and implementation with building Server-Side web language processors. This was brought up by the author because Compiler design courses are part in the curricula, and while there are ways and tools to explore the subject, nothing is written in stone; new technologies arise and new ways to teach stuff. Making a hybrid curriculum composed from web technology and language implementation into a single course is what was described on this article. There are many ways to implement this, either using the Common Gateway Interface, building over an existing web technology, or even programming our own Web Server. Ariel Ortiz has used this web approach in different courses, in Programming Languages, Language Translators, and Software Development Project, finally concluding that web-based approach is possible, leading to different results depending on methodology used and...

Chapter 5: S-expression Interpreter Framework.

The paper I read this time was about how the S-expression Interpreter Framework (SIF) is presented as a tool for teaching language design and implementation. The S-Expressions described in the paper are parenthesized prefix notation, that helps making code and data easily represented, making the parser easier to write, and no problems regarding operator precedence or associativity. The paper also describes what the Interpreter Pattern consists on, where the program is described as a tree, in which each element is represented by a node, which responds to a special operation called interpret. Using Ruby to build interpreters have many advantages, such as built-in regular expressions, garbage collection, built-in hashes, open classes, and first-class continuations. Another huge benefit from Ruby is that everything is treated like an object, strings, numbers, arrays, hashes, symbols, procedures, and even classes. SIF only supports integers, symbols, list and procedures, where a...