GCC from the inside

 This week, we listened to the 61st episode of Software Engineering Radio, featuring Morgan Deters, where he explained the internal workings of GCC. I'm not going to lie, I understood maybe 40% of everything he said in the episode. I'm guessing, as it has happened with previous entries, and in previous courses, that I'll come to understand more as we get more hands-on in class, so I've bookmarked the podcast so I can listen to it again later. The hopeful part of me is also hoping to understand the GCC files Deters recommended at the end of the podcast, but realistically, I know it'll be a while before that happens. 

Now on to the parts that I did understand. What was said in this week's podcast confirms what we concluded from our blog a couple of weeks ago: even if you don't ever plan to touch a compiler, it's good to understand how they work. As for new information, it introduces some useful concepts to keep in mind, not only for compilers, but for programming in general, such as the importance of modularity, the use of the middle-end, and other steps to help optimize the performance of the compiler. I understood where most of the concepts fit in the puzzle, but I think I'm missing some information before I can fully grasp the specifics of the concepts. 

I think we're on the right path regarding what we're learning. Although I only understood part of what I heard, I think if I'd listened to this podcast a month ago when the course started, I wouldn't have been able to understand a single word. Regarding my career as a whole, I think I'm starting to understand more and more how compilers will help me better myself as a software engineer, and I can already see how some of the tricks used for writing compilers could've been useful (and will probably be useful in the future) in the projects I've done in the past, in many different areas of software. 

Comments

Popular Posts