Archive for March, 2010

Why physics appeals to me

I really love space. Physics really takes one closer to space than does programming, which is why I considered myself a candidate for physics for most of the past year. Astrophysics; there’s an awesome field. It’s like the elegance of math played out by physics, the instrument.

Haha, I’m trying and failing to be profound.

I want to visit Titan.

And Enceladus.

I want to live on mars and other worlds. Although it’s not as concrete as my other passions, I think my desire to explore space and my fascination of it is more sincere than any of my other interests. It’s a strange, deep-down thing. Programming is a more conscious interest, but my interest in space is.. heartfelt, intuitive? I think it has to do with the fact that I am frustrated that I will not live to see the world any more than a century from now. Of course, I can hope that sometime soon they will come up with ways to prolong life indefinitely, but I think this is what they mean when they say they want to know everything there is to know. To me, exploring space comes very close to that, and physics is one of the tools with which to achieve it.

Haskell

Again from If programming languages were cars…:

Haskell is an incredibly elegantly-designed and beautiful car, which is rumored to be able to drive over extremely strange terrain. The one time you tried to drive it, it didn’t actually drive along the road; instead, it made copies of itself and the road, with each successive copy of the road having the car a little further along. It’s supposed to be possible to drive it in a more conventional way, but you don’t know enough math to figure out how.

[Monadic version:]

Haskell is not really a car; it’s an abstract machine in which you give a detailed description of what the process of driving would be like if you were to do it. You have to put the abstract machine inside another (concrete) machine in order to actually do any driving. You’re not supposed to ask how the concrete machine works. There is also a way to take multiple abstract machines and make a single abstract machine, which you can then give to the concrete machine to make multiple trips one after another.

So here is my hello.hs:

main = putStrLn "Hello World!"