Posts

Assembly, trees, context free language, what's going on?

 Hi everyone, in this week we'll dive deep in Episode 61 of the Software Engineering Radio,  where they discuss the internals of GCC. A compiler collection designed to be used for many diverse languages such as Java, C, Fortran, C++, amongst many others. It was a very dense podcast, with lots of information to process which I just think furthermore proves just how complex compiler design is. You must listen very carefully as invited guest Morgan Deters explains the main concepts. Basically there are three layers underneath the GCC compiler, the front end, middle end and back end, each in charge of a different phase of the compilation process, the frond end provides an interface for each of the languages that I've mentioned earlier, constructing an internal tree with all the reserved words and operands that are to be found in the plain text code. You could say that during this first stage, the compiler is going through the semantic analysis phase, placing a node for each of the

100 years of knowledge, how will it look like

 Hi everyone, in this week's blog we'll be discussing a very interesting subject addressed by Paul Graham in his essay The Hundred-Year Language. We're presented with the quesiton, how will programs be made in a 100 years time, how will they look like, how will programming languages look like and certain guesses on what they are going to aim for given the resources we assume computers will have by then.  One feature that stood out to me the most and one that we tend to oversee is simplicity. In an ideal world, we'll be able to write powerful and efficient programs with as little code as possible. Graham gives certain examples such as the concept of numbers being a list of digits, throwing away the idea of strings and making the axiom for a language as simple as possible. This translates into programmers not having to worry about how to optimize the resources they are given, consume time in identifying optimal solutions and letting the hardware handle whatever its given.

Compilers... What do I get out of it

 Hello everyone, in today's blog we'll be discussing an article written by author Saumya Debray. In this article Saumya states the importance of learning compiler design for a computer science student, I found myself very related to how he says that as students we often see this class as knowledge that won't do much for us in our professional lives, since I really don't see myself designing and coding compilers for a living. But it is quite interesting to change perspective on the matter with this article, see it as practices and knowledge to be used universally, not only to design a compiler but to any form of translation.  Personally the one example that stood out the most to me was the database implemented for hospitals in which they would use a query system based on natural language. This could be something very useful under a lot of situations and for starters making it easier for a doctor to do their job. The whole process behind it and how Saumya explains it made

Know me better

Image
                                   Hi, some of you may already know me and for those of you who don't, my name is Irving, currently on my 8th semester, almost at the finish line. I'm very intrigued and somewhat nervous for this course and all the theory there is to it. What I expect from it is to fully understand how it is that we build our programs, the process that goes behind every compilation we do and how is it that our computer understands all these procedures. Compilers are something that are still very abstract and mysterious for me, and to be honest I don't quite understand everything that goes behind them, hopefully by the end of this course, I'll be able to explain at full extent how is it that they function and use this to my advantage when developing any type of program.  Some few things I'd like you to know about me are that I'm really passionate about music, I know a lot of people say this but I really find myself being the happiest while liste