Pages

Sunday, January 15, 2012

From Complexity to Elegance

Hi Everyone,

I just wanted to share some thoughts that I have when I program.

Every time someone decides to program something, in its essence your trying to solve a problem; how do I get the result I see in my mind by using the programming language I know, to instruct the computer to represent that idea and intern the solution. I always find it fascinating how one takes a path to a solution; each problem has a different amount of complexity and depending on your programmatic knowledge defines how fast you reach a solution. In general you take a path where the code is inefficient, complex and it's only once you find the desired solution that you begin to format the code to perform more efficiently, improve readability and form an elegant and simple version that solves the problem you started with.

This concept isn't just applicable to programming; I see it in many different fields too: take technology for example. You start with just the basics, needing resources to develop and the only tools we have were crude and damaged the earth just so we could get the raw resources from the ground; how could we possibly know a better way until we discovered it? or realised that we were causing environmental harm and change the way we develop accordingly? people say bad things about it but always ignore the bigger picture. Just like programming, we need the basics, no matter how crude or inefficient to begin with before we can move towards more efficient and environmentally green technology, the same way we need assembly before we get C, C++ etc. We seem to take a direction in the exact opposite to that of nature yet we are influenced by nature's solutions; nature started with the simple and put together the pieces to form life and the beautiful complexity of the universe though it took a very long time. We are just too large to grab the atoms and put them one by one to make what we need like nature does so we need a different way to make things, we need to start large, with large equipment before we can develop smaller and smaller tools and over the millennia we have finally reached a point were we can place atoms one by one and start to develop technology with no environmental impact; following nature's example and hopefully not too late... you can thank the dark ages for the delay.

Another example is in mathematics and algebraics; we start with a sheet of maths and end up with a much smaller and simplified equation, though small and can fit within an inch, it still contains the same complexity and powerful implications as that sheet of maths we started with but within an elegant form. We can compress the maths behind why the sun shines in just a few expressions. We can place the maths of string theory within an inch or so and the ultimate equation of all beyond the standard model that defines our initial condition of the universe's mathematical structure; the solution to everything, could probably fit within a few centimetres.

For every problem there's an elegant solution just waiting to be discovered, it just takes a little time and patience.

Thanks for listening :)
Ashton.