Mexico and Compilers
Being in Mexico I was in Mexico for spring break and it was awesome! We swam in the ocean, ate a lot of great food, and me a lot of really cool Mexican people. However, most of the time, it was difficult for me to communicate with them. My girlfriend, who has much more practice speaking Spanish, did most of the communicating, but I’ve been practicing with Duo Lingo for the past couple months, so I was able to understand almost everything, but couldn’t quite pull off an entire conversation. Either way, being able to communicate or at least being able to understand someone else is amazing, and learning another language highlights that feat of evolution.
Learning a new language Learning a new language might be the most difficult thing I’ve ever done. Trying to reorder sentences is especially difficult. It’s really easy to use words, but to create sentences of different structure in a different language with words you’re hardly familiar with is nearly impossible without a lot of practice. Either way I’m stoked to continue practicing and learning (If any one wants to practice Spanish with me let me know!) All of this language thinking really made me want to draw parallels to the computer science world!
How compilers are like the brain translating. Computers are just layers of abstraction, taking logic created at a lower level to build upon using instructions of higher orders of complexity. The logic gate is a lot like something existing at all. Now if we can get this thing to exist in a way we can tell it to take shape as anything we want, as long as we have enough power to control, conceive, and destroy an object it might as well actually exist. Again, it just takes a single thing existing to generate this amazing virtual object. Okay, I love this stuff… Back to languages, if this object can communicate with other similar objects it’s a lot like a language that we both understand, or a standardized protocol. But, if we are trying to communicate between two objects of different languages it’s a lot like compilation. (I just had my first day in a Compilers course taught by Prof. LeBlanc at SU) Compilers are a lot like the brain translating Spanish to English! Marking phrases, recognizing syntax and phrases, and parsing could be seen as functions of the brain. That is amazing.
Language is amazing. I’m excited to learn more about compilation.