Learn a new language every year?
|
You probably have not missed the word "polyglot" that has been used lately in the discussion of the various programming language explorations in our industry. This isn't limited to Microsoft, but there, alone, a language revolution is happening as well. But before I wander out into the field of new programming languages, where there is so much to play with, I first needed to let go of my dependency on VB. But this has actually transpired over the past year while working on my book, Programming Entity Framework. I decided before I began the book that all of the code samples would be in VB and C#. VB is my "mother tongue", but I have been adamant since the early days of .NET to try to code to the CLI, not specifically to VB. For example, I've made a habit of not leaning on the VisualBasic namespace and of doing little things like using Int32 rather than Integer. While writing the code samples for the book, however, I did use VB specific syntax for the VB examples (e.g., I did use Integer, I did use With...End With, etc.) At the same time, however, I have written more C# code in this book than I have written since .NET came out. Granted I had a lot of help from Instant C#, but this was more for speed than capability. And no code converter is perfect. With code that I created using Instant C#, the pattern was to 1) convert, 2) debug with the help of the compiler and 3) tune it up. Now when I code , whether for myself or in sessions, I use VB and C# equally. Yes, I can finally and confidentally code in public in C# even though I still have to bring plenty of humility along. I generally depend on the compiler to remind me about the double equal signes (==). And it's been fun! I began to consider why it's fun for me. Is it because, as many claim, C# is a "superior" language to VB? Hardly! The fun was the same fun as I have with any new toy - it's new; it's different; it challenges me. Last week at DevTeach, there was a session called Fringe Languages and their value to 9-5'ers by Amanda Laucher who is currently co-authoring a book on F# with Ted Neward. I loved the abstract for her session:
"Warping my mind". I love that. Although I plan to really dig into domain driven development for my next mind warp, I'm starting to think that maybe it's time for me to start playing with new languages as well. Unfortunately, I wasn't able to attend Amanda's session, but I imagine that the mind warp of learning new languages will get me to focus on the task of programming as opposed to the language itself, which is just a means to the end. |

