Posts

Mother of Compilers

Hi, today’s entry is going to be a little different. In my other entries and blogs, we were always talking about one article, one podcast, one documentary, etc. But today we are going to talk about two, an article and a mini-documentary. I’m referring to the article “Grace Hopper – The Mother of Cobol” by Historian, and the documentary “The Queen of Code” directed by Gillian Jacobs in 2015. Obviously, they talk about the same topic, in resume Grace Hopper as a programmer.  The first one, the article, talks specifically about Grace Hopper as not only the responsible for the Cobol language development, but also for the constant pressure exerted to the industry for computers development and make them in an accessible way. One of her reasons for this was to bring the research and career woman’s interests in computing to the forefront, why? Because she suffered the disadvantages of being a woman with interest in technology and despite that, she became the most famous and important ...

Internals of GCC

Hi, this entry will talk about an episode of the Software Engineering Radio. It is Episode 61 and is titled as “Internals of GCC”. The special guest is Morgan Deters and, basically, this podcast talks about compilers and how they internally the work. It covers all the steps of a GNU Compiler Collection construction (in this case GNU), going from parsing different programming languages to machine optimizations and processor binary code generation.  At first, I thought that I would not understand many things in this podcast since I never heard the GCC concept before. Then I started to realize that it could be used to compile C code, or C++ code or even more. This is why I knew that this might be a very robust tool, so I started to expect a good explanation, which came later. The GCC has three parts or aspects: The Front-End, Middle-End and the Back-end. I already heard the first and last term, since I have some experience in web development, but middle-end was new for me....

The Hundred-Year Language

Hi, this entry will talk about an article titled: “The Hundred-year language”, written by Paul Graham. Basically, it discusses how computer languages (and programming languages) are going or may be in 100 years.  The author started with a curious and, in my opinion, a great comparison saying that in the same way as species, the languages (including computer or programming languages) form a kind of evolutionary tree, where some of them end as dead-ends branches. A clear example is Cobol that, despite its past popularity, it doesn’t seem to have any descendant, fact that automatically converts it in an evolutionary dead-end branch. I bet that in the great Cobol days, nobody thought that it won’t evolve, nor have descendants, nor be commonly used. Then, the author talked about something really controversial speaking about programming languages: the supposed success of the Java language. I think that Java it’s the most known programming language and for many people the better pr...

Making Compiler Design Relevant for Students

Hello, this is the first blog for my Compilers Design course. This entry is going to talk about an article titled: "Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler", by Saumya Debray. Basically, the author talks about the principles, techniques, and tools used during compiler design courses and how those aspects are applicable to a great variety of situations that aren’t exactly considered as compiler design.   First of all, it introduces the article telling us that that Compiler design courses are part of the bases courses imparted to a Computer Science undergraduate at most universities. But the problem is that students didn’t get interested in applying those courses for a real compiler implementation and they are aware of this as they don’t consider that course as relevant. They prefer or think that operating systems or networking courses are better for them.  I really felt identified with this argument, because before read...

Introducing Myself

Hey, my name is José Antonio Malo de la Peña. I think must of you know me as Yuso. I'm at 8th semester of   Computer Science major at Tecnológico de Monterrey Campus Estado de México. I'm not sure what am I expecting from this course, but I want to improve my programming skills while learning a new programming language, in this case, C#. Also, I would like to understand how a compiler works. I think this course is going to be a very interesting challenge. My principal hobbies are: Music. I love listening to music. Specially Avenged Sevenfold, The Beatles, Simple Plan, Joan Sebastian, Dvicio and Morat. As you can see, I don't have a favorite music genre.  Soccer. I play soccer since I was a kid. Despite it is one of my passions, I'm not always happy with it. The reason? It consists of two words: Cruz Azul. Video games. I spent some time playing games like Halo, FIFA, Fortnite, Dark Souls, Resident Evil and The Legend of Zelda. My favorite TV pro...