Moon Machines
Landing on the Moon is a task so huge that not even with my programming skills are sufficient to program a little spaceship to fly above the sky and be able to make it through the space and get to it. I hope someday Amazon sells spaceships that can do what we think is unthinkable now a days. Before 1969, it was unthinkable for a person to walk in that piece of rock that accompanies the Earth while it travels around the Sun. The youtube video "Moon Machines: Navigation Computer"[1] shows in more detail what happened for NASA to get to the Moon.
Leaving aside the complexity of project, one of the biggest concerns was that it involved real persons that would die if anything went wrong. The planning and design of all the people working on this had to be faultless. But as any project, errors happened. The system had to be robust enough to at least get and return to the Moon with the astronauts alive.
The code for the Apolo 11 was published on github here[2]. And there is a article by Quartz that talks about it which was named "The code that took America to the moon was just published to GitHub, and it’s like a 1960s time capsule"[3]. Here is the link. It would be interesting to understand what the code does and try to write it on a modern programming language.
The programming languages that were created before the man landed to the moon were[4]:
As NASA reported, "The on-board Apollo Guidance Computer (AGC) was about 1 cubic foot with 2K of 16-bit RAM and 36K of hard-wired core-rope memory with copper wires threaded or not threaded through tiny magnetic cores. The 16-bit words were generally 14 bits of data (or two op-codes), 1 sign bit, and 1 parity bit. The cycle time was 11.7 micro-seconds. Programming was done in assembly language and in an interpretive language, in reverse Polish."[5].
Today it is not very usual to find programmers coding in assembly language, the design requirements to do so are high. NASA tried to land in the Moon when humanity had the first programming languages which have a lot of design issues and when the devices that could store and process information were not so efficient. This was another challenge which they accomplished.
References:
[1] Riley, C. "Moon Machines: Navigation Computer". Available at https://www.youtube.com/watch?v=IvpfCZECe70
[2] Garry, C. (April, 2014). "Apollo-11". Github Repository. Retrieved August 13, 2017 at https://github.com/chrislgarry/Apollo-11/
[3] Keith, C. (July, 2016). "The code that took America to the moon was just published to GitHub, and it’s like a 1960s time capsule". Quartz. Retrieved August 13, 2017 at https://qz.com/726338/the-code-that-took-america-to-the-moon-was-just-published-to-github-and-its-like-a-1960s-time-capsule/
[4] History of programming languages. (2017, August 11). Retrieved August 13, 2017, from http://www.wikipedia.org/en/History_of_programming_languages
[5] H. Martin, F. (July, 1994). Apollo 11: 25 Years Later. Retrieved August 13, 2017, from https://www.hq.nasa.gov/alsj/a11/a11.1201-fm.html
Comentarios
Publicar un comentario