Entradas

Mostrando entradas de febrero, 2019

Mother of compilers

This blog is about one of the most important women in computer science, her name was Rear Admiral Dr.  Grace Brewster Murray Hopper (AKA Amazing Grace). She is considered as a key element in computer science investigation because she was one of history's first computer programmers and also known as "the mother of compilers" because she built the first compiler ever. This is widely acknowledged cause as we know, building a compiler is a lot of work  Dr. Grace's als0 developed FLOW-MATIC and is the first English-like data processing language. This language makes it easier to build a compiler for another programming language o the root of programming languages tree, is the compiler that Grace built. Almost everything she made is an achievement and well if we think of the industry where she belonged, military and computer science, one can only imagine the difficulties that she faced into trying to fulfill her dreams and goals. Both industries were ruled by men an...

Internals of GCC

This week, I will be discussing "Internals of GCC". A podcast by Software Engineering Radio with Morgan Deters as a guest. Morgan Deters starts this podcast by demonstrating his large range of experience in compiler and compiler design by explaining and talking about his graduate work. Then he starts to explain that understanding how a compiler work's and it's job should be relevant to anybody writing code and I cannot agree more. A compiler's job is to perform and be able to manipulate hardware specs and being able to explode each one of these features. A compiler should produce object code for the target platform. GCC has an interesting design, it consists of three parts, front end, middle end and back end. The middle end goes through the parse tree and gets all the representations of statements and the programs. When you're writing code and trying to make your system totally safe, it is important to know what is going on with your code and how the com...

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

This article may have a really long title, but it explicitly invites you to read it, without having to go through too much stuff. "Making compiler design relevant for students who will (most likely) never design a compiler" is the title for an article written by Saumya Debray. I think this is one of the hardest classes for people in my major, not because it is misunderstood. Everybody gets the idea that they're going to built a somewhat version of a compiler, and that sound like a hard thing to do, therefore, they're prepared for that, and think is way too hard. Compiler design goes beyond a simple or advanced compiler. Compiler have to take a buch of code, and pretty much tell a computer to understand it. How do we make it efficient? Where should we throw exceptions? Why does a programming language behave certain ways. This questions are why compiler design should be relevant to anyone using a compiler for their language; basically, any developer. Lastly, there a...

The hundred year language

This week's blog is about the article titled  "The Hundred-Year Language" written by Paul Graham. This article explains and bases on the principle that everything around us is evolving, mainly technology. Nowadays technology has redesigned our day by day lives. Technology has changed so more of our lives that now we don't even notice how tied nd useful these are for us. Computers used to be huge and not being able to be transported from one way to another. Now they can even fit our right hand pocket. This evolutionary rate is amazing, since I am talking about no more than 25 years ago. We think everything now evolves this fast, but what about programming languages? Do they also evolve as fast? Well the answer is that no, some things have been left out, such as programming languages. Paul Graham tells us that programming languages have not evolved in the same pace as technology because programming languages are not technology, technically. There are mathematics and t...