domingo, 26 de febrero de 2017

Mother of Compilers commentary

In the article “Grace Hopper - The Mother of Cobol” as well as in the documentary “The Queen Of Code”, the feats of the late computer scientist and stereotype breaker Grace Brewster Murray Hopper are told. An inspiring story of a woman who not only was outstanding at her male driven area, but also helped develop some of the most used and advanced software techniques to date, such as compilers. It is incredible to think that the term “bug”, the idea behind compilers, and the programming language Cobol could all have their inception in such a magnificent individual. It is hard to decide which is more impressive, her accomplishments, or the fact that she did it all while being a woman in the field. Similar stories are met with different outcomes, such as Alan Turing’s who was in the end, shunned and mistreated as a result of his sexuality. And while one’s sex might have been perceived a little different in such war times, it is still something to be admired to thrive even when the odds are against you.

She DOES look kinda iconic, there should definitely be more merchandise

It would seem it is always important to have a women’s touch when it comes to science. Who would have suggested writing code in a similar language to English other than a woman who sees beyond the established methods and truly pinpoints the requirements of a group of people? Such people are hardly heard of in our field. It is sad to think people admire Steve Jobs over such an influential woman. Certainly, the ferocity and dedication of such a person should be celebrated, and it brings me joy to think there are events and high esteemed prizes named after Grace Hopper. Hopefully, her story Is motivational for men and woman in computer science alike, so that her legacy and idea live on. Cheers to the original grandmaster dragon slayer, Grace Hopper.


 She might not look like much, but she was basically THE OG Grandmaster Dragon Slayer


Sources:

Historian. 2013.  "The Mother of Cobol". Retrieved 26 of February 2017 in: http://www.i-programmer.info/history/people/294-the-mother-of-cobol.html 

McCann, A. 2015. "The Queen of Code". Retrieved 26 of February 2017 in: http://fivethirtyeight.com/features/the-queen-of-code/ 

domingo, 5 de febrero de 2017

In the podcast “Internals of GCC”, by software Engineering Radio, the PhD student Morgan Deters is interviewed in the subject of the GNU Copiler Collection. Various topics related to de GCC are covered, such as its portability, modularity, and inner workings of registers and the “middle end” of the compiler. One of the interesting topics is code optimization, as it is said that the compiler can identify by itself blocks or code that can’t be logically reached or are not needed, and remove them when translating into target language. There is a high implication that programmers may be able to code in an un-optimized way without really damaging performance, thanks to the compiler, so how much could or should a compiler help programmers? Certainly, since processing power has increased, along with programmer’s cost per hour, it is very attractive to allow programmers to stop worrying about optimizing to the maximum degree, when the computing of such code is not as expensive as their initial pay, and the compiler will be able to optimize it a bit too.  

Optimizing might be a thing of the past (as long as you don't try something silly, like calculating Fibonacci recursively or something)


Furthermore, it would seem GCC is so modular and flexible, that it can run in many architectures and compile many languages, raising the question if it is possible to build a “master compiler”, able to handle and input language and use it to generate machine language. The task sound enormous and difficult by itself, but GCC certainly takes some steps toward being multiplatform and Multilanguage. Maybe in the future a master program will be a reality, allowing programmers to forget about optimization or platforms, and really focus on creating functional code that accomplishes their goal. The inner workings of computation itself are fascinating, and the ability to have programs that generate programs by themselves is already a very powerful property, compilers may be able to take that to another level.

Source:

Arno, 2007. "Episode 61: Internals of GCC". Software Engineering Radio. Retrieved Frebuary 5th 2017 in: http://www.se-radio.net/2007/07/episode-61-internals-of-gcc/