lunes, 14 de agosto de 2017

Moon Machines (Commentary)



I have always stood by the idea that one of the most important milestones a species can achieve is to exit its own planet's atmosphere, since no known living being is conditioned or wired to do so. Birds have the sky, an assortment of creatures have water, and we share the land with a bunch of other animals. What pursuit could be more worthy of admiration than to find our own place among the stars we have always looked upon?

The moon landing is seen as one of the most important moments of human history, and with good reason. It is very easy to get distracted by this notion, as well as by the grandiose air surrounding the whole afair, and not take into account that this was the result of the collective effort of several people. Particularily, I would like to focus on the software aspects of this effort.

As I look at some of the more modern inventions like GPS, data compression, or face recognition technology, I can only imagine the amount of code that went into these very complex contraptions. And this is all considering modern programming languages such as C#, Java, Python, etc. which are languages with a very high level of abstraction. Back in the day, the whole lunar ordeal had to be done bit by bit.

I don't know how a code snipet that is supposed to get you to the moon looks like, but I assume it is no 2 line program. To consider such a complex task was done in the lowest level one can program is mind numbing. I compare it to telling each and every transistor, one by one, what should be done and when, something that couldn't be achieved in today's processors considering the ever growing quantity of transistors in each chip (according to Moore's Law).

No hay comentarios:

Publicar un comentario

An Introduction to Metaprogramming (Commentary)

Metaprogramming seems to be a useful tool when one is actually able to use it to solve a real practical problem. Otherwise, metaprogrammin...