Entradas

Web Assembly

  Web Assembly looks like a really powerful tool for web development once it is completed and all of the features are out there. I really liked that at the end Lin gave the advice to not use it for application development just yet, it felt like honest, and it is important to recognize the present capabilities of your software. Although the blog is from 2018, so I am not sure how much has Web Assembly improved in these 3 years since.   Looking at the Web Assembly Concepts page that we had to read for the quiz it still says that it still can’t directly access the DOM so I will suppose that it is still not ready for applications. Programming this kind of compiler with efficiency being such a large focus can’t be easy. Probably Web Assembly would have been a nice tool to learn in the Graphics course as right now we are using libraries of JavaScript to do our projects and the teacher gave us a warning of being mindful of which models we use as they may cause performance issues. Some of us

WebLang

I did not know that this course project had different versions, the web based version sounds interesting such as I would consider web development one of my weak points so it would help to strengthen it and have a deeper understanding of web development, but at the same time is one of my weak points so the course would have probably been harder. The advantage of the C# version of the project is that C# in the compiler faces we have done is really similar to other object-oriented languages we have used, so it is not really hard to adapt to it. Although at the moment we haven’t had the need to use some of the more advanced things we read about in the book. Something that really piqued my interest, and I would really like to learn is to set up a web server as it sounds like something important, but in previous courses was skimmed over and only seen really briefly or replaced by AWS buckets. Also, I did not expect to read about the changes that this undergraduate program has gone throug

SIF

  I would not consider the Clojure interpreter implement with Clojure that we saw during the Programming Languages courses as ‘cheating’, but certainly the SIF interpreter does look like a more interesting example. Just that S-expressions make me remember Clojure and I tried to like it, but I could not. While reading the article I became more impressed of Ruby as a programming language as it has some really interesting features such as the code blocks that I would like to learn better because I do not understand them completely, that every class even the base classes of the language can be easily modified, or that you can modify classes mid program although that one I am not sure in which situation would be used. Overall, I am enjoying Ruby a lot more than Clojure. The exercise sounds like a good way of improving object-oriented programming while better understanding interpreters and the particularities of Ruby, although the choice of Ruby as the programming language seems kind of we

The Queen of Code

  First of all, I agree her story should be more widespread in the computer science field, I had heard her name before as the mother of COBOL, but she was only fleetingly mentioned. Her contributions to the field are enormous ones as it allowed the field to become more widespread and therefore reach more people and change how we do things. I agree with the statement that her life and contributions should be taught like Turing and other important figures of the field are taught. It was a nice documentary about her, and she seemed like a really interesting person. A short one, but it manages to capture your attention during every moment. It is really nice that Grace Hopper was recognized and you can see that she was proud of what she accomplished and that the women talking during the documentary really had an admiration for her. Without compilers and higher level languages, programming would be a much more difficult task, I remember when we had to program in assembly language and even

Internals of GCC

In the podcast when Morgan Deters speaks about the internals of the GCC compiler it was interesting to note how the compiler compiles itself first using the C language to compile like a basic version of itself and then using that basic version compiles the full version, so that it does not assumes that the system has features of libraries that it needs, after the classes on the tombstones diagrams this makes sense and seems like a smart solution. Also building the whole front end without classes to avoid relying on features a system does not have is a really nice solution. I haven’t asked myself how they implemented in a compiler features that the language did not support and seeing that they use “cheap tricks” like the one he describes to implement polymorphism, but it makes sense that some creative solutions should arise to fill those functionality voids. I got really lost in the register allocation phase part of the podcast, I did not understand that part at all. It would be nice to

Hundred-Year Language

  The hundred-year language was a really nice thought experiment highlighting some trends in modern programming languages and how the axioms of a language should be written. Probably the most impactful part of the article was when the author assures us that most of the extra cycles of a future computer will be wasted, it even made me laugh cause it most certainly will be a correct prediction. In the whole career I have never been told not to waste bits in my programs, only once I had been told to not waste memory and that was in high school while programming a microcontroller in C for a counter circuit. Indeed I was beginning to think of it as wasteful until he raised the point where it is most outrageous to waste programmer time, than computer time as in my little experience of having to work with limited resources, it does add things you have to be mindful of while programming. The reading even made me laugh when the author dissed pearl and object-oriented programming although I do n

Relevant Compilers design for students

  I will admit the article did get something I was thinking of the course, that the overall objective of learning to design a compiler seemed a little too niche, not something I would be doing as a job. But I did realize that the exercise of designing something like a compiler could give us some of the principles and experiences needed to design several other types of software. I previously to this reading haven’t realized that some of the experiences could be translated more directly to certain kinds of software, its just that a compiler sounds like a really specialized kind of program. I like the approach that the paper gives in that this course can help solve a broad range of problems related to translating. This paper helped me to better understand the phases of a compiler and what they do because I was still a bit confused and the example where it explains the translation from text to a drawing of a graph was specially useful as it felt simple and correlate each step to the resp