Entradas

Mostrando entradas de marzo, 2020

Entry #5: Mother of Compilers

In this entry, I will talk about Rear Admiral Dr. Grace Brewster Murray Hopper, also known as “Amazing Grace”. If you have read previous entries from this blog, you may have noticed that I read one article, listen to a podcast or watch a video; but, for this entry, I will talk about the 2013 article titled “Grace Hopper – The Mother of Cobol” from the “I Programmer” web site and also about the 16 minutes long video documentary “The Queen Of Code”, directed by Gillian Jacobs in 2015. Grace Murray Hopper (1906-1992) was a computer scientist and Navy Rear-Admiral of the United States of America. She is considered the Queen of Code, as the people will remember her as the creator of the COBOL programming language, one of the first compiled computer languages which opened up the field of programming to people who didn’t have a high-level math degrees. Moreover, she was the first person to bring the idea of a compiler to make programs easier and more readable. She is also remembered

Entry #4: Internals of GCC

"Internals of GCC" is a 53 minutes long podcast produced in 2007 by Software Engineering Radio with Morgan Deters as guest. GCC is a set of compilers for various languages including ADA, C, C++, Fortran, Objective C and Java at one point.  GCC provides the whole infrastructure to build software in those languages mentioned before, going from Source Code to Assembly. GCC works in three main sections, each one works in a different aspect of the compiler: Front-End: In this section, the compiler acknowledges the language we are using to generate a tree structure that shows the program description and that will pass to the next section. Middle-End: In this section, the optimization of the tree passed from the Front-End section occurs. This section makes the code more efficient and makes a transformation to a more generic code, as it takes this generic form and converts it into low-level structures called Register Transfer Language (RTL). During this process, some optimi

Entry #3: The Hundred-Year Language

“The Hundred-Year Language” is an essay by Paul Graham, derived from a keynote talk at PyCon 2003. The essay explains why languages do not evolve as technology does, the author mentions that languages evolve slowly because they're not really technologies, as languages are notations.  A program is a formal description of the problem you want to solve using a computer. The rate of evolution in programming languages is more like the rate of evolution in mathematical notation than transportation or communications, because, Mathematical notation does evolve, but not as technology does. Paul Graham mentions that the fundamental operators are the most important factors in a language's long term survival so the rest of the language can be changed as it can be fixed later while operators don't. Also, many of the languages are written based on these fundamental operators.  In order to have the hundred-year programming language is that we should not only see a good langua