Friday, June 27, 2014

Finding "the programming language of your soul"

Most of you who've read this blog for any length of time know that I'm not a well-rounded programmer. I don't jump from one 'latest hot language' to the next and I'm definitely not up to speed on a lot of the languages that people are so excited about today. That's because I made a decision long ago to invest my time in only learning languages that I thought would be beneficial to my career in the long term. For the most part, that's meant Java, C++, C#, Python, and Xojo. I "know" other languages and can get around in them and I can learn other languages quickly, but those five are pretty much my bread and butter and I've made the most investment in mastering them.

Out of the handful of languages I've taken the time to learn well, there are two that have delighted and surprised me so much that I've labeled them 'the languages of my soul' (hat tip to Scott Hanselman for the awesome new term). Those languages are C# and Xojo.

For completely different reasons, each of these languages have captured my attention and made me feel at home when I'm working on them. And while their approach to most tasks are radically different, I never feel like I have to struggle against the compiler or the language (I'm looking at you C++) to get work done quickly.  Don't get me wrong, both of these languages have also caused enormous frustration in my life, but it seems like every time I have real work to do, I find myself reaching out to one of them.

You might ask yourself, what's so special about these two languages in particular and why should I consider them? There are a number of things I love about each; most importantly their approach to development. C# gives me the near raw power of C++ without all the nasty headaches, gotcha's, pointers, and garbage collection worries, while Xojo just makes the old Visual Basic developer in me happy making even the most complex tasks just a few lines of code away.

But you shouldn't consider any of that. Each of us will come to the languages of our soul in different ways. I know some people who feel a near spiritual connection with Java or Python, or Lisp. I don't understand it, but I have to respect that those are the languages they've bonded with. It's what works for them. So don't take my word and simply choose C# or Xojo as your primary languages (though both would make really good choices), go out and experiment and find the language you connect the most with. Maybe that's C# and Xojo, maybe it's not. But whatever it ends up being, you will never want to work in any language again.

That's how you know your soul has found a home.

1 comment:

Alyssa said...

Thanks for sharing, CajunTechie! I enjoy the idea of a programming language of the soul, there are so many languages to choose from and they can speak to us in different ways.