Entradas

Mostrando entradas de marzo, 2020

Mother of Compilers

Today I will talk about the biography of Grace Hopper and her role in the development of the first compilers. 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 computer development and making it accessible. One of her reasons for this was to bring the research and career woman’s interests in computing to the forefront. Because in those times it was difficult for women to find interest in some fields that were “only for men” so she became the most famous and important software experts of the navy. I can say as a woman I really admire her courage for standing out in a patriarchal world. One thing that I didn’t know is that Grace Hopper was the first person using the term bug, one of the most software development terms or concepts used nowadays. The second one, the mini-documentary, talks about exactly the same. It’s like both the article and

Internals of GCC

Today I will talk about the podcast “Internals of GCC”  by Software Engineering Radio with Morgan Deters as a guest. This podcast talks about compilers and how they internally 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 the beginning I found the recording a little tedious, however as it continued I learned a bit more about the subject. I learned a lot of things I never assumed with GCC, besides the fact I've used it for many projects in C. For instance, I thought it was compatible only for C programs, but I found out that it also works for C++, Java, and some other languages. On the other hand, it was very interesting to learn about the compiler working process: it  goes through three different phases in which source code is transformed into target code for the computer to understand it and execute it correctly.

The Hundred-Year Language

Today I will talk about the article titled: “The Hundred-Year Language” by Paul Graham. The author started with 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 into an evolutionary dead-end branch. I bet that in the great Cobol days, nobody thought that it wouldn't evolve, nor have descendants, nor be commonly used. I think that an interpreter is a reduced version of a compiler, that is an interpreter has similar steps that a compiler has. The difference I can notice is that a compiler generates intermediate code, while the interpreter executes a line instruction. But the main feature of both is parsing and processing input using tokens and syntax analysis. It is very interesting when you realize