Saturday, November 10, 2012

Thoughts on polyglot programming and learning.

The world of computer programming is such a vast and exciting realm with everything from 3d graphics, massive parallel systems, to the tiny embedded systems that make our modern world function. It is thus easy to see the complexity and difficulty in learning all of these different fields in addition to whatever it is we do for work. It feels like such a shame that there is so much to learn about and so little time to learn it all. However I think that is a place where becoming a proficient polyglot programmer can really make a difference.

I have been working a lot with Processing lately to learn about the Kinect. It strikes me how wonderful this language is for learning any graphics related programming. It is important in my view that when learning something it is important to both make rapid progress as well as not be lost in details that are only incidentally related. While I could be doing the same thing in C++ or Java, I think it would slow me down from learning the concepts that are critical to the 3d rendering as well as the Kinect itself. The universal concepts behind what I am doing will be easier to see, and thus I can translate them later to these other platforms.

In this sense I feel that polyglot not only should encompass the use of various languages to tackle problems, but also to extend our ability to rapidly assimilate information. The tools exist to help us both produce better code as well as learn more. We should remember that these languages are creative tools, and sometimes we are best off with the simple tools so we can get closer to what we are actually trying to do.

No comments:

Post a Comment