To begin from the basics, very simply put, a variable in
mathematics is a letter that represents a number. In computer science, a
variable is a placeholder with an identity that stores a value, and the value
could be null too. As we learn more, we see that a mathematical variable can
not only represent a number but also a vector, matrix and so on. Computer
programmers, either by their own experience or by coming in touch with good
guidelines1, know how to handle variables and create complex data structures
like array of hashes out of them. As Linus Torvalds says, "Bad programmers
worry about the code. Good programmers worry about data structures and their
relationships."2 Now, this article isn't going to be some
theoretical citations from mathematics or computer science but something probably
different as you would shortly see.3
Variables Everywhere
Variables, of course, aren't just present as theories
within the boundaries of books. When we drive a vehicle, variables flow in
real-time - the speed of our vehicle, the proximity to other vehicles, the weather,
fuel in the tank and so on. Variables are ubiquitous, omnipresent. We
constantly solve equations in real-time involving multiple variables,
like the bicycle messenger in the movie ‘Premium Rush’, trying to find ways to
our destination. We might even have "Robocop helmets”4 in
future, built similar to the aviation helmets and BMW cars, which help to
assist solving these variables. Let's go from the roads to something higher,
the Burj Khalifa5.
The massive amounts of raw material used, the strong desert winds, the
soaring temperatures reaching 50°C, are just three of the very many variables that were addressed in
evolution of Burj Khalifa. Let’s go still higher… up, up, and above… the
Rosetta mission6. The first spacecraft to orbit a comet nucleus, the
first controlled touchdown of a robotic lander on a comet’s surface, first in-situ
analysis done on a comet and so on, Rosetta was the first in many aspects.
Imagine that you are a trap shooter trying to shoot the clay disk projectile.
You’ll have to extrapolate the motion of the disk and make sure you meet at the
right point to break the projectile. Now imagine meeting an object moving at
the rate of 12km/s separated by 24 million kilometers deep in space! Planning
for a rendezvous that would happen about 11 years later, letting the system
hibernate for about 3 years during flight, using planets as slingshots using
gravity assist maneuvers7, a system that would not just fly far away
and put also launch a subsystem... the number of variables involved is just
mind-boggling! Variables in not just building the spacecraft in a “clean room”
but also when we consider it from the project management perspective.
Equations Solved
Projects like Burj Khalifa and Rosetta obviously can be
achieved only through collaboration of multiple teams working for hours round
the clock. Now we have not one person with one equation but a whole bunch of
people with their own equations. As different people perceive and understand
the same thing differently8, different viewpoints are presented in
the drawing board, brainstorming happens, and solutions emerge for the
equations, though they might not always be the only solutions or the ideal
solutions. So what we see as standing buildings and flying spacecrafts are
actually are equations that were solved and variables understood. Now these
form the templates, and guide those who travel down the same way. What existed
as only thoughts and notions in the minds of few, became something that is tangible
and this is possible because we, either knowingly or unknowingly, form
equations and solve the variables involved.
Let Variables Exist
Einstein introduced the cosmological constant as an
addition to his theory of general relativity to balance the equation of static
universe, but then later had to admit that it was his “greatest blunder” when
observations indicated that the expansion of the universe is accelerating. Not
everything that you see or work upon needs to be equated, not every equation
needs to be solved, not every variable needs to be understood. If everything
can be laid out as equations and every variable figured out, we would be like
automatons on an assembly line.
While artificial intelligence is helping us in ways
unimaginable few decades back, it is still good not to parse everything. Even
Stephen Hawking says that “Once humans develop artificial intelligence, it
would take off on its own and re-design itself at an ever increasing rate. The
development of full artificial intelligence could spell the end of the human
race.”9 We wouldn’t want to let machines with superior computing
power to solve all the variables which are better left unsolved.
The teams that work on various projects, while trying to
solve equations to understand the variables, are composed of variables
themselves. Each one in the team have their own skill sets and talents. We need
to understand the variables in the task that we undertake and our own variables
– our strengths and weaknesses – to achieve whatever we want to achieve.
“Variety is the spice of life” and a corollary could be “Variables are the
spice of life.”
So know your variables, understand them and enjoy life as
it unfolds.
Notes and References
An article that sprung from a thought in an earlier article
1. The
Practice of Programming (ISBN 0-201-61586-X) by Brian W. Kernighan and Rob Pike
(http://books.google.co.in/books?id=to6M9_dbjosC&pg=PA1)
2. http://en.wikiquote.org/wiki/Linus_Torvalds
3. There is a
great difference between "knowing what we say and saying what we
know." I'm going to say what I know think. If you find any errors,
feel free to point out ;-)
4. https://www.youtube.com/watch?v=VcRNVyfCE2U
5. http://en.wikipedia.org/wiki/Burj_Khalifa
6. http://en.wikipedia.org/wiki/Rosetta_(spacecraft)
7. http://sci.esa.int/where_is_rosetta/
8. http://en.wikipedia.org/wiki/Blind_men_and_an_elephant
http://www.einstein-online.info/elementary/specialRT/relativity_space_time
9. http://phys.org/news/2014-12-stephen-hawking-ai-humankind.html
http://phys.org/news/2014-12-artificial-intelligence-hawking-debate.html
I screwed up the HTML on this article but I am too lazy to fix it now :)
No comments:
Post a Comment