lunes, 12 de octubre de 2020

Lin Clark on WebAssembly

 

This time we got to listen to a podcast for our Compiler Design Class. We listen to Lin Clark, a programmer that makes cartoons to simplify the explication of a code, and member of many groups to develop in Web Assembly. Lin explains what Web Assembly is and what are its uses and advantages over not using it.

Web Assembly is made to give the programmer more versatility over web development. You could say that Web assembly is come sort of compiler. It gives a small set of operations for the higher-level language to compile. Generally, it can be written directly in assembly but it is better to use a compiler tool, so people write in C or C++ which are languages that gives you more control to manage your resources such as memory. Web Assembly is useful because there are some complications that won’t allow to make JavaScript to work properly or faster, so Web Assembly allows more consistent performance on all browsers. In the end the goal of Web Assembly is to makes it possible to have consistent performance through all app. In addition, many developers such as Lin Clark or working on making Web Assembly easy to use with today’s Java Script tools.

As we know a web application consist on three languages needed, they are: HTML to give structure, CSS for style, and Java Script to give behaviors However, Java Script wasn’t designed to run quickly but instead it was design to develop applications faster. So here is where Web Assembly becomes very useful. For target use case examples, you can use it in a pc games to prevent gaps in animation performance. Adobe know has versions that run on the browser and Web Assembly allows it to run smoothly. Some programmers have even reported that using it can raise the speed up to 6 times more.

I find this new tool incredibly useful and I like that there is a growing community that is building more support and tools for it. I am curious on how I could use it in my own projects.

lunes, 5 de octubre de 2020

Building Server-Side Web Language Processors

 

Let’s talks about the article “Building Server-Side Web Language Processors” by Ariel Ortiz. In short, the articles discuss some very interesting aspects of using a web approach to many computer sciences courses. In simple words giving students a project that they can visualize working on more applicable environments such as web servers can be more attractive and rewarding than a program just running in a command line. The article also gives some of the author’s personal experience with giving classes using this approach.

I agree completely with this article, in my personal even though it is more time consuming and sometimes simply frustrating I feel I learn more when doing project that I could see being used for real life jobs such as building a web pages, web server o a compiles. I still remember how interesting yet sometimes frustrating it was to build a full playable video game for one of my classes, I understood the requirements, the applications and was able to apply the knowledge learn in class.  Yet in contrast the classes that only concentrated in very specific aspect of computer science and where either mostly theoretical or just practice where the ones that made it the hardest for me to retain the information and later on applied it on more practical stuff.

In addition, just like the article states it gives some diversity to the student’s curriculum specially nowadays that web bases development is growing exponentially every time. So, integrating this extra knowledge to students will be beneficial for the long term. The only downside it that this added step may cause too much overwork to students if it is not planned carefully and the workload isn’t balanced correctly form both sides the teacher and the students. Even if the results are a well done work it will mean nothing if the student ends up hating his or her career.

In conclusion I love this type of approach but I think it has to be planned very well or it night just add more stress to an already very difficult course.

lunes, 28 de septiembre de 2020

Ruby and the Interpreter Pattern

 

This article was difficult to read for me because it is very technical, and I tend to be distracted easily. In addition, a need a more kinesthetic method for learning so just reading the application but not having anything I can do myself made it harder for me to learn the subject that was explained in the reading. That being said, I actually thanked a lot the small summarize put in each phase and the examples made it much clear for me.

The S-expression Interpreter Framework or SIF for short is a very useful tool to teach language design and language interpretation. It is based on the interpreter design pattern and it uses Ruby this allows to extend its capacities by adding primitive procedures and special forms. It is very useful to demonstrate different programming styles as well as advanced concepts of programming languages, such as variables, scopes, and continuations.

It explains the steps followed during the interpretation process. Something that helped me a lot was how the author explains the difference between the syntax interpretation and the semantics interpretation it made me realize that the order in which this two happen is very important. The syntax must be checked in the initialize method and the semantics in the interpreter method.

In conclusion, I think this was a very good lecture that I can relate to the current project we are doing in our Compiler design course. Even though, I don’t know Ruby I feel we could learn this quite fast since it is made to be easy and clear for the students and for me that is very important.

Lin Clark on WebAssembly

  This time we got to listen to a podcast for our Compiler Design Class. We listen to Lin Clark, a programmer that makes cartoons to simpl...