Entradas

Mostrando las entradas de septiembre, 2021

Mother of Compilers

 Early computers were more about the engineering process than logic, and given the circumstances of the era, computers, mechanical computers and not human computers were considered something that only male could dominate and understand, but software was something where females could demonstrate their abilities. Ada Countess of Lovelace was the first women dedicated to programming.  She worked on COBOL, one of the oldest but still relevant programming languages and helped computing to be everything it is now, she was in computers when computers were not even a thing, programming was not a thing, programs were something, but the process to input code into a machine was hard and expensive to do.   She was curious when she was young, studying harder than most of other students in high school, and doing much more than was expected for a women.  When the US entered to the second world war, she was assigned to the US Naval Reserve. They knew how smart and valuable to the team she could become

Episode 61: Internals of GCC

 As a programmer, you need to make sure that your code will run as best as possible (with a good performance and good compatibility) with the CPU  your program is intended to run, this means that a good compiler for your code is needed, that's where GCC can be used, using GCC you can generate the front end and the back end with little modifications to run in any platform. A compiler will pass multiple times the code to implement everything needed, from the multiple front end implementation that may not be available in C for example, that natively does not support polymorphism, but can be implemented with the correct extensions, or this multiple passes can be used to optimize depending on the platform, operating system or CPU architecture (x86, arm, RISC V etc). Also, the language will delete "garbage code" in the lowest level of your code, will look for small machine code instructions and replace them with faster, better and more secure instructions, increasing the effici