Entradas

Lin Clark on WebAssembly

 The author was talking about some stuff that immediately caught my attention, the lack of efficiency and reliability in the performance in some code created on JavaScript, most likely due to the way it was implemented and the memory management that it does in order for it to have its annoying any type for everything. As a person who has done many, many development project for web in JS, I can firmly say that I don’t like it and most of the time I try my hardest to avoid it. As a matter of fact since the discovery of Typescript I have never gone back to using the dynamic use of JavaScript. Now that the author is talking about modules (black boxes) that can be used that run smoothly on any device and web navigator. It immediately caught my attention because it mentioned that, of course, no one is going to actually write assembly code directly, they are most likely to use a compiler, or interpreter for it to do the hard work so the hard part of the development up to the compiler in quest

Building Server-Side Web Language Processors

 The author wrote an article about the incorporation of a web sided language processor.  The author argues that incorporating a web sided language processor could be beneficial to the students under his wings, due to the fact that in the 20th century more and more stuff are now migrating to the cloud, which is basically a common fact, now that servers are cheaper and available to pretty much anyone all the time. I agree with the author saying that a compiler of some sorts that is located in the cloud would be pretty nice as it would add to the fact that now computers don’t have to be very powerful in order to compile stuff, also it helps not filling your computer with thrash, specially if you are not some dedicated software engineer.  However, I, a Linux user, find it a little harsh and not very appealing to me for the reason that no matter how well implemented the web sided compiler might be, it will still be kinda slow and probably not as good as the trusty command line. Another impo

Language Design and Implementation using Ruby and the Interpreter Pattern

 I have got to be honest, it is a tough read. I had to read it a couple of times because the way it is explained is a little tedious, specially if you know nothing about the Ruby language.  After reading about it a couple of times I think I got the general idea about what the text is trying to get to, however it was still kind of difficult and a little bit confusing at first glance.  What the author was trying to get at with the explanations described in the article was the use of a bunch of tools that describe a sorta direct way to translate from a language directly into machine code using the language Ruby and the tools it provides. While the idea is a little bit complex at first, it makes sense since languages like common lisp and Clojure work in the same manner.  In fact while reading the article some flashbacks of my days of programming Clojure came rushing back as those days were the days I suffered a little bit with the new (at the time) way of creating structures and making the

Mother of all compilers

 Grace Murray Hopper was an exceptional woman that settle the basis for modern computing, and that not many people know the name or the story, which is kinda sad. Personally I had heard the name before but I always forget and I shouldn’t. Specially since she is the one that contributed the most to the language Cobol. While that language isn’t used as much as it was in the old days. It is one of the most influential programming languages of the modern era.  I now will remember her because of the famous story of the bug in the Mark I, which apparently she was also one of the leading officers of the entire project. Which is also by no means a small feat. I personally find surprising that in the video “The Queen of Code” of Vimeo, it is mentioned that she also helped with the math involved in the creation of the detonation mechanism of the nuclear bomb dropped on Japan during the second world war.  While surprising I really don’t find it weird due to the need during those times of computat

Internals of GCC

 During the interview many ideas crossed my head, for example, I always thought that GCC meant “Gnome C Compiler” instead of “GNU Compiler Collection”. However it was kinda interesting to listen to what one of the collaborators of such a successful and well known compiler has to say about the implementation of a functioning compiler.  As I agree with a lot of the stuff that he mentioned, optimization, removing dead code, bettering the use of memory. But what surprised me the most was that he mentioned that a bunch of different compilers were combined in the same place, because most of them have a bunch of similarities, and not just in the way this were implemented.  He mentioned that the use of context free grammar and compilation trees makes the process of joining a bunch of different languages and contexts to a common point were there can all be implemented, compiled, optimized and deploy. To me that has a very big impact because what that is telling me is that having a very good com

The Hundred Year Language

Thinking about what the future’s programming languages be like, I think is a great thought experiment. Because it allows us to aim to that and create said languages. For example let’s say that it is my job to create said programming languages, as the author says, it is absolutely correct that my design would be influenced by the languages I currently know and use. Which I have to say, I don’t see it as a bad idea at all. Some of the languages we use today (2020) are very efficient and easy to understand (at least to me) however I have mentioned to my friends in the past that I hate and love some of the features that every language has, the description of my perfect programming language would be as follows:     1. The language wouldn’t be indentation oriented like python, I would much rather have to use “;” and “{}” in order to make my code work, I don’t know, it seems crazy to me that for example in languages like ABAP the way to finish an instruction would be a “.”     2. My language

Making a Compiler Design

At first glance learning about compiler design sound fun due to the challenge it represents because it sounds really hard, but at the same time interesting.Learning about how it works and the techniques that it uses in order to make things easier, it sounds even more interesting as it is the philosophy of dividing and conquering that it is one of the angular stones of all programming. I also like the story the author used to describe how having a particular way of thinking about this sort of problems can be transferred into other areas of thinking and as a result it opens a bunch of opportunities to improve my programming skills, as wells as learn new ways to solve complex problems with little code and ingenious solutions. I am super excited to begin learning said techniques and I have big expectations about this techniques to put them into practice for my jobs and personal projects to see what functions better and what worse. Because at the moment of writing this post I don’t understa