Entradas

Mostrando entradas de abril, 2020

2-5: Lin Clark on WebAssembly

The goals of WebAssembly is to make it possible to have consistent performance in your applications. WebAssembly gives you a language that gives you the behavior of JavaScript and more features in order to achieve a better performance than JavaScript because this programming language was designed to be easy to use not to have an excellent performance. For example, the PC games in webpages (most of them) were develop with JavaScript; first, we need to remember that JavaScript it is not a language that was created to develop games, it was created to be easy so, naturally, it was. normal that this kind of web games have frame drops because of the language per se. At this point, the question that arises is "What is WebAssembly". WebAssembly (abbreviated Wasm), is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C, C++, Rust, enabling deployment on the web for client and serve

2-4: Building Server-Side Web Language Processors

I completely agree with the point of view that Ariel Ortiz gave in the paper "Building Server-Side Web Language Processors". In this paper he covered a lot of topics that I have been learning during all my courses of my professional career. I found interesting that he briefly and concisely describes how you can mount a webserver from scratch and also liked that he warned us that this was not trivial and was time consuming. I learn how to mount a server using an EC2 computer (AWS service that allows you to have a computer on the cloud) in my Web Development course. At the start of our eight semester the instructor Ariel Ortiz told us that the compiler will be going to be on a webserver. At first, I though "Ok, I was not expecting that" because the previous course of compiler design was directly run on terminal. But then I thought that it was a good opportunity to try new things that will give me more tools to my future work, so I am a little desperate to get

2-3: Ruby and the Interpreter Pattern

It is important to have in mind the following things when we talk about the S-Expression Interpreter Framework (SIF). First, the SIF follows the lisp-like notation, this means, that in order to write programs you need to have a little knowledge of how to write programs in Lisp (that is why Ariel Ortiz taught this topic in the last 4 weeks of the course, in order to be familiarized with all the topics that were covered in this paper). Another thing you need to have in mind is that SIF is written in Ruby programming language (many classmates mention me that Ruby it’s like Python but in steroids). Know, let's analyze how SIF works in the backstage. If you want to implement a totally knew special form, you will need to do it a certain way in order to let the compiler do his job and do it right. So, in the case that is covered in the paper (the if special form), you need to define a new class that NEEDS to be a Node in order to be used as a node for the interpreter pattern tree, al