Entradas

Lin Clark on Web Assembly

 Lin Clark on Web Assembly, and how he mention everything in the Software Engineering Radio podcast, overall, Lin explains more how this works. She explains everything in a very simple way, what WebAssembly is, how it works, and the idea behind having a very consistent performance, it is very different to a conventional web page, where HTML, CSS and JS are more often used. In the beginning, WebAssembly was designed for PC games, and to work on a similar way to Java, but since it can offer more control, the focus of the language was changed. Nowadays it is used for many applications, a good example is Autocad, and the interesting thing behind this is that you don't need to download anything to make it run, it can actually run directly from the browser, which increase the consistency as well as the speed of the application, this becomes very useful, since also the hardware requirements needed in order to run decrease and makes possible for more people to fully run the program, also,

Building Server-Side Web Language Processors

 The ' Building Server-Side Web Language Processors' helped me to understand the relevance of the web approach in subjects that involve language designs and implementation, the fact that both topics are related creates a complete and rich environment, and of course the recent boom of web involvement in almost anything that is software-related, the cloud, the IOT, everything that is automated nowadays is somehow related to web matters, and I found that extremely interesting. Although, being honest, web development is an extremely over saturated market, it is still very interesting, the possibilities we have today to do things on the web that makes our life easier are almost infinite, the evolution of software has been very clear, but, the fact that the market is rising, also means that our abilities should be even better now, a simple mistake could leave thousands of people with a very bad experience, imagine if amazon would somehow stop working during black Friday?. Mounting a

Ruby and the Interpreter Pattern

  This article was very interesting, specially after the programming languages course, first of all,  the S-expression Interpreter Framework (SIF) is presented as a tool for teaching Language design and implementation. As mentioned at the end of the text, this is taught in the last four weeks of the programming languages ​​course, of course, this fact makes thing a lot more understandable, and after reading it I felt very grateful for having the opportunity to at least understand the way things work. This framework is written in Ruby, which makes thing more interesting since it is a very flexible language and allow many possibilities.  One of the most interesting facts of the framework is the idea of being so flexible that it can be extended to satisfy almost any need, functional languages, imperative programming, etc. Almost anything can be achieved by this and by extending the framework, this of course creates a very versatile environment. And also something interesting to me is the

Mother of Compilers

  Women in technology has always been a very complicated topic, it is typical to see women outstand in many fields, but for some reason, their interest in technology related fields seems to be non existent, this is why this subject has been so interesting, I believe the fact that many complex cases have been solved by women is very interesting, and left me questioning how much better it could be if more women start selecting IT related careers. In the last decades, most of the news reflected only the part of the work that involve men, this left an stereotype that states that only men can achieve success in a technological career, which is entirely not true, the problem is, the stereotype has already done serious damage and this reflects directly in the amount of women studying IT or engineering related careers, although, nowadays there has been a lot of efforts to try and eliminate this stereotype and have more women to select this type of careers. I found Grace Hopper as a true inspir

Internals of GCC

  Only after listening to the podcast "Internals of GCC" by Software Engineering Radio with Morgan Deters is that I was able to understand on a more deep and complex way how a compiler works as well as it's layers. One of the most interesting parts is the fact that Deters explains the importance behind of a compiler, and the fact that the compiler is like the background of everything we know today, without a compiler performing in an optimal way almost nothing would work at all, the efficiency of the compiler is one of the most important things on any programming language, due to the fact that it allows things to run fast and good even though almost no one gives the deserved interest to the subject. Another part that he explains is the layers of the compiler, and how a plain text is read, after that how the text needs to be understood and finally analyze the semantics, he also explains what happens in each layer, overall, he explains the general functionality, from top to

The Hundred Year Languages

  I typically think a lot about how the future will really look like, what type of information will change, which new technologies will be born, but most of all, how different or similar it would be, I imagine that 100 years from now everything will be different, but a question that will always remain for me is, what will be the same?, what has been so well made that it can last for 100 years?, and that is something that this article mentions. Most programming languages are situational, a few years ago no one would have even consider python as an alternative to the founding fathers of C and C++, but nowadays Python has become one of the most popular programming languages to have ever existed, and new programming languages have become very powerful, but as anything, each language has it's own purpose, and not every language works for everything. Is there any programming language that would last for 100 years?, it is very hard to tell, times are changing faster than ever, and most la

Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler

 This particular article changed my compiler perspective in a real ideal way (the perspective not only of the subject but of a compiler in general), I never really fully understand the main purpose of the subject, and the fact that it is considered the hardest one (in terms of programming) and it has changed my perspective due to the fact that it shows how we probably would never need to actually create or develop a new compiler (or compiler in general), but instead the course show us how to manage certain deep level problems that would remain hidden otherwise. In general, the course is designed to help us analyze and structure common problems that we might have to face in the future. The thing that really caught my attention is the abstraction way to see the things and how that could help us to solve problems, the idea behind this statement is to always try to see the problem as abstract as possible, and that could help us to understand the problem on a simpler and modular way which i